Hi guys,

I'm still trying to slowly convert the Cactus build (which uses Ant)
into a Maven build. Here's a use case I have. Currently I have the
following:

framework/
  |_ src
    |_ share-12-13-14
    |_ share-13-14
    |_ j2ee-12
    |_ j2ee-13
    |_ j2ee-14
  |_ build.xml
  |_ [...]

Where 12, 13, 14 represents the J2EE APIs (1.2, 1.3 and 1.4
respectively). The share directories contain common classes for the
different API versions. Of course the build for the different APIs have
different dependencies.

To transform this into a Maven 1.x build, it seems that what makes most
sense is to have the following:

framework/
  |_ share-12-13-14
    |_ src
  |_ share-13-14
    |_ src
  |_ j2ee-12
    |_ src
  |_ j2ee-13
    |_ src
  |_ j2ee-14
    |- src

(i.e. a project per src directory).

However, there are several issues:
1- I don't want to publicly expose the share-12-13-14 jar artifact for
example. Thus it would be best to have some interproject "channel" that
do not go into the local Maven repo.
2- I still to only deliver 3 jars (one for each API), thus I need to
regroup the different jars. For example for J2EE API 1.3, I need to
regroup the share-12-13-14 + share-13-14 + j2ee-13 jars. I don't think
that uberjar does exactly this. Of course it should be possible to
develop a plugin for this if there is no other solution. It's a bit of a
pain to have to jar the output from subprojects to then have to unjar
jar to again rejar everything a main framework jar. It would be nice to
be able to exchange classes artifact between the different subprojects.
3- More generally, I'd like to consider the framework project as one
virtual project, i.e. have only a single site, single javadoc, etc.

In light of this, it seems to me that the only reason to have different
subprojects is to have the ability to define different dependencies for
the different J2EE APIs. Thus maybe there is another solution using
dynamic dependencies (not sure how that would work though).

Any take on this use case for Maven 1.x?

Is that a known use case for m2?

Thanks
-Vincent



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

Reply via email to