Industry News
GNU Project Releases Latest Version of GNU Classpath
Incorporates new experimental GStreamer peer
Oct. 22, 2007 10:00 AM
The GNU Project has released version 0.96(.1) of GNU Classpath, an incomplete free implementation of the core Java class libraries. The main feature of this release is the new experimental GStreamer peer arising from the work of Mario Torre on his Google Summer of Code project. This provides support for the javax.sound API using the GStreamer library, allowing any sound file supported by GStreamer to be played from Java.
GNU Classpath, essential libraries for Java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language. The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms.
The GNU Classpath web site states the following:
This release is primarily a maintenance release. The recent release of the majority of Sun's class library as Free Software on May the 8th, under the auspices of the OpenJDK project ( http://openjdk.java.net ) has changed the position of GNU Classpath within the community and recent efforts have focused on bringing together Classpath and OpenJDK code under the umbrella of IcedTea ( http://icedtea.classpath.org ) and on using the new OpenJDK code within existing Free runtime environments such as cacao ( http://www.cacaojvm.org/ ) and IKVM ( http://www.ikvm.net/ ). We hope to extend support and work together with the OpenJDK community over time. This release switches fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. From now on we intend to no longer release both a non-generics and a generics version. But if there is demand we might consider resurrecting the non-generics 1.4 branch with selected bug-fixes (depending on having a branch maintainer). Work is on the way to also add the new 1.6 additions, a start for selected packages has been made in this release.
That said, the main feature of this release is our new experimental GStreamer peer arising from the work of Mario Torre on his Google Summer of Code project ( http://code.google.com/soc/2007 ). This provides support for the javax.sound API using the GStreamer library ( http://gstreamer.freedesktop.org ), allowing any sound file supported by GStreamer to be played from Java. Full details are provided in the included README.gstreamer file. The peer is not yet ready for production use, but please try it and give us your feedback.
We've also improved our support for interacting with the outside world. Our JNI header has been updated to 1.6, we now better support choosing a compiler to use to build Classpath (either ecj or OpenJDK javac, the latter now having support for using the -J option to avoid out of memory errors) and our tools support has improved so as to better stand as a substitute for Sun's toolset.
AWT and Swing have seen a host of bug fixes and updates, including much improved Escher peers. Our thanks to Roman Kennke and others working on Classpath's GUI support. Screenshots of applications (eclipse, jedit, jfreechart, "jgecko", statcvs and more) working out of the box with GNU Classpath can be found at http://developer.classpath.org/screenshots/ .
With our last release, 0.95, we switched fully towards the 1.5 generics work that we previously released separately as classpath-generics. All this work is now fully integrated in the main release and various runtimes (gcj, cacao, jamvm, ikvm, etc) have been extended to take advantage of the new generics, annotations and enumeration support in the core library. As a consequence, only 1.5 capable compilers (currently the Eclipse Compiler for Java (ecj) and Sun's javac) may be used to build Classpath.
The GNU Classpath developers site http://developer.classpath.org/ provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided.
For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ We are looking into how to extend the documentation experience based on these two tools in the future.