diff --git a/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java b/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java index c481640f41..8d9a398ced 100644 --- a/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java +++ b/maven-project/src/test/java/org/apache/maven/project/builder/PomConstructionTest.java @@ -235,6 +235,42 @@ public class PomConstructionTest } //*/ + /* FIXME: cf. MNG-3906 + public void testOrderOfMergedPluginDependenciesWithoutPluginManagement() + throws Exception + { + PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/wo-plugin-mngt/sub" ); + assertEquals( 5, ( (List) pom.getValue( "build/plugins[1]/dependencies" ) ).size() ); + assertEquals( "c", pom.getValue( "build/plugins[1]/dependency[1]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[1]/version" ) ); + assertEquals( "a", pom.getValue( "build/plugins[1]/dependency[2]/artifactId" ) ); + assertEquals( "2", pom.getValue( "build/plugins[1]/dependency[2]/version" ) ); + assertEquals( "b", pom.getValue( "build/plugins[1]/dependency[3]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[3]/version" ) ); + assertEquals( "e", pom.getValue( "build/plugins[1]/dependency[4]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[4]/version" ) ); + assertEquals( "e", pom.getValue( "build/plugins[1]/dependency[5]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[5]/version" ) ); + } + + public void testOrderOfMergedPluginDependenciesWithPluginManagement() + throws Exception + { + PomTestWrapper pom = buildPom( "merged-plugin-class-path-order/w-plugin-mngt/sub" ); + assertEquals( 5, ( (List) pom.getValue( "build/plugins[1]/dependencies" ) ).size() ); + assertEquals( "c", pom.getValue( "build/plugins[1]/dependency[1]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[1]/version" ) ); + assertEquals( "a", pom.getValue( "build/plugins[1]/dependency[2]/artifactId" ) ); + assertEquals( "2", pom.getValue( "build/plugins[1]/dependency[2]/version" ) ); + assertEquals( "b", pom.getValue( "build/plugins[1]/dependency[3]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[3]/version" ) ); + assertEquals( "e", pom.getValue( "build/plugins[1]/dependency[4]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[4]/version" ) ); + assertEquals( "e", pom.getValue( "build/plugins[1]/dependency[5]/artifactId" ) ); + assertEquals( "1", pom.getValue( "build/plugins[1]/dependency[5]/version" ) ); + } + //*/ + private PomArtifactResolver artifactResolver( String basedir ) { return new FileBasedPomArtifactResolver( new File( BASE_POM_DIR, basedir ) ); diff --git a/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml new file mode 100644 index 0000000000..6c4b186677 --- /dev/null +++ b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/pom.xml @@ -0,0 +1,64 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng3906 + parent + 0.1 + pom + + Maven Integration Test :: MNG-3906 + + Test that project-level plugin dependencies are properly merged during inheritance. + + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-class-loader + 2.1-SNAPSHOT + + + org.apache.maven.its.mng3906 + e + 1 + + + org.apache.maven.its.mng3906 + a + 1 + + + org.apache.maven.its.mng3906 + d + 1 + + + + + + + diff --git a/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml new file mode 100644 index 0000000000..85cc818847 --- /dev/null +++ b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/w-plugin-mngt/sub/pom.xml @@ -0,0 +1,64 @@ + + + + + + 4.0.0 + + + org.apache.maven.its.mng3906 + parent + 0.1 + + + child + + Maven Integration Test :: MNG-3906 + + Test that project-level plugin dependencies are properly merged during inheritance. + + + + + + org.apache.maven.its.plugins + maven-it-plugin-class-loader + 2.1-SNAPSHOT + + + org.apache.maven.its.mng3906 + c + 1 + + + org.apache.maven.its.mng3906 + a + 2 + + + org.apache.maven.its.mng3906 + b + 1 + + + + + + diff --git a/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml new file mode 100644 index 0000000000..d4dcf657e2 --- /dev/null +++ b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/pom.xml @@ -0,0 +1,62 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng3906 + parent + 0.1 + pom + + Maven Integration Test :: MNG-3906 + + Test that project-level plugin dependencies are properly merged during inheritance. + + + + + + + org.apache.maven.its.plugins + maven-it-plugin-class-loader + 2.1-SNAPSHOT + + + org.apache.maven.its.mng3906 + e + 1 + + + org.apache.maven.its.mng3906 + a + 1 + + + org.apache.maven.its.mng3906 + d + 1 + + + + + + diff --git a/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml new file mode 100644 index 0000000000..85cc818847 --- /dev/null +++ b/maven-project/src/test/resources-project-builder/merged-plugin-class-path-order/wo-plugin-mngt/sub/pom.xml @@ -0,0 +1,64 @@ + + + + + + 4.0.0 + + + org.apache.maven.its.mng3906 + parent + 0.1 + + + child + + Maven Integration Test :: MNG-3906 + + Test that project-level plugin dependencies are properly merged during inheritance. + + + + + + org.apache.maven.its.plugins + maven-it-plugin-class-loader + 2.1-SNAPSHOT + + + org.apache.maven.its.mng3906 + c + 1 + + + org.apache.maven.its.mng3906 + a + 2 + + + org.apache.maven.its.mng3906 + b + 1 + + + + + +