Hi,

I am trying to setup a multi-modules build which is able to generate a
consolidated build and it's a pain so far.

The setup of the project is as follows:

app: pom.xml (pom packaging)
 `-- module-a: pom.xml (jar packaging)
 `-- module-b: pom.xml (jar packaging)
 `-- module-c: pom.xml (jar packaging)
 `-- module-all: pom.xml (pom packaging)

There is a single version by default, which is defined in the app pom.
The module-all pom depends on module-a, module-b and module-c which
are a nice decomposition of a monholitic project.

A, B, C generates the jar, the sources and the javadoc. Now, we need
to keep a single jar with the whole codebase for backward
compatibility reason. So now I am trying to consolidate this in the
module-all project. Another advantage of this setup is that I can
easily create a "patched" version by patching one of the three modules
(B for instance) and releasing the module-all (no need to change A and
C in this case).

Using the assembly plugin is the way to go I guess but it seems that I
am unable to do it. At least, generating the binary is easy but how
can I generate the sources? I guess that I need to depend on the
sources as well using the classifier. How can I include the deps
without a classifier and exclude the ones with the "sources"
classifier (of course, it should be the other way around for the
"sources" assembly). The Javadoc is a bit of a hack, unpacking
dependencies with the "source classifier" using the dependency plugin
and run the Javadoc tool on it. Then I remember a plugin that allows
to attach a file with a classifier to the build lifecycle
(build-helper-maven-plugin).

This sounds like way overcomplicated to me. Is it me or am I missing
something obvious?

Thanks,

Stéphane

PS: I think we should provide examples of this kind of setup to the
community; this will surely fasten Maven adoption.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to