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>
...
 
This will sequentially execute the default target in each of the included build files.
 
2) I modified the Available task to accept a nested "filepattern" element.  This allows us to determine if any file matches the specified pattern.  (Again, this is perfectly backward compatible)
 
ex.
...
<available property="sub.build.exists">
  <filepattern includes="*/**/build.xml" />
</available>
...
 
This sets "sub.build.exist" to true if any file / directory matches the specified pattern.
 
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".
 
I have found this to be much more useful than the way it is set up now (where ant will execute the three tasks "foo", "bar", and "dee" in succession).
 
If there is any interest in this source code, let me know.  I'm not on this email list, so please be sure to include my address in any replies.
 
Larry Sanderson

Reply via email to