ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse Tilly <>
Subject Peter's ANT2 design proposals
Date Tue, 08 May 2001 18:27:19 GMT
Let me start off with saying I agree with many of the design goals of Ant2.
Vastly changing a tool midstream is tough and it appears that many of the
enhancements and changes will not change expectations of current Ant users
by much.

However, implementation is another thing.  I have felt for a while that Ant
has been progressing into an XML-syntaxed scripting language with little
checking.  We already have good scripting languages and if the only goal was
cross-platform capabilities, we could've borrowed Python/JPython.  XML is a
data description language and is ill-suited for the flow control and other
script-like features that creep in with multiple user requests (kudos for
refusing it in the goals).  

One of the things that I have always imagined Ant being was a
build-descriptor engine.  Using XML, the build is *described*; IOW, results
based processing.

Peter has mentioned the use of "templating" as a sort of preprocessing of
the antfile for setting configurations, etc.  Isn't this autoconf/IMake?
What if the templates were simple results descriptions and the transform
created a "raw" antfile that is more like the scripting-hybrid that exists
now.  What if it really turned it into a real script!?  Now we're no longer
locked into this pseudoscript concept the antfile is now.  People simply


To build a jar and an open class package.  Transforms and rulesets define
what will really happen under the covers.  The preprocessor turns the above
into another file that the ant task engine understands.  We could even have
two task engines, one for Ant1 files and one for Ant2 raw files.  This would
be cross-platform and much easier to integrate into a GUI *and* allow users
to upgrade without ditching 3-10 months worth of antfiles.  Ok, that breaks
the Ant2 goal of breaking Ant1, but it would be possible.

Anyway, chew on it and let me know what you think.  


View raw message