The major options for modular build systems are:
- mvn (+gmaven)
- groovysh (org.codehaus.groovy.tools.shell)
- groovyconsole (groovy.ui + friends)
- ant (org.codehaus.groovy.ant)
groovy.lang (as well as
groovy.util packages, should be limited to only core runtime bits. For example Anything grapes related should not be located here, if that is an optional module (which I suggest it is).
All test support classes should be in a separate module. While tests are important, at runtime, they are irrelevant, and the runtime should not need to include them or depend on their requirements.
These are essentially optional components and should be packaged in groovyx.lang and included in optional modules, ie. if its not required to have the core runtime work, it should be in a module.
There are current xml support classes in groovy.util and groovy.xml. They should all be in groovy.xml.