Токен для имени пакета Maven - PullRequest
1 голос
/ 06 октября 2009

Я использую maven / hudson для создания своего проекта. Одной из целей hudson является пакет mvn, поэтому у меня есть полный дистрибутив для каждой сборки. Есть ли способ (возможно, аргумент для пакета?), Что я могу добавить номер сборки к имени создаваемого архива?

спасибо,

Jeff

Ответы [ 2 ]

2 голосов
/ 06 октября 2009

Попробуйте следующее. Он должен активироваться только в том случае, если установлено свойство BUILD_NUMBER, поэтому вы все равно будете генерировать сборки с правильными именами, если не используете hudson.

<profiles>
    <profile>
        <id>hudson-build</id>
        <activation>
            <property>
                <name>BUILD_NUMBER</name>
            </property>
        </activation>
        <build>
            <finalName>${artifactId}-${version}-${BUILD_NUMBER}</finalName>
        </build>
    </profile>
</profiles>

Я бы посоветовал поместить это в базовый файл pom.xml, который затем можно будет ссылаться как родительский для других ваших конфигураций pom.xml.

Список других свойств, которые Хадсон передает в сборки maven, см. http://weblogs.java.net/blog/johnsmart/archive/2008/03/using_hudson_en.html.

1 голос
/ 06 октября 2009

Вы можете передать произвольное свойство в сборку Maven, используя -D[key]=[value], например, -DbuildNumber=1234, а затем настроить версию в вашем pom как `1.0.0 - $ {buildNumber}. Этот подход противоречит общему принципу Maven. Вам лучше использовать обработку SNAPSHOT Maven. SNAPSHOT - это ключевое слово Maven для обновления зависимости каждый раз.

Вы также можете использовать buildnumber-maven-plugin для автоматического добавления числа к версии сборки каждый раз. См. ответ для некоторых деталей. Плагин buildnumber может быть настроен на создание ревизии на основе ревизии SCM, временной метки или последовательности.

...