I’ve spent today working on a reasonably complex build.xml file, refactoring it to reduce duplication by using the ant-contrib foreach task so that similar targets can be reduced to loops over a list of properties (I’ll blog on that later since it includes some fancy nested loops to run Selenium tests across multiple applications on a server).
I wanted a way to look at the structure of the ant file before I did open-heart surgery on it. Google led me to ant2dot and GraphViz (with a very nice version for Mac OS X and the iPhone).
It’s a very neat way to quickly get a handle on the dependencies in your ant file and it’s certainly helped me figure out how to reorganize things.
My only complaint would be that it doesn’t understand the ant-contrib foreach task which has a target attribute and therefore creates a dependency so such children appear as orphans.
I figured I’d blog this in case anyone else finds it useful!
Topics: Programming, Web Development, XML
Submit Your Article





