OK, the first idea when Maven 2 was being designed is that you would use
different classifiers to differentiate between  the different JDKs... thus
you could go

<dependency>
  <groupId>com.foo.foo</groupId>
  <artifactId>bar</artifactId>
  <classifier>jdk15</classifier>
</dependency>

in order to use the jdk15 version, rather than the default with no
classifier....

Why they did not see the problem at this point is beyond me... which is the
default??? is it the jdk13 version? the jdk16 version?

You'd really need everything to have a classifier and not allow default
classifiers....

Then enter NMaven which points out that you could want multiple
classifiers...

This could even apply in Java...

On top of all of this, you have that for transitive dependencies, everything
uses the one POM.xml

So if I have a jdk15 and a jdk16 set of artifacts that use JAXB.... for
jdk16 I should not list JAXB as a transitive dependency (as it is included
in jdk16) but I need it for jdk15... the jdk14 stuff needs some other stuff
added as well, and the jdk13 stuff even needs me to swap in a whole lot of
other stuff to work around JAXB and roll it all myself

i.e. dependencies are a problem when you use classifiers.

That problem has not been solved yet.... it may have  to wait until Maven
3.0 (as it might require a schema change)

OK, so you're fine that classifiers cannot be used to solve the problem (BTW
either adding the classifier config or the build helper plugin can be used
to attach the builds using classifiers... but I suggest that you ignore that
approach)

Now you realize that you cannot do everything from one artifact.... you need
more than one artifact...

So you create two projects foo-jdk15 and foo-jdk16

in foo-jdk15 you also build the source-jar and attach that to the reactor

in foo-jdk16 you use the dependency plugin to extract
foo-jdk15-sources-${project.version}.jar into target/generated-sources/jar
and use the build helper plugin to add this source path...

That should do what you need and allow you to differentiate the depenencies
required for each platform (jdk15 vs jdk16)

2008/9/25 Holger Brands <[EMAIL PROTECTED]>

>
> Stephen,
>
> I don't quite understand your tip.
> My main problem is not compiling. I don't need different JREs to link
> against, I just have to specify a different target compiler option. Just in
> case I wasn't clear about that.
> The problem is to tweak the artifactIds to have a suffix. The generated
> artifacts should reflect the changed names as well as the deploy plugin
> should respect them in the deployed poms and with regard to the deployment
> target directory.
>
> Thanks,
> Holger
>
>
> Stephen Connolly-2 wrote:
> >
> > I want to say classifiers....
> >
> > but that only works if the dependencies have not changed.
> >
> > Perhaps what you want is a different project that depends on the first
> one
> > and unpacks it's -source.jar and does a recompile with the different jdk
> >
> > On 25 September 2008 12:00, Holger Brands <[EMAIL PROTECTED]> wrote:
> >
> >>
> >> I've a multi-module build that is compiled with target 1.6 and deployed
> >> to
> >> our company repo with artifactIds "artifact1", "artifact2" and so on.
> >>
> >> Now, what I want to achieve is the following:
> >> I want the same multi-module build optionally to be compiled with target
> >> 1.5
> >> and deployed to our company repo with artifactIds "artifact1_java15",
> >> "artifact2_java15" and so on.
> >>
> >> So, ideally
> >> - "mvn deploy" should deploy the default build artifacts compiled with
> >> target 1.6.
> >> - "mvn -Djdk=1.5 deploy" should deploy the derived build artifacts
> >> compiled
> >> with target 1.5.
> >>
> >> I know how to use profiles/properties to set the desired compiler
> >> options.
> >> But how to tweak the artifactIds?
> >>
> >> Is there an easy way to accomplish this?
> >> If not, what's the recommended way to deal with this requirement?
> >>
> >> I'm using Maven 2.0.9 on Windows XP.
> >>
> >> Sorry, if this has been asked before.
> >>
> >> Thanks,
> >> Holger
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/deploy-multi-module-artifacts-with-derived-artifactIds-tp19667309p19667309.html
> >> Sent from the Maven - Users mailing list archive at Nabble.com.
> >>
> >>
> >> ---------------------------------------------------------------------
> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >> For additional commands, e-mail: [EMAIL PROTECTED]
> >>
> >>
> >
> >
>
> --
> View this message in context:
> http://www.nabble.com/deploy-multi-module-artifacts-with-derived-artifactIds-tp19667309p19671027.html
> Sent from the Maven - Users mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>

Reply via email to