On Sun, 4 Aug 2002, Patrick Luby wrote: > I would like to see the <syspropertyset>, <argset>, and <jvmargset> data > types and the conditional <sysproperty>, <arg>, and <jvmarg> elements > moved to Ant.
You'll have to submit patches to ant-dev. But you can very well do the same thing with the current ant1.5 types - the syntax may be a bit more complicated, but using multiple <sysproperty> instead of <syspropertyset> is not that critical. Same for the conditionals - you can do most of that in the current syntax ( using conditional targets ). Not the cleanest way - but it works. > Also, I should be able to integrate the <launch> task > attributes into Ant's <java> task. I just won't be able to do it for a > few weeks since my employer has squeezed my spare time down to nothing. > But I intend to post patches for this code so that it can go in Ant 1.6. I have more work than I can handle - probably we're all in the same situation. You can just move <launcher> into tomcat CVS for now, and use it as a custom tomcat ant task. > This piece of code deserves more explanation. In the launcher, this > bootstrapper is called LauncherBootstrap.class and resides in the same > directory as the shell script that users use. Then, in Windows batch > scripts, you put %0\..;"%PATH%" as the classpath when invoking Java. > Since Windows sometimes makes %0 meaningless, %PATH% is used as the > classpath. Since LauncherBootstrap.class is an unjarred class in %PATH% > (since it is in the same directory as the script), it will get included > in the classpath. LauncherBootstrap.class then just loads ant.jar since > Java can reliably determine which directory LauncherBootstrap.class was > loaded from. Can't you just do 'java -jar ./bootstrap.jar' ? > In essence, the whole bootstrapping process is a hack to get around the > %0 problem on Windows 95, 98, ME, and sometimes 2000. So, it might be > useful to include this bootstrapper in Ant so that the Ant batch scripts > can find its classes. Or we can require TOMCAT_HOME/ANT_HOME env to be set. Or a registry key. Or use a small C program. Or we can 'install' a small bootstrap.jar in java's lib/ext. There are many hacks - what's important is to not let the hack affect the design and other platforms. > There were a few other things that are in the Launcher which may be > useful if ported to Ant: > > - Catching of uncaught Errors (e.g. OutOfMemoryError) and gracefully > exiting > - Syncronized starting and stopping of the build process so that other > applications (e.g. commons-daemon) can start Ant and kill Ant > directly. Not sure what that means. Other application can start and kill ant - there is no need for anything special. I'm trying to enhance the API for embeding ant - including wrapping it as an MBean ( with start/stop lifecycle methods ), it isn't difficult ( except finding time ). And I'll try to wrap the ant tasks/targets using modeler ( after I get the introspection-based code moved from util.mx to modeler ) - so individual tasks can be easier to execute. > - Retrieve localized strings so that we can localize BuildExceptions > and <echo> and <fail> messages. That would require a lot of work in ant, but I think it's a good idea. Costin -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>