Я хочу найти maven-натив (т.е. без вызова внешних программ), чтобы добавить svn-ревизию в военный манифест.
Это возможно с плагином Maven Number Build Number с использованием провайдера svnjava
:
Если вам нужно запустить плагин на
машина без всяких свн в пути
Вы можете настроить mojo для использования
провайдер svnjava.
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>true</doCheck>
<doUpdate>true</doUpdate>
<providerImplementations>
<svn>javasvn</svn>
</providerImplementations>
</configuration>
</plugin>
</plugins>
</build>
Плагин Maven Number Build Number устанавливает номер сборки в свойстве ${buildNumber}
, которое затем можно использовать в POM.
Я нашел упоминание о том, как добавить ревизию subversion к манифестам в файлах jar, но не в файлах war.
Затем, чтобы добавить номер сборки в МАНИФЕСТ войны, настройте плагин, как указано на странице Использование :
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Implementation-Build>${buildNumber}</Implementation-Build>
</manifestEntries>
</archive>
</configuration>
</plugin>
</plugins>
</build>