GNU Classpath 0.11 developer snapshot
We finally managed to release the GNU Classpath 0.11 developer snapshot. Highlights:
Inclusion of full javax.crypto, javax.security, javax.net and subpackages. Complete implementation of java.awt.geom. GTK+ 2.4 AWT peer implementation for AWT FileDialog, better java.awt.image LookupTable, Kernel and BufferedImage support. AWT 1.0 Event Model implemented. New Swing classes (Spring, SpringLayout, JMenu, JPopupMenu, JColorChooser, JComboBox, JTextField, internal JFrame support and start of JTable and JTree implementations). The Collection classes have seen extensive documentation updates. GNU Classpath Examples have been added – a GPLed demo framework for AWT and Swing.
And that is just the big things.
Progress has been amazing these last two months. 26 people contributed real code and were mentioned in the ChangeLog. Mauve now has 17102 tests of which we pass 16816. GNU Classpath 0.11 is 235,380 SLOC according to SLOCCount, which is (ignoring the external directory since GNU JAXP is now a separate package) almost 30.000 SLOC more than 0.10, or (using the Basic COCOMO model) a bit more than 8 person months of work. Not bad for two months real time. That is 180+ CVS commits in two months, which means on average 3 commits each and every day (including holidays and weekends).
Sadly I have still not recovered completely from a hard disk failure last month. So I only stress tested 0.11 on JamVM (it works out of the box with the 1.1.4 and the new JamVM 1.2.0 release). But it should also work out of the box with kissme (which really could see a new release since CVS is a lot better than the latest release) and jikesrvm. Steven reported success with JikesRVM and Eclipse 3.0 last Friday, which is good news since although it starts up now on GNU Classpath based runtimes it doesn’t actual run very well yet. Tom Tromey also reports about getting Eclipse working with the gcj BC ABI branch from time to time, but it is not clear whether this is 2.1 or 3.0.
(GNU Classpath Hacker Hint: If you already have jamvm installed, it ships with Debian these days, you can easily make it use a GNU Classpath CVS build by giving it -bootclasspath/p /usr/local/classpath/share/classpath/glibj.zip -Djava.library.path=/usr/local/classpath/lib/classpath.)
Work is already on the way to make the 0.12 snapshot release another big improvement.
Casey submitted his jar signature verification code, Jerry Quinn submitted patches to improve java.awt.image ColorModel and Raster, David has added even more Mauve test (just committed about 850 new tests and more are in the queue), rumor has it that Michael has part of the javax.imageio framework done which, Anthony created a free jnlp api and Peter, one of the JAmiga hackers, is working on a free KVM compatible classpath library and Tom seems to happily add more and more of the generics framework.
Go team! Go!