私有化Pod模块化脚本搭建

简介: 定制用于快速创造Cocoapod子仓库的模版脚本

使用自定义脚本方法

$ pod lib create yourPodName --template-url=https://github.com/xx/PodTemplate.git

构建自己的脚本

参考官方的pod-template

$ git clone https://github.com/CocoaPods/pod-template.git

脚本主要流程

  1. 模版主入口:configure。
  2. 执行TemplateConfigurator.rb。

  3. 询问创建iOS/macOS,以及oc/swift,对应ConfigurationiOS.rb/ConfigureMacOSSwift.rb/ConfigureSwift.rb。

  4. replace_variables_in_files,为Pod模版注入参数(作者,事件,Pod名)。

  5. clean_template_files,清理模版不需要的文件 。
  6. rename_template_files,重命名模版文件。
  7. add_pods_to_podfile,将当前Pod添加Example的podfile中。
  8. customise_prefix,设置类名默认前缀。
  9. rename_classes_folder,Pod文件夹重命名。
  10. ensure_carthage_compatibility,适配carthage用法。
  11. reinitialize_git_repo,重制当前文件夹的git仓库信息。
  12. run_pod_install,为Example执行pod install。
  13. @message_bank.farewell_message,提示完成信息

ConfigurationiOS.rb

  1. 询问是否创建Example工程。注释掉直接keep_demo = :yes,即可默认创建Example工程 。
  2. 询问是否使用单元测试框架,framework = :none,根据需求直接不使用即可。
  3. 询问类前缀,此处保留,依各业务模块需求命名类前缀。

ProjectManipulator.rb

  1. 执行指定格式文本替换。
@string_replacements = {
   
        "PROJECT_OWNER" => @configurator.user_name,
        "TODAYS_DATE" => @configurator.date,
        "TODAYS_YEAR" => @configurator.year,
        "PROJECT" => @configurator.pod_name,
        "CPD" => @prefix
      }
  1. 调用主要装配工程的脚本。
def add_podspec_metadata
      project_metadata_item = @project.root_object.main_group.children.select {
    |group| group.name == "Podspec Metadata" }.first
      project_metadata_item.new_file "../" + @configurator.pod_name  + ".podspec"
      project_metadata_item.new_file "../README.md"
      project_metadata_item.new_file "../LICENSE"
    end
  1. Example工程处理,如果选择不创建工程,则会移除工程文件。
  2. 文件/文件夹重命名。

参考

基于官方pod模板制作适合于自己的pod模板

目录
相关文章
|
3月前
|
消息中间件 前端开发 安全
简化部署流程:Rainbond让Jeepay支付系统部署更轻松
简化部署流程:Rainbond让Jeepay支付系统部署更轻松
|
7月前
|
Kubernetes 安全 测试技术
多环境镜像晋级/复用最佳实践
本文介绍了在应用研发场景中,如何通过阿里云服务实现镜像构建部署的高效和安全。主要关注两个实践方法来确保“所发即所测”。
45961 9
|
8月前
|
Kubernetes 监控 Docker
容器化程序如何部署
容器化程序如何部署
208 0
|
SQL 前端开发 应用服务中间件
虚拟机构建部署单体项目及前后端分离项目
虚拟机构建部署单体项目及前后端分离项目
124 0
|
弹性计算 Linux Windows
轻松复用你搭建好的环境和应用——镜像管理
轻松复用你搭建好的环境和应用——镜像管理自制脑图, 介绍了镜像的作用,如何创建镜像,复制、共享与导入镜像,使用云市场镜像。
150 0
轻松复用你搭建好的环境和应用——镜像管理
|
NoSQL 关系型数据库 MySQL
使用 Rainbond 搭建本地开发环境
在开发之前,你需要在本地安装各种开发工具和服务,比如:Mysql、Redis、Nacos 等等,我们都知道在个人电脑上安装这些服务相当的繁琐,可能会遇到很多问题,环境问题、依赖问题等等。
|
前端开发 Java 关系型数据库
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
188 0
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
|
弹性计算 Linux 数据安全/隐私保护
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
快速学习 轻松复用你搭建好的环境和应用——镜像管理
195 0
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
|
弹性计算 Linux 开发者
轻松复用你搭建好的环境和应用--镜像管理| 学习笔记
快速学习轻松复用你搭建好的环境和应用--镜像管理
139 0
轻松复用你搭建好的环境和应用--镜像管理| 学习笔记
|
运维 Kubernetes 安全
生产环境 VS 开发环境,关于Kubernetes的四大认识误区
最近我们澄清了一些大家在进行Kubernetes实验的时候所见到的常见的误解。其中最大的一个误解就是:在生产环境中运行Kubernetes和开发测试环境并无两样。 答案:是不一样的。 Avi Network公司的联合创始人兼首席技术官Ranga Rajagopalan认为:“对于Kubernetes,容器和微服务来说,实验环境和生产环境有巨大的不同。
9426 0