首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven-versions-plugin的Gradle等价物

maven-versions-plugin的Gradle等价物
EN

Stack Overflow用户
提问于 2017-02-05 02:45:41
回答 3查看 1.8K关注 0票数 4

这是我的build.gradle

代码语言:javascript
复制
group 'whatever'
version '1.0.0-SNAPSHOT'

...

dependencies {
    compile 'whatever:2.2.1-SNAPSHOT'
}

我想自动化发布过程,包括需要将两个版本都设置为特定值,例如仅使用命令行的1.1.02.2.0。任何类型的自动递增都不是一个选项。

对于Maven,我会使用maven-versions-plugin来做这件事

代码语言:javascript
复制
mvn versions:set -DnewVersion=${WHATEVER_NEW_VERSION}

我怎样才能用Gradle做同样的事情呢?我只发现了this未回答的问题。一定有什么简单的方法可以做到这一点吧?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-02-15 20:03:22

最后,我将版本号提取到gradle.properties中,并使用sed将其更新为自动构建脚本的一部分:

代码语言:javascript
复制
sed -i -e \"/someVersionNumber=/ s/=.*/=${SOME_NEW_VERSION_NUMBER}/\" gradle.properties

这就是我想要的。尽管对于来自Maven背景的我来说,这看起来并不自然。我以后可能会研究另一种选择。

票数 2
EN

Stack Overflow用户

发布于 2017-02-05 09:45:14

虽然与发布无关,但传递命令行属性的一种方法如下:

代码语言:javascript
复制
gradle -PWHATEVER_NEW_VERSION=2.0.0

请考虑以下build.gradle代码片段:

代码语言:javascript
复制
def newVersion = project."WHATEVER_NEW_VERSION"
println newVersion

有关另一种方法,请参阅this project中的~/utils/gradle/version.gradle。它对主要版本、次要版本和增量版本使用单独的环境变量,然后自动构建字符串。因为它驻留在gradle目录中,所以可以简单地将其导入到隐藏了一些样板文件的build.gradle中。

票数 2
EN

Stack Overflow用户

发布于 2019-06-05 16:57:33

我成功地使用了Axion Release Plugin几次,并且非常满意。从功能上讲,它与Maven最接近

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42044160

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档