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.
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).