You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sc...@apache.org on 2017/01/31 19:40:33 UTC

[2/6] maven-integration-testing git commit: [MNG-5761] Dependency management is not transitive.

[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 <sc...@apache.org>
Authored: Tue Dec 13 23:28:45 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
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)" );
     }
 
     /**