Как получить значение git SHA1 в поле «Реализация-версия» в манифесте проекта Maven?

Мы используем git, maven и logback.

Это означает, что трассировки стека в журнале показывают версию реализации jar-файла, содержащего каждую строку в трассировке стека (см. http://logback.qos.ch/reasonsToSwitch.html#packagingData в качестве примера).

Итак, если мы можем упаковать SHA1 текущей сборки в это поле в манифесте создаваемого артефакта, очень легко найти точный источник из git, который сгенерировал артефакт, содержащий эту отдельную строку в источнике.

Согласно http://maven.apache.org/shared/maven-archiver/examples/manifestEntries.html способ сделать это - иметь ключ value в части maven-jar-plugin pom. В моем случае это будет означать

FooBar

, что приводит к

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.3:jar (default-jar) on project axsFTP: Unable to parse configuration of mojo org.apache.maven.plugins:maven-jar-plugin:2.3:ja
r for parameter manifest: Cannot find setter, adder nor field in org.apache.maven.archiver.ManifestConfiguration for 'implementationVersion' -> [Help 1]

Учитывая, что я могу получить SHA1 из https: // gi thub.com/koraktor/mavanagaiata как мне правильно установить это в файле MANIFEST.MF?

7
задан Thorbjørn Ravn Andersen 14 May 2013 в 06:28
поделиться