私有化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模板

目录
相关文章
|
6月前
|
Kubernetes 持续交付 Python
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。
Kubernetes(通常简称为K8s)是一个开源的容器编排系统,用于自动化部署、扩展和管理容器化应用程序。
|
7月前
|
安全 持续交付 Docker
精通 Docker:简化开发、部署与安全保障
精通 Docker:简化开发、部署与安全保障
|
Cloud Native jenkins 测试技术
Jenkins自动化:简化部署流程
Jenkins自动化:简化部署流程
124 0
|
8月前
|
Kubernetes 监控 Docker
容器化程序如何部署
容器化程序如何部署
194 0
|
存储 运维 安全
Jenkins系统+独立部署系统
Jenkins系统+独立部署系统
143 0
|
弹性计算 Linux Windows
轻松复用你搭建好的环境和应用——镜像管理
轻松复用你搭建好的环境和应用——镜像管理自制脑图, 介绍了镜像的作用,如何创建镜像,复制、共享与导入镜像,使用云市场镜像。
146 0
轻松复用你搭建好的环境和应用——镜像管理
|
NoSQL 关系型数据库 MySQL
使用 Rainbond 搭建本地开发环境
在开发之前,你需要在本地安装各种开发工具和服务,比如:Mysql、Redis、Nacos 等等,我们都知道在个人电脑上安装这些服务相当的繁琐,可能会遇到很多问题,环境问题、依赖问题等等。
|
弹性计算 Linux 数据安全/隐私保护
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
快速学习 轻松复用你搭建好的环境和应用——镜像管理
192 0
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
|
Kubernetes Cloud Native 搜索推荐
Rainbond 中用 Dockerfile 便捷构建运行应用
Rainbond平台支持直接通过Dockerfile构建并运行镜像,操作流程简单,方便进行持续迭代。持续构建,持续部署,轻松串通DevOps流程。
2657 0
|
运维 Kubernetes 安全
生产环境 VS 开发环境,关于Kubernetes的四大认识误区
最近我们澄清了一些大家在进行Kubernetes实验的时候所见到的常见的误解。其中最大的一个误解就是:在生产环境中运行Kubernetes和开发测试环境并无两样。 答案:是不一样的。 Avi Network公司的联合创始人兼首席技术官Ranga Rajagopalan认为:“对于Kubernetes,容器和微服务来说,实验环境和生产环境有巨大的不同。
9421 0