【发布时间】:2016-07-12 20:34:51
【问题描述】:
我正在尝试自动化我正在使用的 CI 的构建过程。我可以调用curl 并为其分配一些变量,例如版本代码和名称。然后 CI(在我的例子中是 Bitrise CI)捕获它并开始发布构建。
但是,在此之前,我想根据curl 传递的内容设置版本代码和版本名称到build.gradle 文件中,然后开始构建过程。
所以,我想我可以编写一个插件/任务,从命令行获取版本代码/名称,然后将其注入build.gradle 文件。类似./gradlew setVersion 1 1.0 的命令。
第三,通过从我将编写的脚本运行此命令,我将能够运行此 gradle 任务,并且全球任何地方的每个人都可以通过curl 创建发布版本。很有趣:)
我能够编写类似于以下代码的任务并将其放入我的主 build.gradle 文件中。
task setVersion << {
println versionCode
println versionName
}
并通过命令行传递一些参数:
./gradlew -PversionCode=483 -PversionName=v4.0.3 setVersion
这是我的输出:
:setVersion
483
v4.0.3
BUILD SUCCESSFUL
Total time: 6.346 secs
到目前为止一切顺利。我的问题是如何在build.gradle文件中设置?
【问题讨论】:
-
当我评论@brwngrldev 的回答时,我写了一篇关于如何自动化 Android 构建系统的帖子。如果您有兴趣,请查看这篇文章。 medium.com/@hesam.kamalan/…
标签: android curl android-gradle-plugin build.gradle bitrise