I have been working on assembling geronimo using the packaging and assembly plugins. This gives us the ability to put together versions of geronimo with different capabilities without duplication. For instance, we now have a jetty-only and a tomcat-only version of geronimo. To build these,

cd configs;maven -o multiproject:install; cd ..
cd assemblies/j2ee-jetty-server;maven -o;
cd ../j2ee-tomcat-server:maven -o

This relies on using the packaging plugin, which builds configurations and puts them into the local maven repository. As such, it uses the maven id as the configId: they typically look like

${groupId}/cars/${artifactId}-${pom.currentVersion}.car

I think this is a big improvement over the unsystematic hand-invented ids we have been relying on up to now, but it is a backwards incompatible change that will require changing any plan that mentions a parentId (many plans do not need to: the builders include default parents sufficient for the geronimo classes needed for the app to load). It will also require changing the <module> element in gbean references that include them.

I think we should just go ahead with the change, and announce it loudly. We could provide "adapter plans" with no content of any kind that have e.g. a configId of org/apache/geronimo/rmi-naming and a parentId of geronimo/cars/geronimo-rmi-naming-1.0-SNAPSHOT.car. This would allow plans that have only old-style parentIds to deploy successfully, but would not help with the gbean references.

I beileve in a slightly related development we are planning to change the groupId to org.apache.geronimo before v1. Doing these changes more or less at once might reduce confusion.


Comments?  Objections?

thanks
david jencks

Reply via email to