Java API compatibility testing tools

To Do

Here's an approximate list of the features I'd like to add to Japitools before making a 1.0 release:
  • Annotation support. This is the last thing missing for the full set of 1.5 language features. It's also hard!
  • Better escaping to handle APIs that include international characters in member names or constant strings.
  • The ability to say "japize @filename" and have it read its arguments from a file. In combination with japiextractpkgs this should make the process of Japizing a javadoc'd API more convenient and easier to document.
  • Perhaps a way to indicate that a class file failed to Japize correctly due to being corrupt, rather than just leaving such classes out entirely.
  • Determine if there are ways that generic parameters can legally change without breaking compatibility. For example, is it legal to go from foo(Collection<T>) to foo(Collection<? extends T>)?