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 Hacking
I’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.