I'm not sure how to quantify what Ant can do in terms of operating system commands other than to point to the list of core tasks in Ant 1.6:
http://ant.apache.org/manual/coretasklist.html And then there are the optional tasks:
http://ant.apache.org/manual/optionaltasklist.html Where I've seen Ant break down is when it's used as a scripting language. When that happens, I've been encouraged by what can be done when Groovy and Ant are used together. The angle brackets go away and you end up with the full power of
Java and all the Ant tasks available programmatically. I show an brief example of that in the book. The Groovy web site gives a brief explanation, as well:
http://groovy.codehaus.org/Ant+Scripting I've also seen Ant build files grow to the point of being unmaintainable. Often this can be managed by better use of common properties and targets to reduce duplication. Breaking large build files into separate, smaller build files can also help. Ant 1.6 includes new features such as build file inheritance and macros that can help manage the size and complexity of unwieldy Ant build files.
Mike
[ September 22, 2004: Message edited by: Mike Clark ]