diff --git a/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java index a2df5b8b36..7ac0b78e8b 100644 --- a/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java +++ b/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java @@ -1170,6 +1170,16 @@ private void testCompleteModel( PomTestWrapper pom ) assertEquals( "run", pom.getValue( "reporting/plugins[1]/reportSets[1]/reports[1]" ) ); } + /* FIXME: MNG-2309 + public void testProfileInjectionOrder() + throws Exception + { + PomTestWrapper pom = + buildPomFromMavenProject( "profile-injection-order", "pom-a", "pom-b", "pom-e", "pom-c", "pom-d" ); + assertEquals( "e", pom.getValue( "properties[1]/pomProperty" ) ); + } + //*/ + private void assertPathSuffixEquals( String expected, Object actual ) { @@ -1194,7 +1204,7 @@ private PomTestWrapper buildPom( String pomPath ) return new PomTestWrapper( pomFile, mavenProjectBuilder.buildModel( pomFile, null, null, null ) ); } - private PomTestWrapper buildPomFromMavenProject( String pomPath, String profileId ) + private PomTestWrapper buildPomFromMavenProject( String pomPath, String... profileIds ) throws IOException { File pomFile = new File( testDirectory , pomPath ); @@ -1205,9 +1215,9 @@ private PomTestWrapper buildPomFromMavenProject( String pomPath, String profileI ProjectBuilderConfiguration config = new DefaultProjectBuilderConfiguration(); config.setLocalRepository(new DefaultArtifactRepository("default", "", new DefaultRepositoryLayout())); ProfileActivationContext pCtx = new ProfileActivationContext(null, true); - if(profileId != null) + if ( profileIds != null ) { - pCtx.setExplicitlyActiveProfileIds(Arrays.asList(profileId)); + pCtx.setExplicitlyActiveProfileIds( Arrays.asList( profileIds ) ); } config.setGlobalProfileManager(new DefaultProfileManager(this.getContainer(), pCtx)); diff --git a/maven-project/src/test/resources-project-builder/profile-injection-order/pom.xml b/maven-project/src/test/resources-project-builder/profile-injection-order/pom.xml new file mode 100644 index 0000000000..784996de5f --- /dev/null +++ b/maven-project/src/test/resources-project-builder/profile-injection-order/pom.xml @@ -0,0 +1,68 @@ + + + + + + 4.0.0 + + org.apache.maven.its.mng2309 + test + 1.0-SNAPSHOT + jar + + Maven Integration Test :: MNG-2309 + + Test that profiles are injected in declaration order, with the last profile being the most dominant. + + + + + + pom-a + + a + + + + pom-b + + b + + + + pom-c + + c + + + + pom-d + + d + + + + pom-e + + e + + + +