您可以使用 maven-build-helper-plugin
来解析版本,然后使用 maven-version-plugin
设置新版本(请参阅此blog):
clean build-helper:parse-version versions:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion} versions:commit
当命令在Maven作业中作为“maven目标”-prebuild-step执行时,这可以正常工作 .
现在我正在尝试将我的所有Maven作业转换为管道作业 .
withMaven(
// Maven-Installation
maven: "${MavenHelper.MAVEN3D3D9}") {
String command = 'mvn build-helper:parse-version versions:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion} versions:commit -f ' + komponente.getPomPath()
sh(command)
}
这总是给我一个 bad substitution
错误,因为shell脚本试图解析这些变量 . 但在此上下文中,变量在执行期间由 maven-build-helper-plugin
填充 .
DnewVersion = $ . $ . $ :bad substitution
我已经尝试通过 DnewVersion=\${parsedVersion.majorVersion}....
逃脱它们但仍然得到相同的错误 .
任何建议,让它工作,而不是手动增加它,然后再将其传递给版本插件 .
1 回答
以下是有效的: