Tobias Oberlies created MNG-5690:
------------------------------------

             Summary: Test scope dependency adds compile dependency to library 
which was excluded on the compile dependency path
                 Key: MNG-5690
                 URL: https://jira.codehaus.org/browse/MNG-5690
             Project: Maven
          Issue Type: Bug
            Reporter: Tobias Oberlies


Consider two libraries with the following, simplified dependency graph:
{noformat}
+- org.apache.cxf:cxf-rt-transports-local:jar:2.7.5
   +- org.apache.cxf:cxf-api:jar:2.7.5:compile
      +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile

+- org.apache.cxf:cxf-rt-frontend-jaxrs:jar:2.7.5
   +- org.apache.cxf:cxf-api:jar:2.7.5:compile
      +- org.apache.geronimo.specs:geronimo-javamail_1.4_spec:jar:1.7.1:compile
{noformat}

The following situations work as expected:
# When adding a test dependency to cxf-rt-transports-local in my war project, 
the geronimo-javamail library *is not* assembled into the war.
# When adding a compile dependency to cxf-rt-frontend-jaxrs, the 
geronimo-javamail library *is* assembled into the war.
# When adding a compile dependency to cxf-rt-frontend-jaxrs with an exclusion 
of the geronimo-javamail, the library *is not* assembled into the war.

The unexpected behaviour occurs when combining the dependencies from point 1 
and 3 (with the test dependency being listed above the compile dependency). In 
this case, the geronimo-javamail libary *is* assembled into the war, although I 
only have a test scope dependency to it.

The following pom.xml reproduces the problem:
{noformat}
<project xmlns="http://maven.apache.org/POM/4.0.0"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
http://maven.apache.org/xsd/maven-4.0.0.xsd";>
        <modelVersion>4.0.0</modelVersion>

        <groupId>org.example</groupId>
        <artifactId>test-dep-overrides-productive-exclusion</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <packaging>war</packaging>

        <properties>
                <cxf.version>2.7.5</cxf.version>
        </properties>

        <dependencies>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-transports-local</artifactId>
                        <version>${cxf.version}</version>
                        <scope>test</scope>
                </dependency>
                <dependency>
                        <groupId>org.apache.cxf</groupId>
                        <artifactId>cxf-rt-frontend-jaxrs</artifactId>
                        <version>${cxf.version}</version>
                        <exclusions>
                                <exclusion>
                                        
<groupId>org.apache.geronimo.specs</groupId>
                                        
<artifactId>geronimo-javamail_1.4_spec</artifactId>
                                </exclusion>
                        </exclusions>
                </dependency>
        </dependencies>

</project>
{noformat}



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to