Получить номер сборки/дату из артефакта при построении с maven

64
6

Я использую maven для создания некоторых проектов, которые устанавливаются в локальный.m2 и удаленный репозиторий artifactory.

У меня есть другой проект, который загружает (maven-dependency-plugin: copy) некоторые из этих артефактов в свою локальную целевую папку, а затем загружает их в файл файл. Когда я загружаю артефакт в fileshare, мне нужно указать ему имя buildNumber, которое не должно меняться, если я повторно запускаю проект. Как получить массив buildnumber для артефакта, например. Artifactory?

Когда я просматриваю артефакты в artifactory, у всех их есть уникальные buildIds.

спросил(а) 2013-01-07T11:38:00+04:00 6 лет, 11 месяцев назад
1
Решение
45

Лучшим solutin может быть использование buildnumber-maven-plugin для получения информации от VCS и т.д. И поместить эту информацию в файл manifest.mf. Вы можете продолжить использование maven-dependency-plugin: скопировать цель, чтобы скопировать артефакты в соответствующую папку. Только в случае, если у вас есть SNAPSHOT, вы можете позже взглянуть на банку.

 <build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
</configuration>
</plugin>
</plugins>
</build>

Вы можете определить, что должно быть помещено в файл MANIFEST.MF следующим образом:

<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>

ответил(а) 2013-01-07T13:22:00+04:00 6 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема