Classpath hit 98% of 1.4 today, and I think we'll see another big bump tomorrow since the XMLEncoder patch went in today. I think we're in the 90s against 1.5, though it is hard to say since there hasn't been a branch merge in quite a while. Of course, japi isn't the final word on how we're doing, which is why Mark is going to talk about this at FOSDEM.
The coming year looks as though it will be a very good one for gcj and Classpath. I think we'll finish 1.5.
Netx HackingI've been doing a little hacking on netx lately. netx is a java web start implementation; this is a way of bundling a java application so that you can click on a link in the browser and have the application automatically download and execute. I set out to make netx a bit friendlier for Linux use.
My first goal is to make it integrate more nicely with the panel and the desktop. My idea was to make it so the user can drag a JNLP link from Mozilla to the panel, and netx would invisibly download the application, install it, and make a .desktop file for future launches. The reason to download immediately is that this lets you disconnect your laptop from the network and still have the application work.
I've got a patch to let netx download the application and make a desktop file. This works great. I'm not sure how to do the next step, namely integrate with Mozilla and the panel; something to research.
My test app, by the way, is iRATE radio, which is pretty cool and worth a look. Thanks to Anthony for pointing it out to me.
The next idea I had was to make netx a bit friendlier if the network isn't up -- instead of trying to update an application and timing out, it should use DBus to discover whether the network is up, and, if not, skip the check. I looked at the Java DBus bindings and I don't see any big problem here, except that I'm still running DBus 0.50 and the bindings want 0.60.
My final thought for netx was to have it gcj-compile jar files as it downloads them. This isn't super-friendly though... what I would really prefer to see here is a push forward on gcc+llvm, so we could have both AOT and JIT compilation for gcj. More on this later.