Skip to content

axe-org/fastlane

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 

Repository files navigation

axe-fastlane

Axe auto tools using fastlane

使用fastlane 提供几个便捷的命令以处理组件化接入时的一些问题。在用户开发的模块或者APP中, 通过以下指令进行引入,以实时更新。

import_from_git(url: 'https://github.com/axe-org/fastlane')

指令列表

axe_pod_install

安装依赖。 对于moduleapp类型,拥有业务组件依赖,所以必须通过该命令安装依赖。 其依赖配置在Podfile.rb 文件中,本地不放 Podfile文件,Podfile文件在pod install时自动生成。 所以模块和app的依赖都写在Podfile.rb 文件中。

而对于ground类型, 其没有业务组件依赖,所以还是使用Podfile结构。 两种处理方式是可以接受的,因为开发基础组件的和 开发业务组件的, 是有一定隔离的。

拥有两个参数:

  • production : 标记使用prd版本还是beta版本的依赖,默认为 false
  • source : 标记是否使用源码引入,默认为 false。

手动安装时,可以快速执行命令:

fastlane axe_pod_install production:true source:true

axe_module_build

构建模块,进行模块构建。 需要先安装Cocoapods依赖。

对于模块,其版本发布也由axe来处理, 使用 xxxx.podspec.rb文件,而不是xxx.podspec,。 在发布的时候,根据设定生成相应的podspec文件以发布。

该部分两个有意思的地方在于:

  • 头文件处理 : 对于被合并到ground组件中的 更底层的基础组件,我们将其他头文件正确处理,以使开发者可以正常引用底层的基础组件。
  • 依赖绘制 : 分析依赖,放在.axe/dependency.dot中,并使用 graphviz绘制成图。下图示例 :

参数:

  • publish : 默认为false,避免本地自动测试提交。
  • production : 表示发布的版本,需要设定publish。 默认为false, 表示beta版本,会自动增加版本号,注意生产版本只能发布一次。

手动安装时,可以快速执行命令,以设定参数:

fastlane axe_module_build production:true publish:true

axe_import_module

接入axe的APP,通过该指令来管理 其他组件的接入。

参数:

  • import : 引入的模块列表,为json字符串格式,如 {"login":"0.0.1"} , key为模块名,value为模块版本。
  • remove : 删除的模块列表, 为json字符串格式,如 ["login"] ,表示删除Login模块。

axe_init_module

脚手架支持, 以创建一个标准的模块仓库。

暂未完成

参数:

TODO

  • 优化APP的依赖分析, 可以考虑绘制成结构图,而不是依赖图
  • 优化绘制图形,添加颜色。
  • 自动化测试 : 所有组件都拥有自动化测试的要求,并进行真机测试后,才能进行发布。 基础组件编写单元测试用例, 而业务组件编写的UI测试,还要接入截图功能,以供分析,确保测试效果。 自动化测试是极其重要的部分, 可以借助fastlane的截图工具,做到自动测试业务,截图分析。 自动化测试视为平台化最重要的成果, 第二个版本时,主要开发自动化测试部分。
  • js支持, 自动将 ios的头文件转换成 js格式, 也能自动将 js的头文件转换为iOS的形式,同时自动发布到npm或者Cocoapods上, 以提高跨容器的协作开发能力。

About

Axe auto tools using fastlane

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages