Gradle-自动更新依赖项版本
我有Jenkins CI管道,它发布应用程序。这个过程的工作方式是,用户触发应用程序的发布作业。此作业通过gradle dependencies命令检查所有项目依赖项。对于所有依赖项,快照发布作业都会自动触发。 发布作业只需升级lib/application版本并在artifactory中部署它 如何在gradle中将快照依赖项版本自动升级到发布版本 我的build.gradle文件如下所示:Gradle-自动更新依赖项版本,gradle,build.gradle,Gradle,Build.gradle,我有Jenkins CI管道,它发布应用程序。这个过程的工作方式是,用户触发应用程序的发布作业。此作业通过gradle dependencies命令检查所有项目依赖项。对于所有依赖项,快照发布作业都会自动触发。 发布作业只需升级lib/application版本并在artifactory中部署它 如何在gradle中将快照依赖项版本自动升级到发布版本 我的build.gradle文件如下所示: Properties versions = new Properties() versions.loa
Properties versions = new Properties()
versions.load(new FileInputStream(rootProject.projectDir.path + "/version.properties"))
dependencies {
compile("projectA:${versions.projectAVersion}")
compile("projectB:${versions.projectBVersion}")
}
和version.properties文件
projectAVersion=1.1.0-SNAPSHOT
projectBVersion=1.1.0-SNAPSHOT
事实上,我正在寻找类似maven版本插件的东西
- 是否可以自动升级build.gradle中的版本号?怎么做
- 更难的版本-当版本位于外部version.properties文件中时,是否可以升级版本号
事实上,我只需要Gradle中的Maven版本插件(版本:use Release和版本:use next Release)功能。我不太清楚你的问题。我的理解是,您需要在每次构建之后动态更新版本值 您可以做的是,获取属性值。删除-快照。在每次构建后使用增量更新1.1.0。如1.1.1、1.1.2等 这可以通过以下方式完成:
task testing {
Properties props = new Properties()
//getting and loading the property file
//Give proper path to file
File propsFile = new File('version.properties')
props.load(propsFile.newDataInputStream())
//Now strip of -SNAPSHOT and get the last digit and increment it by 1
Integer rand = props.getProperty('lastDigit').toInteger()+1
String variable=rand.toString()
//Append -SNAPSHOT with 'variable and set the property
props.setProperty('version',variable)
props.store(propsFile.newWriter(), null)
}
如果我对您问题的理解是正确的,这将起作用。什么是“自动升级版本号”?只需去除
-快照,或查找最新发布的版本并使用它,或?当version.properties
发生更改时,您想以某种方式触发生成吗?@lbednaszynski,您的意思是类似于这个maven插件()的东西,对吧?。我在Gradle中也有同样的要求,但是我找不到任何像你提到的那样自动更新版本的插件。我找到的唯一一个插件只提供了最新插件的报告()。