A random thought occured to me as I was sitting watching the build that the assembly module, especially its maven.xml, was getting bigger and bigger and that we might be better splitting things up.

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

Reply via email to