这是我的build.gradle
group 'whatever'
version '1.0.0-SNAPSHOT'
...
dependencies {
compile 'whatever:2.2.1-SNAPSHOT'
}我想自动化发布过程,包括需要将两个版本都设置为特定值,例如仅使用命令行的1.1.0或2.2.0。任何类型的自动递增都不是一个选项。
对于Maven,我会使用maven-versions-plugin来做这件事
mvn versions:set -DnewVersion=${WHATEVER_NEW_VERSION}我怎样才能用Gradle做同样的事情呢?我只发现了this未回答的问题。一定有什么简单的方法可以做到这一点吧?
发布于 2017-02-15 20:03:22
最后,我将版本号提取到gradle.properties中,并使用sed将其更新为自动构建脚本的一部分:
sed -i -e \"/someVersionNumber=/ s/=.*/=${SOME_NEW_VERSION_NUMBER}/\" gradle.properties这就是我想要的。尽管对于来自Maven背景的我来说,这看起来并不自然。我以后可能会研究另一种选择。
发布于 2017-02-05 09:45:14
虽然与发布无关,但传递命令行属性的一种方法如下:
gradle -PWHATEVER_NEW_VERSION=2.0.0请考虑以下build.gradle代码片段:
def newVersion = project."WHATEVER_NEW_VERSION"
println newVersion有关另一种方法,请参阅this project中的~/utils/gradle/version.gradle。它对主要版本、次要版本和增量版本使用单独的环境变量,然后自动构建字符串。因为它驻留在gradle目录中,所以可以简单地将其导入到隐藏了一些样板文件的build.gradle中。
发布于 2019-06-05 16:57:33
我成功地使用了Axion Release Plugin几次,并且非常满意。从功能上讲,它与Maven最接近
https://stackoverflow.com/questions/42044160
复制相似问题