[
http://jira.codehaus.org/browse/MNG-4105?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=173688#action_173688
]
Don Laidlaw commented on MNG-4105:
----------------------------------
This turns out to be extremely easy to do with a plugin. I wrote a simple
plugin to take the project version and set project properties for all the
version parts. I also added an OSGi compatible property. The plugin and source
will be attached shortly. Meanwhile, I used it like this...
{code} <plugin>
<groupId>com.infor.maven</groupId>
<artifactId>com.infor.maven.plugin.version</artifactId>
<version>1.0.0-SNAPSHOT</version>
<executions>
<execution>
<id>osgi-version</id>
<phase>verify</phase>
<goals>
<goal>version</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.1-SNAPSHOT</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>${source.plugin.phase}</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
<configuration>
<archive>
<manifestEntries>
<Bundle-ManifestVersion>2</Bundle-ManifestVersion>
<Bundle-Name>${name}</Bundle-Name>
<Bundle-SymbolicName>${artifactId}</Bundle-SymbolicName>
<Bundle-Vendor>${organization.name}</Bundle-Vendor>
<Bundle-Version>${versionUtil.osgi}</Bundle-Version>
<Eclipse-SourceBundle>${artifactId};version="${versionUtil.osgi}";roots:="."</Eclipse-SourceBundle>
</manifestEntries>
</archive>
</configuration>
</plugin>
{code}
The versionUtil.osgi property referenced in the manifest is created by the
first plugin. Other properties are:
* versionUtil.major
* versionUtil.minor
* versionUtil.incremental
* versionUtil.build
* versionUtil.qualifier
You can change the name of the properties by adding configuration to the plugin.
> Allow access to components of a parsed version through properties.
> ------------------------------------------------------------------
>
> Key: MNG-4105
> URL: http://jira.codehaus.org/browse/MNG-4105
> Project: Maven 2
> Issue Type: New Feature
> Reporter: Paul Gier
> Fix For: 2.2.0-M1
>
>
> There are some cases where I would like more fine grained access to the
> project version number. It would be convenient if I could access individual
> parts of a version string using properties. For example, a project with
> version "2.0.1-beta-1" I would like to be able to use the following
> properties or something similar:
> ${project.version} = 2.0.1-beta-1
> ${project.version.major} = 2
> ${project.version.minor} = 0
> ${project.version.incremental} = 1
> ${project.version.qualifier} = beta
> ${project.version.buildNumber} = 1
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira