I have just committed a new class to launch Ant. It moves some of the functions currently in the ant scripts into Java code, making the scripts simpler to maintain (I'm sick of spaces in directory names :-) ). The functions it provides include determining ant.home, finding tools.jar, building the classpath to include the optional jar and the parser jars.
This is currently experimental. It uses classloaders to launch the Ant Main class, which I have modified slightly to allow the new class, Launcher, to pass some additional information. The current script based launchers should be unaffected by the changes. One benefit of this change is that when Java tasks are run in VM, the ant parser classes should not be visible. If anyone wants to give it a try, please let me know how you go. I'd especially be interested in situations where people are using JUnit and getting Linkage errors as I want to investigate that a bit. Any other feedback is also welcome. Note that at the moment, the Launcher class prints out debug stuff etc when it starts up. I haven't included a launch script for this yet, but for reference the script I am using on NT is @echo off @setlocal set CLASSPATH=%~dp0..\lib\ant.jar;%CLASSPATH% java org.apache.tools.ant.Launcher %* @endlocal A similar script for Unix should be obvious. I haven't tested on Linux yet. So, give it a whirl and lets see if we can replace the launching scripts with something a bit simpler. Cheers Conor
