As of r263817 I have enabled assembly in the build using the packaging and assembly plugins. Rather than having a huge maven.xml in the assembly module, these work by packaging configurations into maven artifacts that can then be quickly assembled together.

The "configs" directory contains one maven project for each configuration (currently just the system and server ones, the rest to follow) which build a packaged configuration using the packaging plugin. All dependencies (to jars and other configurations) are resolved using the local maven repo. This also allows configurations to be downloaded from the central repo just like other artifacts.

The "assemblies" directory contains one maven project for each assembly we plan to ship. Currently only Jetty is in there but Tomcat will follow. These use the assembly plugin to lay out the target directories driven by properties in the POM dependencies which cuts out a lot of the scripting from the old maven.xml file.

The output assembly is not yet packed up ready for distribution. You can start it with
$ java -jar bin/server.jar
from the assemblies/j2ee-server/target/assembly directory. You should see the same output as from the old server (but less is being started).

The configuration ids for the bundles are also the maven artifact ids; you can see this in the plans which use <artifactId> elements rather than URIs (support for this isn't new, we were just being lazy :-) ).

I tried to be careful with the way the plugins are built but if there are any unexpected build issues please drop a note here or open a JIRA.

--
Jeremy

Reply via email to