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
     {


Reply via email to