[ 
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

        

Reply via email to