Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What tools are out there to audit changes to Java interfaces?

Tags:

java

Does anyone know of any tools out there which can summarize changes to Java interfaces between different versions? (By interface I mean the exposed functionality of types in general, not the specific language construct.)

What I would like is some program which takes two versions of the same package or package tree and outputs something like:

  • Constructor (String, int) removed on class Thing
  • Constructor (String) deprecated on class OtherThing
  • Method void setId(String) added on class SomethingElse

or something more sophisticated, the above is just my initial thoughts. A solution could work on bytecode or on source, I don't mind.

like image 732
NellerLess Avatar asked Jan 12 '10 11:01

NellerLess


2 Answers

Clirr is a tool that checks Java libraries for binary and source compatibility with older releases.

Apache Commons use it, it creates reports like this (for Commons Lang).

like image 58
Thilo Avatar answered Sep 23 '22 09:09

Thilo


Take a look at japitools. These tools are used by the GNU Classpath project to compare their APIs for signature compatibility with different versions of the Sun Java class libraries.

like image 39
Stephen C Avatar answered Sep 22 '22 09:09

Stephen C