这是我的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未回答的问题。必须有一些简单的方法吗?
答案 0 :(得分:1)
虽然与发布无关,但传递命令行属性的一种方法如下:
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
,这会隐藏一些样板。
答案 1 :(得分:1)
我最终将版本号提取到gradle.properties
并使用sed将其作为自动构建脚本的一部分进行更新:
sed -i -e \"/someVersionNumber=/ s/=.*/=${SOME_NEW_VERSION_NUMBER}/\" gradle.properties
这就是我想要的。虽然对我来说,来自Maven背景,但这看起来并不自然。我稍后可能会研究另一种选择。
答案 2 :(得分:0)
我成功使用了Axion Release Plugin次,感到非常满意。从功能上讲,它最接近Maven的