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

目录
相关文章
|
4月前
|
传感器 Java 关系型数据库
「深入揭秘」 Micronaut配置与环境管理的隐藏技巧:如何无缝切换部署场景?
【9月更文挑战第9天】Micronaut是一款轻量级、高性能的Java/Grails框架,支持灵活的配置管理和环境感知。通过`application.yml`或`application.properties`文件,开发者可以轻松定义不同环境下的配置,如开发环境使用H2内存数据库,生产环境则连接远程MySQL数据库。Micronaut还支持通过环境变量或命令行参数覆盖配置值,增强应用灵活性和安全性。利用`@Environment`等注解,开发者能实现基于环境条件的依赖注入,使应用能够根据不同部署场景做出相应调整。这套完善的配置管理机制简化了应用维护,提高了安全性和可扩展性。
105 7
|
5月前
|
边缘计算 运维 Kubernetes
在K8S中,常见部署K8S方式有哪些?
在K8S中,常见部署K8S方式有哪些?
|
弹性计算 Linux Windows
轻松复用你搭建好的环境和应用——镜像管理
轻松复用你搭建好的环境和应用——镜像管理自制脑图, 介绍了镜像的作用,如何创建镜像,复制、共享与导入镜像,使用云市场镜像。
150 0
轻松复用你搭建好的环境和应用——镜像管理
|
NoSQL 关系型数据库 MySQL
使用 Rainbond 搭建本地开发环境
在开发之前,你需要在本地安装各种开发工具和服务,比如:Mysql、Redis、Nacos 等等,我们都知道在个人电脑上安装这些服务相当的繁琐,可能会遇到很多问题,环境问题、依赖问题等等。
|
前端开发 Java 关系型数据库
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
188 0
【Docker】基于实例项目的集群部署(二)部署项目实例介绍与搭建 | 前后端分离项目
|
数据采集 运维 Kubernetes
如何基于 OpenKruise 打破原生 Kubernetes 中的容器运行时操作局限?
本文分享了 OpenKruise 中一些功能的用法,以及它如何与 Kubelet 和 CRI 合作。如何基于 OpenKruise 打破原生 Kubernetes 中的容器运行时操作局限。
如何基于 OpenKruise 打破原生 Kubernetes 中的容器运行时操作局限?
|
弹性计算 Linux 数据安全/隐私保护
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
快速学习 轻松复用你搭建好的环境和应用——镜像管理
195 0
轻松复用你搭建好的环境和应用——镜像管理|学习笔记
|
Kubernetes 安全 容器
KubeVela v1.3 多集群初体验,轻松管理应用分发和差异化配置
KubeVela v1.3 在之前的多集群功能上进行了迭代,本文将为你揭示,如何使用 KubeVela 进行多集群应用的部署与管理,实现以上的业务需求。
|
Kubernetes Cloud Native 搜索推荐
Rainbond 中用 Dockerfile 便捷构建运行应用
Rainbond平台支持直接通过Dockerfile构建并运行镜像,操作流程简单,方便进行持续迭代。持续构建,持续部署,轻松串通DevOps流程。
2664 0
|
运维 Kubernetes 安全
生产环境 VS 开发环境,关于Kubernetes的四大认识误区
最近我们澄清了一些大家在进行Kubernetes实验的时候所见到的常见的误解。其中最大的一个误解就是:在生产环境中运行Kubernetes和开发测试环境并无两样。 答案:是不一样的。 Avi Network公司的联合创始人兼首席技术官Ranga Rajagopalan认为:“对于Kubernetes,容器和微服务来说,实验环境和生产环境有巨大的不同。
9425 0