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)