Как заставить Maven использовать git -описать суффикс для версии моментального снимка во время установки - PullRequest
0 голосов
/ 20 марта 2020

У меня есть сторонний Java проект, который использует Maven для сборки.

Проект указал 1.0-SNAPSHOT как версию в pom.xml файле.

...  
<version>1.0-SNAPSHOT</version>
...

I хотелось бы построить проект на частном сервере сборки и установить получившийся jar в частный репозиторий maven.

В настоящее время, когда проект устанавливается или развертывается с помощью mvn install или mvn deploy, полученный артефакт имеет суффикс с отметкой времени, например это artifact-name-1.0-20200320.102713-1.jar. Такая версия довольно неинформативна.

Я бы хотел, чтобы суффикс версии включал git describe вместо метки времени.

Есть ли способ настроить суффикс для включения дополнительной информации, например git зафиксировать идентификатор?

1 Ответ

1 голос
/ 20 марта 2020

Ситуация немного отличается от того, что вы, вероятно, думаете.

У Maven есть только один встроенный механизм, который не обрабатывает номер версии "дословно", и этот механизм - SNAPSHOT. SNAPSHOT версии хранятся в Nexus / Artifactory как версии с метками времени и нумерацией, так что Nexus / Artifactory всегда может предоставить вам последнюю версию, когда вы запрашиваете SNAPSHOT. Нет никакого способа изменить этот механизм.

С другой стороны, вы можете создавать версии без снимков, которые зависят от свойств.

Вы можете, например, определить версию 1.0.0-${revision} и установить свойство revision через командную строку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...