Why do we need to invoke the assembly plugin twice? It does not look like there is anything in the steps you listed below that actually requires that the assembly plugin be invoked twice. Maybe I am wrong, can you shed some light on this please?

--jason


Here's how we assemble our binaries

1. Our pom.xml first lists all and only geronimo modules, configs and
apps as dependencies. The transitive deps are taken care of by m-a-p.

2. We first invoke the geronimo-assembly-plugin's "installConfig" goal
to install the configs into target/archive-temp/repository. This mojo
will try to install all dependencies of type "car" when no artifact is
explicitly specified. Since we have listed all configs as deps in our
j2ee-jetty-server pom.xml, they are installed.

3. Then we invoke m-a-p with assembly descriptor setup.xml and
intermediaryAssembly set to true.  The intermediaryAssembly set to
true will create the staging area but skip the final archive creation.
The setup.xml will copy all deps other than the <excludes> from
localRepository to target/archive-temp/repository. We exclude the
configs here b'coz the configs are installed in step 2 above. So now
we have the modules and the configs all in the same repo.

4. We also use this setup.xml to unpack the scripts module into the
staging area.

5. Then we invoke m-a-p again with assembly descriptor bin.xml. The
plugin copies the library jars, the schema files, the jars for bin
etc. The *.bat and *.sh files that we copied into the staging area  in
step 4 are now bundled into the archive but with correct mode and
lineendings..

That's about it.

Cheers
Prasad

Reply via email to