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 2016/12/21 18:01:53 UTC

maven-integration-testing git commit: [MNG-6139] Addition of command line option 'legacy-dependency-management'.

Repository: maven-integration-testing
Updated Branches:
  refs/heads/master 443a777cc -> 683e932ee


[MNG-6139] Addition of command line option 'legacy-dependency-management'.

o Updated to test legacy behaviour is retained with '-ldm' command line
  option.


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/683e932e
Tree: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/tree/683e932e
Diff: http://git-wip-us.apache.org/repos/asf/maven-integration-testing/diff/683e932e

Branch: refs/heads/master
Commit: 683e932eec9b021519824d4600f3ebf7dcbd6f28
Parents: 443a777
Author: Christian Schulte <sc...@apache.org>
Authored: Wed Dec 21 19:00:44 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Wed Dec 21 19:00:44 2016 +0100

----------------------------------------------------------------------
 ...ependencyManagementExclusionMerge34Test.java | 31 +++++++++++++
 ...227DependencyOptionalFlagManagementTest.java | 48 ++++++++++++++++++++
 2 files changed, 79 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/683e932e/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge34Test.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge34Test.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge34Test.java
index acf05c7..fc353d5 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge34Test.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng4720DependencyManagementExclusionMerge34Test.java
@@ -67,4 +67,35 @@ public class MavenITmng4720DependencyManagementExclusionMerge34Test
         assertFalse( classpath.toString(), classpath.contains( "d-0.1.jar" ) );
     }
 
+    /**
+     * 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 testitLegacy()
+        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.addCliOption( "-ldm" );
+        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" ) );
+
+        // should better have been excluded as well, now it's a matter of backward-compat (-ldm)
+        assertTrue( classpath.toString(), classpath.contains( "d-0.1.jar" ) );
+    }
+
 }

http://git-wip-us.apache.org/repos/asf/maven-integration-testing/blob/683e932e/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5227DependencyOptionalFlagManagementTest.java
----------------------------------------------------------------------
diff --git a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5227DependencyOptionalFlagManagementTest.java b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5227DependencyOptionalFlagManagementTest.java
index 3dc0ad8..8371dfe 100644
--- a/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5227DependencyOptionalFlagManagementTest.java
+++ b/core-it-suite/src/test/java/org/apache/maven/it/MavenITmng5227DependencyOptionalFlagManagementTest.java
@@ -86,4 +86,52 @@ public class MavenITmng5227DependencyOptionalFlagManagementTest
         assertFalse( classpath.toString(), classpath.contains( "transitive-0.1.jar" ) );
     }
 
+    /**
+     * Verify that a dependency's optional flag is not subject to dependency management. This part of the test checks
+     * the effective model.
+     */
+    public void testitLegacyModel()
+        throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4600/model" );
+
+        Verifier verifier = newVerifier( testDir.getAbsolutePath() );
+        verifier.setAutoclean( false );
+        verifier.deleteDirectory( "target" );
+        verifier.addCliOption( "-ldm" );
+        verifier.executeGoal( "validate" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        Properties props = verifier.loadProperties( "target/pom.properties" );
+        assertEquals( "dep", props.getProperty( "project.dependencies.0.artifactId" ) );
+        assertEquals( "false", props.getProperty( "project.dependencies.0.optional" ) );
+    }
+
+    /**
+     * Verify that a transitive dependency's optional flag is not subject to dependency management of the root artifat.
+     * This part of the test checks the artifact collector.
+     */
+    public void testitLegacyResolution()
+        throws Exception
+    {
+        File testDir = ResourceExtractor.simpleExtractResources( getClass(), "/mng-4600/resolution" );
+
+        Verifier verifier = newVerifier( testDir.getAbsolutePath() );
+        verifier.setAutoclean( false );
+        verifier.deleteDirectory( "target" );
+        verifier.deleteArtifacts( "org.apache.maven.its.mng4600" );
+        verifier.filterFile( "settings-template.xml", "settings.xml", "UTF-8", verifier.newDefaultFilterProperties() );
+        verifier.addCliOption( "--settings" );
+        verifier.addCliOption( "settings.xml" );
+        verifier.addCliOption( "-ldm" );
+        verifier.executeGoal( "validate" );
+        verifier.verifyErrorFreeLog();
+        verifier.resetStreams();
+
+        List<String> classpath = verifier.loadLines( "target/classpath.txt", "UTF-8" );
+        assertTrue( classpath.toString(), classpath.contains( "direct-0.2.jar" ) );
+        assertTrue( classpath.toString(), classpath.contains( "transitive-0.1.jar" ) );
+    }
+
 }