I have a multi-project build.

Two ear files and a rar file are built.

One of the ear projects uses the assembly plugin to package up the ears and
the rar and some properties files into a tar.gz. I'll call it earA (A is for
assembly)

What this means is that the build order should be such that rar and ear
should be built before earA since it has the assembly done in the earA
project build.

The rar is always built first because ear and earA depend on jars that have
to call the rar and so there is a transitive dependency causing the build
order to work.

The ear (not-A) only seems to be built first by accident. It is built first
but I can't tell why. Perhaps because its <module/> tag preceeds earA's
<module> tag. This makes me nervous.

I tried making earA depend on ear but I think that made the ear plugin think
it should put ear (not-A) inside earA and things got all messed up.

Is there some way to tell maven that the assembly part of project for earA
depends on ear but the ear builder part doesn't? In fact, I can't even
figure out how to tell mave the assembly part depends on any particular
thing.

Is there some better way to rearrange this? How about a project of some type
with the assembly in it that had dependencies to the two ear projects? I
didn't find an example anywhere about how to do that. Is there such a thing
as an 'assembly' project?

I've grown used to thinking of one maven project building one artifact. I've
gotten used to the special cases where that one project also creates source
or test or client jars as well. I can't get the creating of an assembly
straight in my mind. Source, test and client jars all have the same
dependencies as the main jar full of class files which makes it different,
somehow.

Lastly, I would prefer to use mvn 2.0.7 to build this. I'm in the process of
moving to 2.1.1 but it takes a while to test it all out and then to get
moved with multiple offshore developers.

Thanks. I know I ramble on sometimes.

-- Lee Meador

Reply via email to