Explicit management of public API
---------------------------------
Key: JCR-3073
URL: https://issues.apache.org/jira/browse/JCR-3073
Project: Jackrabbit Content Repository
Issue Type: Improvement
Components: jackrabbit-api, jackrabbit-jcr-commons
Reporter: Jukka Zitting
Fix For: 2.3.0
I'd like to start using the Clirr Maven plugin [1] to make sure that we don't
accidentally break backwards compatibility in our public APIs, most notably in
jackrabbit-api and jackrabbit-jcr-commons.
Also, we should start explicitly managing the API versions exposed as a part of
the OSGi package metadata. Currently all our public packages simply get the
latest project version as their version number, but it would be better if the
version was explicitly managed and only updated if the API actually changes. To
do this I propose we use @Version annotations from the bnd tool on the
package-info.java files in all packages considered a part of our public API.
The Clirr plugin should flag all changes made in the API, so we have an easy
way to tell which packages need to have their version numbers updated.
[1] http://mojo.codehaus.org/clirr-maven-plugin/
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira