ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roger Vaughn <rvau...@seaconinc.com>
Subject Questions About Ant
Date Fri, 14 Apr 2000 14:51:26 GMT
I have just started looking at Ant for my projects, and I have a few
questions about it.

I like the concept of Ant, but being a long-time make-head, I notice a
few glaring holes in it.  If anyone has answers for these, I'd love to
hear them, otherwise I may take a whack at adding some of them to the
project.

- Ant seems to be based entirely on what make calls pseudo-targets.  Is
there any support for real, file dependency checks?  As it is, Ant is ok
(not great, see below) for Java builds, but lacks for full-system
builds.

- Java dependencies!  This is not a weakness in Ant, per se, but the
apparent lack of dependency support makes it hard to work around.  The
peculiarities of the Java environment and tools make it hard to do
minimal-rebuilds on it.  The javac task in Ant does the naive rebuild
which I had also coded into several make-based builds over the years -
if .java is newer than .class, recompile it.  Well, that's great, but 1)
it tends to be slow and 2) .java files have dependencies between them
that are not addressed by this scheme.  Jikes can produce inter-file
dependency lists, but Ant seems to have no way to use them.  I addressed
both of these in the past by doing "deep" rebuilds using Jikes - but
only on the project "entry-points", i.e. classes containing main or that
are dynamically loaded by the class loader.  I don't quite see how to do
this with Ant today.

- Iteration.  Ok, make can't do it either.  But you *can* embed "for"
commands in the tasks for a make target.  Yeah, it isn't portable, but
there it is.  (BTW, I use GNU make and the Cygwin tools to get
"portability" to Windoze.)

One other feature I'd love to see in Ant is cleaner support for
list/path structures, like classpaths.  These suckers would be much more
readable if each element of the path appeared in a sub-tag, instead of
all shoved into one attribute.  (And yes, it takes GNU make and a nasty
macro to do it, but I have done this one in make, too.)

Any comments?  As I said, I like the concept of Ant, but these few
things are kinda holding me back.  I'd love to contribute to the
project, though (in all of my copious free time, of course.  :-)

Thanks,

Roger Vaughn



Mime
View raw message