The first beta for Ant 1.6 is out and it has a lot of changes, both bug fixes and new functionality. I think it warrants a reasonably long beta period. The main thing now is to get people to try it out.
This release establishes a few building blocks which will be used and expanded upon in the following releases. I’m hopeful this can simplify the management of classpaths for the optional jars which has often caused problems.
One new component is the new launch code which moves the initial classpath creation into Java code. Ant is now launched with a very minimal classpath and then picks up the main Ant jars. The jars can now come from any arbitrary directory – not just ANT_HOME/lib using the new -lib option. This should better support standard installations without the need to stick jars into the Ant install.
Another component is the new antlib concept. I’m hopeful that in future releases we won’t deploy tasks in the base classloader for which the required support classes are not available. These tasks could then be deployed on demand with a build file specified classpath picking up the required libraries. Currently in Ant, and this remains true in Ant 1.6, the jars which support optional tasks need to be known when Ant starts up. In Ant 1.6, they can, however, live outside the Ant installation.
Anyway, that is just a taste of the new stuff in this release and what it bodes for the future. There’s lots more. Obviously such a large number of changes has the potential to cause some hiccups for existing setups. We’ve worked to minimize problems but we want to know about any during the beta period. So, go check it out – try your existing builds.