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" ) );
+ }
+
}