Reputation: 965
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:
or something more sophisticated, the above is just my initial thoughts. A solution could work on bytecode or on source, I don't mind.
Upvotes: 10
Views: 139
Reputation: 262534
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).
Upvotes: 2
Reputation: 70211
I've used the JDiff doclet in the past for this. Depending what you're doing it can be a pain to setup but I think the Ant task works fairly well.
Upvotes: 0
Reputation: 718926
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.
Upvotes: 1
Reputation: 21241
You could implement your own tool using reflection, especially if you want to examine distinct changes of your code. It also works with bytecode.
Upvotes: 0