Gradle-自动更新依赖项版本

Gradle-自动更新依赖项版本,gradle,build.gradle,Gradle,Build.gradle,我有Jenkins CI管道,它发布应用程序。这个过程的工作方式是,用户触发应用程序的发布作业。此作业通过gradle dependencies命令检查所有项目依赖项。对于所有依赖项,快照发布作业都会自动触发。 发布作业只需升级lib/application版本并在artifactory中部署它 如何在gradle中将快照依赖项版本自动升级到发布版本 我的build.gradle文件如下所示: Properties versions = new Properties() versions.loa

我有Jenkins CI管道,它发布应用程序。这个过程的工作方式是,用户触发应用程序的发布作业。此作业通过gradle dependencies命令检查所有项目依赖项。对于所有依赖项,快照发布作业都会自动触发。 发布作业只需升级lib/application版本并在artifactory中部署它

如何在gradle中将快照依赖项版本自动升级到发布版本

我的build.gradle文件如下所示:

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中也有同样的要求,但是我找不到任何像你提到的那样自动更新版本的插件。我找到的唯一一个插件只提供了最新插件的报告()。