根据分支自动增加次要版本或补丁版本

问题描述 投票:0回答:1

我正在Bamboo中使用gradle-release-plugin,并带有useAutomaticVersion = true选项,以添加git标签,然后自动递增版本号。 gradle-release-plugin的默认行为是增加补丁程序版本(2.0.3-> 2.0.4)。我正在尝试实现以下用例:

  1. 如果当前分支是主分支,则增加次要版本(2.0.3-> 2.1.0)
  2. 如果当前分支是除master以外的任何其他分支,则增加补丁版本(2.0.3-> 2.0.4)

我想知道gradle-release-plugin是否可以提供这样的功能?

gradle groovy build.gradle gradle-plugin gradle-release-plugin
1个回答
0
投票
String getCurrentBranch(Project p) { OutputStream out = new ByteArrayOutputStream() p.exec { commandLine = ['git', 'rev-parse', '--abbrev-ref', 'HEAD'] workingDir = projectToCheck.rootProject.projectDir standardOutput = out } return out.toString().trim() } release { versionPatterns = [ /(\d+)\.(\d+)\.(\d+)/: { Matcher m, Project p -> if (getCurrentBranch(p) == 'master') { m.replaceAll("${m[0][1]}.${(m[0][2] as int) + 1}.0") } else { m.replaceAll("${m[0][1]}.${m[0][2]}.${(m[0][3] as int) + 1}") } } ] }

没有测试代码,但这就是我要去的方式。

© www.soinside.com 2019 - 2024. All rights reserved.