Author: sisbell Date: Tue Apr 7 13:57:19 2009 New Revision: 762779 URL: http://svn.apache.org/viewvc?rev=762779&view=rev Log: [MNG-4106] Interpolation does not use properties from dominant settings profile if other profile defines same property.
Modified: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/processor/ProcessorContext.java maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java Modified: maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/processor/ProcessorContext.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/processor/ProcessorContext.java?rev=762779&r1=762778&r2=762779&view=diff ============================================================================== --- maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/processor/ProcessorContext.java (original) +++ maven/components/trunk/maven-project-builder/src/main/java/org/apache/maven/project/processor/ProcessorContext.java Tue Apr 7 13:57:19 2009 @@ -81,12 +81,21 @@ public static PomClassicDomainModel mergeProfilesIntoModel(Collection<Profile> profiles, PomClassicDomainModel domainModel) throws IOException { List<Model> profileModels = new ArrayList<Model>(); - + List<Model> externalProfileModels = new ArrayList<Model>(); + for(Profile profile : profiles) { - profileModels.add( attachProfileNodesToModel(profile) ); + if("pom".equals(profile.getSource())) + { + profileModels.add( attachProfileNodesToModel(profile) ); + } + else + { + externalProfileModels.add(attachProfileNodesToModel(profile)); + } } - Collections.reverse( profileModels ); + profileModels.addAll(externalProfileModels);//external takes precedence + // Collections.reverse( profileModels ); Model model = domainModel.getModel(); profileModels.add( 0, model ); Modified: maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java?rev=762779&r1=762778&r2=762779&view=diff ============================================================================== --- maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java (original) +++ maven/components/trunk/maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java Tue Apr 7 13:57:19 2009 @@ -1242,16 +1242,16 @@ } /* MNG-2309*/ - /* + public void testProfileInjectionOrder() throws Exception { PomTestWrapper pom = buildPom( "profile-injection-order", "pom-a", "pom-b", "pom-e", "pom-c", "pom-d" ); - System.out.println(pom.getDomainModel().asString()); + //System.out.println(pom.getDomainModel().asString()); assertEquals( "e", pom.getValue( "properties[1]/pomProperty" ) ); } -*/ + public void testPropertiesInheritance() throws Exception {