tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: cvs commit: jakarta-tomcat-5 build2.xml
Date Sun, 04 Aug 2002 18:31:12 GMT
On Sun, 4 Aug 2002, Patrick Luby wrote:

> I would like to see the <syspropertyset>, <argset>, and <jvmargset>
> 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 

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
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.


To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message