Clirr checks Java libraries for binary and source compatibility with older releases. In a continuous integration process Clirr can automatically prevent accidental introduction of binary or source compatibility problems.
This Sonar plugin measures the number of API break violations between the current sources and the last known stable version of the library in the Maven repository.
- Stop Sonar Web server
- Copy the JAR file into the /extensions/plugins directory
- Restart Sonar Server
- Add at least one Clirr rule to your quality profile (Configuration > Quality Profiles -> select your profile -> filter rules on plugin 'Clirr') :
- API Change adds new feature without breaking anything
- API Change breaks the backward binary compatibility
- API Change might change runtime expected behavior
- Define your project as an API project : browse to the project settings and set the property Clirr -> API to true.
- Analyze your project (execute mvn sonar:sonar)
- Browse to the dashboard and look at "API Changes" widget and page.
- As Clirr does not report line numbers, violations cannot be displayed in the correct location within the source code
- Violations of deleted resources/classes are assigned to the project