Guys,
since Sebb is going to modify the parent pom, I want also have your opinion
about the current values of the Specification-Version in the manifests.
Currently Maven generates uses the current version of the artifact for
"Specification-Version" and "Implementation-Version" i.e. "<Major>.<Minor>-
SNAPSHOT" in case of a snapshot or "<Major.Minor>" for the standard release.
However, in case of a bugfix release, this version is
"<Major>.<Minor>.<Patch>". The ideal situation would be IMHO that we have
the "Specification-Version" always using "<Major>.<Minor>" while the
"Implementation-Version" should stay the exact version that Maven is using.
This can be achieved from the parent pom using the build-helper-maven plugin
and a proper configuration of the "archive" configuration element of e.g.
the jar plugin:
============= %< =============
...
<build>
<pluginManagement>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.5</version>
<extensions>true</extensions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
<manifestEntries>
<Specification-Version>${project.info.majorVersion}.
${project.info.minorVersion}</Specification-Version>
// other useful additional entries e.g.:
<X-Compile-Source>${java.version.source}</X-Compile-Source>
<X-Compile-Target>${java.version.target}</X-Compile-Target>
<X-Builder>Maven ${maven.version}</X-Builder>
<X-BuildTime>${maven.build.timestamp}</X-BuildTime>
</manifestEntries>
</archive>
</configuration>
</plugin>
...
</pluginManagement>
...
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>versions</id>
<phase>generate-resources</phase>
<goals>
<goal>maven-version</goal>
<goal>parse-version</goal>
</goals>
<configuration>
<propertyPrefix>project.info</propertyPrefix>
</configuration>
</execution>
</executions>
</plugin>
...
</plugins>
</build>
============= %< =============
What do you think?
- Jörg
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]