|
See inline below...
----- Original Message -----
Sent: Sunday, January 21, 2001 2:06
AM
Subject: Re: New core functionality
Hello,
I have modified ant for our corporate use, and
I thought some of you may be interested in the additions /
changes:
1) I modified the Ant task to accept a nested
"antpath" element. This is a standard path element that defines a list
of sub-tasks to execute. We use it to glob large nested builds.
(Note: this task remains completely backward compatible)
ex:
...
<ant>
<antpath>
<fileset dir="."
includes="*/**/build.xml" />
</antpath>
</ant>
...
Isn't that an foreach-loop :-) Isn't
execution order a problem for you? maybe ant get's them in the "right" order
now, but what happens if Sun (or the Ant-team) changes the order files are
listed/processed?
It is absolutely a for-each loop, and as
you say, it only works when order is unimportant. Basically, I have had
difficulty writing a flexible build script - it is always tightly coupled with
the the exact structure of my source. Ant is missing the ability to do
even basic iteration, and this is exactly what I need to make my projects work
the way I want.
3) I modified Main to accept only one task at a
time. All additional arguments are translated into user-properties.
(This one is NOT backward compatible)
ex.
when you run: ant foo bar
dee
only the target, "foo", is run, but there are
two additional user properties available: arg1="bar",
arg2="dee".
You could accomplish the same by
modifying ant.bat (or create your own build.bat). So I don't think we should
change this inside ant if we pay with less "features" (possibilities). It's
more common to let a buildfile do "this" and "that" and sometimes only "that"
because "this" needs not to be done than to have properties named arg1, ...,
arg9, ...arg?.
Yeah, I was thinking of going that route,
but I'm way better at Java than at .bat or sh scripts. (Can this even be
done on a windows environment??). Anyway, I agree with your assessment on
this last item, but I strongly believe ant needs both a conditional, and a
looping task. Has this idea already been shot down?
-Larry
|