You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by si...@apache.org on 2009/04/08 06:10:58 UTC

svn commit: r762779 - in /maven/components/trunk: maven-project-builder/src/main/java/org/apache/maven/project/processor/ProcessorContext.java maven-project/src/test/java/org/apache/maven/project/PomConstructionTest.java

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
     {