Вы можете использовать maven-build-helper-plugin
для анализа версии, а затем использовать maven-version-plugin
для установки новых версий (см. блог ):
clean build-helper:parse-version versions:set -DnewVersion=${parsedVersion.majorVersion}.${parsedVersion.minorVersion}.${parsedVersion.nextIncrementalVersion} versions:commit
Это прекрасно работает, когдакоманда выполняется как шаг цели maven-prebuild в Maven-задании.
Теперь я пытаюсь преобразовать все задания 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
, поскольку скрипт оболочки пытается проанализировать эти переменные.Но в этом контексте переменные заполняются maven-build-helper-plugin
во время выполнения.
DnewVersion = $ {parsedVersion.majorVersion}. $ {ParsedVersion.minorVersion}. $ {ParsedVersion.nextIncrementalVersion}: плохая замена
Я уже пытался избежать их через DnewVersion=\${parsedVersion.majorVersion}....
, но все равно получаю ту же ошибку.
Любой совет, чтобы заставить его работать, не увеличивая его вручную, прежде чем передать его плагину версии.