Centipede (nope - doesn't suck).
From the hacking log:
The thing about Centipede is you have full access to ant where you need it. Common functionality can be plugged in easily. You can also easily extend it be creating extents.
Yep pretty much agree with you Andy. I wasn't trying to put down Centipede (or Maven for that matter). The point I was trying to make is that these tools, while providing heaps of build functionality out of the box, can get in your way. Simple things like passing system properties to your junit tests can become much harder it should be.
Ant also has this problem... you just hit it later. It's the whole leaky abstractions thing again.
[The Occasional Blogger]
Maven is built on Ant too - so with Ant, Centipede and Maven you get full access to Ant's functionality. Just like in Centipede, in Maven you can break down to the Ant layer and do whatever you'd do in normal Ant
Maven has some neat ways to plugin functionality so you can just add some special Ant or Jelly processing before or after any goal is attempted or action performed, so its really easy to solve the remaining 20% of the problems that Maven doesn't solve out of the box.
So if you don't like how a particular goal is achived in Maven and the normal customization process doesn't quite fit your needs, just overide it or add your own custom pre or post processing.
Also to answer Glen's criticisms of Ant...
Ant sucks. Yes, I'm serious. IMHO the design of Ant 1.x is broken. [snip]
I don't agree that Ant sucks though I do agree that it has limitations - which is one of the main reasons the Maven project was started.
The integrated expression language Jexl is good enough for most use cases (like iterating over your dependencies etc) but if you need it you can plugin your own favourite scripting language too. Just plug all this into the maven.xml file and your done.