We are using clirr(http://clirr.sourceforge.net) in our project but it looks very outdated. I've tried to search for any alternatives, but they are in the same position:
So, I'm looking for community help: how are you solving a problem of checking source and binary compatibility?
You can also try japicmp, it's a neat project I found recently while trying to perform the same task.
Its usage is pretty simple and it comes down to passing it two versions of your library packaged as JARs... for example:
java -jar japicmp-0.0.2.jar -n my-jar-new.jar -o my-jar-old.jar
It also has an API that allows you to use it programmatically.
The project's Github page has a straightforward guide on how to get started.
Also, this SO answer suggests jarc as an alternative
Tools to check compatibility of Java APIs:
Tools to check compatibility of OSGi bundles:
Tools to visualize changes in JARs:
See also "Evolving Java-based APIs 2: Achieving API Binary Compatibility" paper for detailed info about possible binary and source compatibility issues in Java APIs.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With