gradle release插件自动版本模式

时间:2015-11-24 13:41:49

标签: regex jenkins gradle gradle-release-plugin

我正在使用gradle-release-plugin与jenkins,我想使用

gradle release -Prelease.useAutomaticVersion=true

自动增加版本。

但这会自动移动"。补丁"号码(假设major.minor.patch版本)并且我试图移动" .minor"号。

例如,如果发布1.3.17,那么newVersion 1.4.0-SNAPSHOT

我会在不使用的情况下更改此自动替换 release.releaseVersionrelease.newVersion

可以使用插件配置versionPatterns完成吗?

也许使用这种模式/[.]*\.(\d+)\.(\d+)[.]*/

1 个答案:

答案 0 :(得分:4)

自动回答...

经过一些研究和测试后,我可以使用参数minor

移动major.minor.patch版本号(假设release.useAutomaticVersion=true版本)

只需要使用此闭包配置versionPatterns插件参数:

versionPatterns = [
        // Increments minor number: "2.5.17-SNAPSHOT" => "2.6.0-SNAPSHOT"
        /[.]*\.(\d+)\.(\d+)[.]*/: { Matcher m, Project p -> m.replaceAll(".${(m[0][1] as int) + 1}.0") }
    ]

实际上它不是build.gradle中唯一需要的更改,这个闭包代码依赖于先前添加此导入:

import java.util.regex.Matcher