[MNG-5761] Dependency management is not transitive.

Project: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/commit/37b6c8df
Tree: 
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/37b6c8df
Diff: 
http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/37b6c8df

Branch: refs/heads/DEPMGMT
Commit: 37b6c8df9dc2ca9f4b2c93776e77a449234b1350
Parents: e32c6a5
Author: Christian Schulte <[email protected]>
Authored: Tue Dec 13 23:28:45 2016 +0100
Committer: Christian Schulte <[email protected]>
Committed: Tue Jan 31 20:39:24 2017 +0100

----------------------------------------------------------------------
 .../apache/maven/it/IntegrationTestSuite.java   |  1 +
 ...ependencyManagementExclusionMerge36Test.java | 70 ++++++++++++++++++++
 ...0DependencyManagementExclusionMergeTest.java |  4 +-
 3 files changed, 74 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/37b6c8df/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
----------------------------------------------------------------------
diff --git 
a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java 
b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
index 3f4158e..50982f0 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/IntegrationTestSuite.java
@@ -209,6 +209,7 @@ public class IntegrationTestSuite
         suite.addTestSuite( 
MavenITmng4729MirrorProxyAuthUsedByProjectBuilderTest.class );
         suite.addTestSuite( MavenITmng4721OptionalPluginDependencyTest.class );
         suite.addTestSuite( 
MavenITmng4720DependencyManagementExclusionMergeTest.class );
+        suite.addTestSuite( 
MavenITmng4720DependencyManagementExclusionMerge36Test.class );
         suite.addTestSuite( 
MavenITmng4696MavenProjectDependencyArtifactsTest.class );
         suite.addTestSuite( 
MavenITmng4690InterdependentConflictResolutionTest.class );
         suite.addTestSuite( MavenITmng4684DistMngtOverridenByProfileTest.class 
);

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/37b6c8df/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge36Test.java
----------------------------------------------------------------------
diff --git 
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge36Test.java
 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge36Test.java
new file mode 100644
index 0000000..af8f4d9
--- /dev/null
+++ 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge36Test.java
@@ -0,0 +1,70 @@
+package org.apache.maven.it;
+
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.apache.maven.it.Verifier;
+import org.apache.maven.it.util.ResourceExtractor;
+
+import java.io.File;
+import java.util.List;
+
+/**
+ * This is a test set for <a 
href="https://issues.apache.org/jira/browse/MNG-4720";>MNG-4720</a>.
+ * 
+ * @author Christian Schulte
+ */
+public class MavenITmng4720DependencyManagementExclusionMerge36Test
+    extends AbstractMavenIntegrationTestCase
+{
+
+    public MavenITmng4720DependencyManagementExclusionMerge36Test()
+    {
+        super( "[3.6,)" );
+    }
+
+    /**
+     * Verify the effective exclusions applied during transitive dependency 
resolution when both the regular
+     * dependency section and dependency management declare exclusions for a 
particular dependency.
+     */
+    public void testit()
+        throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), 
"/mng-4720" );
+
+        Verifier verifier = newVerifier( testDir.getAbsolutePath() );
+        verifier.setAutoclean( false );
+        verifier.deleteArtifacts( "org.apache.maven.its.mng4720" );
+        verifier.addCliOption( "-s" );
+        verifier.addCliOption( "settings.xml" );
+        verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", 
verifier.newDefaultFilterProperties() );
+        verifier.executeGoal( "validate" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        List<String> classpath = verifier.loadLines( "target/classpath.txt", 
"UTF-8" );
+
+        assertTrue( classpath.toString(), classpath.contains( "a-0.1.jar" ) );
+        assertTrue( classpath.toString(), classpath.contains( "c-0.1.jar" ) );
+
+        assertFalse( classpath.toString(), classpath.contains( "b-0.1.jar" ) );
+        assertFalse( classpath.toString(), classpath.contains( "d-0.1.jar" ) );
+    }
+
+}

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/37b6c8df/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMergeTest.java
----------------------------------------------------------------------
diff --git 
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMergeTest.java
 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMergeTest.java
index 752ef87..06233a6 100644
--- 
a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMergeTest.java
+++ 
b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMergeTest.java
@@ -36,7 +36,9 @@ public class 
MavenITmng4720DependencyManagementExclusionMergeTest
 
     public MavenITmng4720DependencyManagementExclusionMergeTest()
     {
-        super( "[2.0.6,)" );
+        // Gave up on Maven 2 compat in 3.6.
+        // This comment (see below) is obsolete as of 3.6: should better have 
been excluded as well, now it's a matter of backward-compat
+        super( "[2.0.6,3.6)" );
     }
 
     /**

Reply via email to