geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prasad Kashyap" <goyathlay.geron...@gmail.com>
Subject Assembling geronimo in M2
Date Thu, 23 Mar 2006 03:12:55 GMT
For assembling Geronimo, we used to have our own homegrown
geronimo-assembly-plugin. As we migrate to M2, we have atleast of a
couple of assembly plugins available from maven.

maven-assembly-plugin:
http://maven.apache.org/plugins/maven-assembly-plugin/introduction.html

dependency-maven-plugin:
http://mojo.codehaus.org/dependency-maven-plugin/introduction.html

Issue 1:
-----------
In M1, we tagged the dependencies in the project.xml using
dependency.properties element to indicate where we should copy the
jars and how we should process it later. We had one list. M2 pom.xml
format doesn't allow such a <property> element  under <dependency>.
Apart from specifying the deps in the pom.xml, we have to list the
jars, their final resting place and how they have to be processed
elsewhere. This would seem like having to maintain multiple lists of
deps.

I hope the transitive deps feature of M2 might obviate the need to
specify the long list of deps in pom.xml. So we may end up with only 1
list. Not fully sure about this.


Issue 2:
------------
The maven-assembly-plugin uses something called a descriptor xml.
Please see the attached prototype (not yet complete).  This plugin can
do some post-processing like unpack and set permissions but not a
whole lot like we used to do in our geronimo-assemly-plugin.

We have, for example, some java code in assemble:installConfig and
assemble:installConfigToRepo that processes deps of type "car".  Such
processing forces us to use another plugin, say maven-antrun-plugin or
one of our own. We have 2 options.

Option a :  all these plugins could be invoked in sequence from the
assemblies themselves.  The geronimo-assembly-plugin doesn't take care
of all the assembly. It may be used to partly provide some
post-processing or may not be used at all.  But all the assemblies
must invoke a series of plugins.

Option b: Our geronimo-assembly-plugin does it all. For this, it needs
to copy/inherit fom the maven-assembly-plugin and then further enhance
it to do other post-processing we require.  I am leaning towards this
unless some M2 developers believe their assembly plugin can handle or
be changed to handle our requirements.


Issue 3:
------------
Our current repository format is
${groupId}/jars/${groupId}-${version}.jar. This mirrors the .maven
repository. The .m2 repository format is different. Also, the
maven-assembly-plugin just dumps all the jars in the output directory
(assembly's repository dir). Our runtime should change to expect jars
in this new location.


Comments ?

Cheers
Prasad

Mime
View raw message