I have been refactoring the build structure I have for my GUIApp framework to use Maven instead of vanilla ANT. Let me tell you, for anything that is in any way modular like Cocoon and GUIApp, Maven kicks a**. Let me break it down on why:
1) The reactor is smart enough to determine the proper order to do builds, so your blocks always resolve properly.
2) No need to keep JARs in CVS. It will automatically resolve and download the correct JAR you need every time. If you ask for a SNAPSHOT, it will use the latest and greatest.
3) Each module is kept 100% separate. If you need another module for your build, all you need to do is reference it in your dependency list.
4) It is extensible, and creating a plugin is not that hard. In fact you can have your plugin use a traditional ANT task that you created.
In the end, there are far fewer updates to a project.xml file and/or the associated maven.xml file than you have with an ANT build.xml file. There is no reason to maintain the jars.xml file, etc.
Anyhoo, its just a wild and crazy idea. I'm starting to get into it.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin