Summary

This recipe describes how to add SVN revision to a JAR manifest.

Prerequisite Plugins

Here is the list of the plugins used:

Plugin Version
jar 2.2
buildnumber 1.0-beta-1

Sample Generated Manifest

Manifest-Version: 1.0
Archiver-Version: Plexus Archiver
Created-By: Apache Maven
Built-By: vsiveton
Build-Jdk: 1.5.0_12
SCM-Revision: 613393

Recipe

Configuring Mojo Buildnumber Plugin

We configure this plugin as suggested in the Mojo Buildnumber Plugin usage page.

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

Configuring Maven Jar Plugin

The last configuration is to customize the default Manifest with a new entry for the SCM revision.

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
    <archive>
      <manifestEntries>
        <SCM-Revision>${buildNumber}</SCM-Revision>
      </manifestEntries>
    </archive>
  </configuration>
</plugin>

Running Maven

Just call Maven to generate the package:

mvn package

Note: You need to have committed your project into SVN.

Other Tips

You could tweak the Jar Plugin configuration into the War Plugin.

Back to top

Reflow Maven skin by Andrius Velykis.