News

(I'd never heard of "Happy Seven" but Google showed that it's in fact some kind of anime thing while I was hunting for a title for this post)

So here's the progress in the last week or so:

David Gilbert eliminated three more errors in beancontext on Thursday.

Roman Kennke took out the last two from dnd on Friday.

Mario Torre took out some 1.5-only errors in java.text on Saturday.

Andrew John Hughes eliminated another six from beancontext on Sunday.

Roman Kennke killed the last five in font on Monday.

Yesterday, Roman eliminated the last missing html method (for 1.4) which coincidentally required implementing frames. Then for good measure implemented form submission too to complete html for 1.5 while he was at it.

The upshot of all this is that we're now at 7/7/30+2 missing methods versus 1.2, 1.3, 1.4. Classpath 0.93 will be released real soon and I'm very curious to see whether those last seven 1.3 errors will be wiped out first. They break down into six in beancontext (Andrew? David?) and one in java.text (Mario?)...

My theory that blogging about Japi progress makes the results improve faster seems to be proving correct. A month ago yesterday I mentioned that the status versus 1.2/1.3/1.4 was 62/63/88ish+2, plus one entire class. A month later, the scores now stand at 24/24/47+2.
That's one class and about 40 methods down. Keep up this rate of progress and we'll be celebrating the new year with 1.4 API perfection!

Credit for the latest batch of gains:

Andrew John Hughes took out six in beancontext.

Roman Kennke nailed eleven in awt.font.

David Gilbert spotted that a couple of beancontext methods were marked as not implemented even though they were actually implemented just fine.

Also Roman's work on HTML continued with this amazing screenshot. Apparently it's still too slow to be really usable, which is good because it means I don't (yet) have to make good on my pledge to redo the HTML to be nice and clean and not use 1x1 spacer gifs. I'm not going to take away such a handy stress-test for the HTML code until it can pass it...

David Gilbert is now vying with Roman for the title of Japi King, having knocked out no less than seven of the beancontext errors. And Roman vaporized one more in Swing to bring the totals now to 43/43/66+2 (that's missing methods (plus two 1.4 constructors) for those of you following along at home, but the results pages don't show the last five of David's fixes yet).

Roman, on the other hand, has achieved the one thing cooler than awesome Japi results: an HTML implementation that can render awesome Japi results!

1) After far too long a wait, Japitools 0.9.7 "Life, liberty and the pursuit of Japiness" has been released.

This release includes the following improvements over 0.9.5:

- Almost complete 1.5 language support, including generics, enums and varargs methods. The only missing feature for full language support (and the only blocker for a 1.0 release) is annotations. Big thanks to Jeroen Frijters for doing the heavy lifting of teaching Japitools to parse these features in .class files.

- The ability to mark methods as not implemented by adding "NotImplementedException" to the throws clause. This allows Japitools to give results that more accurately match reality when parts of an API are known to have been "stubbed out" rather than actually being implemented.

- The ability to traverse packages non-recursively (thanks to a contribution from Jaroslav Tuloch), making it easier to correctly specify the packages that are part of a public API, especially when that API is large. The new japiextractpkgs tool allows the list of packages to be extracted from Javadoc documentation.

- An Ant task for running Japitools, thanks again to Jaroslav.

- Too many bug fixes and minor enhancements to name, including a lot of changes that eliminate false positives and false negatives from the results. Thanks to many people for bug reports, feature suggestions and help in testing.

2) That there is now a Japitools mailing list, japitools-list@nongnu.org. See the mailing lists page for more information.

3) That Japitools has a new homepage, http://sab39.netreach.com/japi/. It's ugly, and it's still a work in progress - some sections are still missing content, and others still have content that hasn't entirely been updated to match the current state of reality. I didn't want to delay any further getting the new release into people's hands. I'll continue working on filling out the content.

I'm running out of song titles, but I think that particular lyric is famous enough to use :)

This post is just for the sole purpose of pointing out that Roman continues to play the role of Japi Error Squasher Extraordinaire, having knocked out another five from the html package, bringing the numbers down to 50/51/74+2.

Some other ways of looking at the numbers:

We're three missing methods away from perfect coverage of 1.4 Swing

We're five methods away from covering all of 1.3 except awt.font and beans.beancontext (two in dnd, two in html and one in java.text)

font and beancontext are also the only packages with double-digits of errors in 1.4

I'm not quite sure how it happened, but Harmony is getting surprisingly good scores on 1.5 these days and beginning to give Classpath a run for its money there (assuming they don't have a lot of stubbed methods - I have no information on whether they do or not). But it's not even close to Classpath on those 1.4 numbers. The competition is heating up - let's hope that it's good for both sides :)