On Jul 2, 2014, at 7:44 AM, Charlie Mordant <[email protected]> wrote:
> I suppose that this plugin aims to fulfil OSGI semantic versioning spec.
> I'm also very interested by this aspect of OSGI is it possible to have some 
> clue on how integrating this plugin, knowing what does it do...
> I can always try to integrate it in a sample project and see how it works, 
> but I'm not against some pointers.

For the most part, just add:

                <plugin>
                    <groupId>org.apache.aries.versioning</groupId>
                    <artifactId>org.apache.aries.versioning.plugin</artifactId>
                    <version>0.3.0</version>
                    <configuration>
                        
<oldArtifact>${project.groupId}:${project.artifactId}:${lastReleaseVersion}</oldArtifact>
                    </configuration>
                </plugin>

to the build section of your pom.   Then add a property:

    <properties>
       <lastReleaseVersion>1.4.0</lastReleaseVersion>
    </properties>

which is the version you want it to compare to (usually the latest release on 
that branch).   When you build, it will then check all the method signatures 
and such to compared to that last release and will fail the build if something 
is wrong.   

The main “complication” is that after a release, you have to go back and update 
all the “lastReleaseVersion” tags.  At some point, I’d like to update the plug 
to automatically attempt that by having Maven resolve the latest version that 
is not greater than the current version.    That’s a bit more complicated.   
I’m also concerned about the reliability of that.  Using the property makes 
100% sure it grabs the version you want it compared to.


-- 
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com

Reply via email to