One of the main things it is doing is building different configurations, many of which are not actually related to each other. These could actually be treated as Maven artifacts that are produced by the gernonimo deployment plugin. These artifacts could be shared between multiple assemblies eliminating the duplication in e.g. OpenEJB, ActiveMQ, Axis, etc.
To make this work we would split assembly into three: * A module that built the deployment plugin
* Modules that built each configuration using the deployment plugin
* Modules that built each assembly by creating the distribution tree, pre-loading its repo and installing the necessary configurations. Geronimo would have its, other projects could assemble the configs they needed.
This should also speed up the build as the configurations would be built in-vm by the plugin rather than forking the command-line deployer every time.
-- Jeremy