ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Steve Loughran <>
Subject Re: How to use ANT as a command shell
Date Wed, 07 Dec 2005 11:44:43 GMT
Jeffrey E Care wrote:
> Ant is not intended to be used in this way. The fact that you can kind of 
> hack it together to work should not be taken as encouragement to do so.
> You might want to read "Ant in Anger" 
> ( before setting yourself on this 
> course.

While I agree with everything in this doc, it shows the pent-up demand 
for a decent command-line app launcher from Java, above and beyond the 
classic "java -jar somejar args" technique.

If/when we refactor Ant's <exec>/<java> logic into a jakarta-commons 
project (the maven people, amongst others), would like this, we could 
have a special command line launcher that takes a manifest file and 
automatically runs the program. Smartfrog can do this, but it is focused 
on long-lived deployments, not command line stuff, and we believe that 
all parameters should be encoded in deployment descriptors, preferably 
under SCM. Here, for example is the descriptor to pull down and deploy 
axis1.1's TCP monitor, using the maven2 library to allow dynamic 
download. Did I mention that dynamic download of authenticated JAR files 
should be a feature of the command line launcher ?


sfConfig extends Compound {

     library extends Maven2Library {

     commons-logging extends JarArtifact {
         library LAZY PARENT:library;
         project "commons-logging";
         version "1.0.4";
         sha1 "f029a2aefe2b3e1517573c580f948caac31b1056";
         md5 "8a507817b28077e0478add944c64586a";

     axis extends JarArtifact {
         library LAZY PARENT:library;
         project "axis";
         artifact "axis";
         version "1.1";
         sha1 "edd84c96eac48d4167bca4f45e7d36dcf36cf871";

     tcpmonitor extends Java {
         classname "org.apache.axis.utils.tcpmon";
         classpath [
             LAZY axis:absolutePath,
             LAZY commons-logging:absolutePath];


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

View raw message