Documentation, tests and JFreeChart

GNU Classpath is going very strong. We got a couple of new hackers helping out and some of them concentrate on Documentation and Testing of the whole library. One of them is David Gilbert of JFreeChart fame. He has written hunderds of new Mauve tests. This has not only found a couple of bugs in our library implementation, but it also makes us sleep a little better. It is comforting to know that if we make mistakes in the future there will be ten thousand mauve tests waiting to point out any new regressions.

Since I know David would like to see JFreeChart part of a complete Free Software stack I made sure that we can at least run the JFreeChart demo program on the gcj-gui branch. The screenshot looks very nice. Unfortunately it isn’t production ready yet. I needed to make a couple of ugly hacks to work around some text (pango) issues when cairo is enabled. It needs the (currently not default) –enable-gtk-cairo configure flag to build the cairo Graphics2D implementation on GTK. And then you need to run the program with the right system property set to get your AWT Components a real Cairo based Graphics2D object with gij -Dgnu.java.awt.peer.gtk.Graphics=Graphics2D. As you can see on the screenshot there are still a couple of visual bugs in our library. And it is actually pretty slow. But seeing such a large and cool free software library starting to work together with GNU Classpath and gcj is really satisfying. I’ll try to clean up my hacks and get it all into CVS soon so we can play with this a bit more when the GNU Classpath 0.11 snapshot is made on Monday. But no promises since some of the workarounds I needed are pretty ugly and I can imagine Graydon objecting to his code being vandalized like I did. (There might have been a reason for those asserts triggering, and just removing them might not be the cleanest solution…)