Инструмент командной строки для анализа XML и запуска XPath для CI/CD
Для проектов Maven, работающих на CD, нам часто нужно ссылаться на текущую версию проекта (я думаю, что это довольно универсальная проблема для всех, кто делает сборки Java)
Например, может потребоваться найти шаблон артефакта на основе версии или скопировать артефакт в корзину S3, названную в честь текущей версии, объявленной в POM.
Тем не менее, мне было невероятно трудно получить данные из POM. Лучшее, что я мог найти, было:
mvn org.apache.maven.plugins:maven-help-plugin:2.1.1:evaluate -Dexpression=project.version | grep -Ev '(^\[|Download)' > target/version.txt
что кажется хакерским...
есть ли утилита командной строки linux, доступная через менеджер пакетов, который может просто проанализировать файл XML и запустить XPath? Если такой вещи не существует, я мог бы рассмотреть возможность создания
Я спрашиваю, потому что я удивлен, как часто эта функция нужна в сборках и как мало я смог найти с точки зрения популярного решения
1 ответ
Сначала вы должны сконфигурировать использование maven-help-plugin версии 3.1.0, а затем получить такую версию:
RESULT=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
echo $RESULT
Или вы также можете пойти явным путем:
RESULT=$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)
echo $RESULT
Более подробную информацию можно найти в моем блоге.