Artifacts qualifier are taken into accounts correctly
-----------------------------------------------------

                 Key: MDEP-251
                 URL: http://jira.codehaus.org/browse/MDEP-251
             Project: Maven 2.x Dependency Plugin
          Issue Type: Bug
    Affects Versions: 2.1
         Environment: OSX 10.6.2, java 1.6.0_17
            Reporter: Jean Seurin
            Assignee: Brian Fox
            Priority: Critical


I just introduced some qualifier for some libs that require to be compiled in 
java5.
I've been very confused when realizing that when packaging a webapp depending 
on those qualified artifacts, the non qualified versions are included instead.

It seems to come from dependency plugin.

Here is what happens:

When I do a dependency:tree on an artifact that depends directly on qualified 
libs, I get something regular:

[INFO] [dependency:tree {execution: default-cli}]
[INFO] org.company.project:stageof:jar:1.4-SNAPSHOT
[INFO] +- org.company.project:jar:jdk1.5:1.5-SNAPSHOT:compile
....
[INFO] +- org.company.commons:commons-xml:jar:jdk1.5:1.4-SNAPSHOT:compile

The stageof lib depends on the jdk1.5 qualified commons and commons-xml libs.

When I do a dependency:tree on an upper level webapp that depends on this 
stageof lib:

[INFO] org.company.project:webapp:war:1.13-SNAPSHOT
[INFO] +- org.company.project:stageof:jar:jdk1.5:1.4-SNAPSHOT:compile
[INFO] |  +- org.company.commons:jar:1.4.0:compile
[INFO] |  \- org.company.commons:commons-xml:jar:1.4-SNAPSHOT:compile
[INFO] +- org.company.commons:jar:jdk1.5:1.5-SNAPSHOT:compile
...

it finds correctly the qualified version of stageof, but include non qualified 
commons and commons-xml.

These unqualified versions are the dependencies of the also non qualified 
stageof-1.4-SNAPSHOT.

>From this behavior, I presume dependency plugin makes a mistake in looking 
>from the wrong pom, probably not using the qualifier of the included 
>dependency:

        <dependency>
            <groupId>org.company.project</groupId>
            <artifactId>stageof</artifactId>
            <version>1.4-SNAPSHOT</version>
            <scope>compile</scope>
            <classifier>jdk1.5</classifier>
        </dependency>

Hope this is clear.
I could provide an example if you can't reproduce easily.
Actually, just adding a qualifier to the jar-plugin to produce the artifact and 
to the <dependency> section should do the job.

rgds,
jean

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to