Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Any alternatives to Clirr (binary and source compatibility with older releases)? [closed]

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:

  • JDiff(http://jdiff.sourceforge.net)
  • Jar Compare(http://extradata.com/products/jarc/)

So, I'm looking for community help: how are you solving a problem of checking source and binary compatibility?

like image 637
trnl Avatar asked Apr 07 '13 14:04

trnl


2 Answers

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

like image 109
toniedzwiedz Avatar answered Sep 27 '22 22:09

toniedzwiedz


Tools to check compatibility of Java APIs:

  • japi-compliance-checker
  • japitools
  • sigtest
    • SigTest, a NetBeans fork of sigtest
  • japi-checker
  • japicmp
  • revapi

Tools to check compatibility of OSGi bundles:

  • bnd-baseline-maven-plugin

Tools to visualize changes in JARs:

  • pkgdiff

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.

like image 27
linuxbuild Avatar answered Sep 27 '22 21:09

linuxbuild