我正在Bamboo中使用gradle-release-plugin,并带有useAutomaticVersion = true选项,以添加git标签,然后自动递增版本号。 gradle-release-plugin的默认行为是增加补丁程序版本(2.0.3-> 2.0.4)。我正在尝试实现以下用例:
我想知道gradle-release-plugin是否可以提供这样的功能?
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}")
}
}
]
}
没有测试代码,但这就是我要去的方式。