Author: jdcasey
Date: Thu Jun  9 08:53:31 2005
New Revision: 189768

URL: http://svn.apache.org/viewcvs?rev=189768&view=rev
Log:
Fixed problems with merging profile-defined properties into the project, and 
fixed the ITs testing profile definitions in the process.

This should finally resolve MNG-421

Removed:
    maven/components/trunk/maven-core-it/it0022/src/test/
    maven/components/trunk/maven-core-it/it0023/src/test/
Modified:
    maven/components/trunk/maven-core-it/integration-tests.txt
    maven/components/trunk/maven-core-it/it0022/expected-results.txt
    maven/components/trunk/maven-core-it/it0022/goals.txt
    maven/components/trunk/maven-core-it/it0022/pom.xml
    maven/components/trunk/maven-core-it/it0022/profiles.xml
    maven/components/trunk/maven-core-it/it0023/expected-results.txt
    maven/components/trunk/maven-core-it/it0023/goals.txt
    maven/components/trunk/maven-core-it/it0023/pom.xml
    maven/components/trunk/maven-core-it/it0023/settings.xml
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/model/ModelNormalizationUtils.java
    
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
    maven/components/trunk/maven-model/maven.mdo
    maven/components/trunk/maven-model/pom.xml
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java

Modified: maven/components/trunk/maven-core-it/integration-tests.txt
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/integration-tests.txt?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/integration-tests.txt (original)
+++ maven/components/trunk/maven-core-it/integration-tests.txt Thu Jun  9 
08:53:31 2005
@@ -20,5 +20,5 @@
 it0019
 it0020
 it0021
-#it0022
-#it0023
+it0022
+it0023

Modified: maven/components/trunk/maven-core-it/it0022/expected-results.txt
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0022/expected-results.txt?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0022/expected-results.txt (original)
+++ maven/components/trunk/maven-core-it/it0022/expected-results.txt Thu Jun  9 
08:53:31 2005
@@ -1 +1 @@
-target/classes/org/apache/maven/it0022/test.txt
+target/test.txt

Modified: maven/components/trunk/maven-core-it/it0022/goals.txt
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0022/goals.txt?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0022/goals.txt (original)
+++ maven/components/trunk/maven-core-it/it0022/goals.txt Thu Jun  9 08:53:31 
2005
@@ -1 +1 @@
-package
\ No newline at end of file
+core-it:touch
\ No newline at end of file

Modified: maven/components/trunk/maven-core-it/it0022/pom.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0022/pom.xml?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0022/pom.xml (original)
+++ maven/components/trunk/maven-core-it/it0022/pom.xml Thu Jun  9 08:53:31 2005
@@ -4,23 +4,21 @@
   <artifactId>maven-it0022</artifactId>
   <version>1.0-SNAPSHOT</version>
   
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-    </dependency>
-  </dependencies>
-  
   <build>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
+        <artifactId>maven-core-it-plugin</artifactId>
+        <version>1.0-SNAPSHOT</version>
         <configuration>
-          <test>${test}</test>
+          <pluginItem>${test}</pluginItem>
         </configuration>
       </plugin>
+      <!-- plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-projecthelp-plugin</artifactId>
+        <version>2.0-alpha-3-SNAPSHOT</version>
+      </plugin -->
     </plugins>
   </build>
-</model>
\ No newline at end of file
+</model>

Modified: maven/components/trunk/maven-core-it/it0022/profiles.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0022/profiles.xml?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0022/profiles.xml (original)
+++ maven/components/trunk/maven-core-it/it0022/profiles.xml Thu Jun  9 
08:53:31 2005
@@ -10,7 +10,7 @@
       </activation>
       
       <properties>
-        <test>**/SomeAddTest*</test>
+        <test>test.txt</test>
       </properties>
     </profile>
   </profiles>

Modified: maven/components/trunk/maven-core-it/it0023/expected-results.txt
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0023/expected-results.txt?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0023/expected-results.txt (original)
+++ maven/components/trunk/maven-core-it/it0023/expected-results.txt Thu Jun  9 
08:53:31 2005
@@ -1 +1 @@
-target/classes/org/apache/maven/it0023/test.txt
+target/test.txt

Modified: maven/components/trunk/maven-core-it/it0023/goals.txt
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0023/goals.txt?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0023/goals.txt (original)
+++ maven/components/trunk/maven-core-it/it0023/goals.txt Thu Jun  9 08:53:31 
2005
@@ -1 +1 @@
-package
\ No newline at end of file
+core-it:touch
\ No newline at end of file

Modified: maven/components/trunk/maven-core-it/it0023/pom.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0023/pom.xml?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0023/pom.xml (original)
+++ maven/components/trunk/maven-core-it/it0023/pom.xml Thu Jun  9 08:53:31 2005
@@ -4,23 +4,21 @@
   <artifactId>maven-it0023</artifactId>
   <version>1.0-SNAPSHOT</version>
   
-  <dependencies>
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <version>3.8.1</version>
-    </dependency>
-  </dependencies>
-  
   <build>
     <plugins>
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-surefire-plugin</artifactId>
+        <artifactId>maven-core-it-plugin</artifactId>
+        <version>1.0-SNAPSHOT</version>
         <configuration>
-          <test>${test}</test>
+          <pluginItem>${test}</pluginItem>
         </configuration>
       </plugin>
+      <!-- plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-projecthelp-plugin</artifactId>
+        <version>2.0-alpha-3-SNAPSHOT</version>
+      </plugin -->
     </plugins>
   </build>
-</model>
\ No newline at end of file
+</model>

Modified: maven/components/trunk/maven-core-it/it0023/settings.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core-it/it0023/settings.xml?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-core-it/it0023/settings.xml (original)
+++ maven/components/trunk/maven-core-it/it0023/settings.xml Thu Jun  9 
08:53:31 2005
@@ -14,7 +14,7 @@
       </activation>
       
       <properties>
-        <test>**/SomeAddTest*</test>
+        <test>test.txt</test>
       </properties>
     </profile>
   </profiles>

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/model/ModelNormalizationUtils.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/model/ModelNormalizationUtils.java?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/model/ModelNormalizationUtils.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/model/ModelNormalizationUtils.java
 Thu Jun  9 08:53:31 2005
@@ -36,6 +36,8 @@
     {
         Profile profile = new Profile();
         
+        profile.setId( settingsProfile.getId() );
+        
         profile.setSource( "settings.xml" );
 
         org.apache.maven.settings.Activation settingsActivation = 
settingsProfile.getActivation();
@@ -59,8 +61,8 @@
             }
         }
 
-        profile.addEvalProperties( settingsProfile.getProperties() );
-
+        profile.setProperties( settingsProfile.getProperties() );
+        
         List repos = settingsProfile.getRepositories();
         if ( repos != null )
         {
@@ -88,6 +90,8 @@
     {
         Profile profile = new Profile();
         
+        profile.setId( profileXmlProfile.getId() );
+        
         profile.setSource( "profiles.xml" );
 
         org.apache.maven.profiles.Activation profileActivation = 
profileXmlProfile.getActivation();
@@ -117,7 +121,7 @@
             profile.setActivation( new AlwaysOnActivation() );
         }
         
-        profile.addEvalProperties( profileXmlProfile.getProperties() );
+        profile.setProperties( profileXmlProfile.getProperties() );
 
         List repos = profileXmlProfile.getRepositories();
         if ( repos != null )

Modified: 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
 (original)
+++ 
maven/components/trunk/maven-core/src/main/java/org/apache/maven/plugin/PluginParameterExpressionEvaluator.java
 Thu Jun  9 08:53:31 2005
@@ -135,11 +135,11 @@
             // Check properties that have been injected via profiles before we 
default over to 
             // system properties.
             
-            if( context.getProject().getProfileConfiguration() != null )
+            if( context.getProject().getProfileProperties() != null )
             {
-                value = 
context.getProject().getProfileConfiguration().getProperty( expression );
+                value = 
context.getProject().getProfileProperties().getProperty( expression );
             }
-            
+
             if( value == null )
             {
                 // We will attempt to get nab a system property as a way to 
specify a

Modified: maven/components/trunk/maven-model/maven.mdo
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/maven.mdo?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-model/maven.mdo (original)
+++ maven/components/trunk/maven-model/maven.mdo Thu Jun  9 08:53:31 2005
@@ -664,24 +664,6 @@
           </association>
         </field>
       </fields>
-      <codeSegments>
-        <codeSegment>
-          <version>4.0.0</version>
-          <code><![CDATA[
-    private Properties evalProperties = new Properties();
-    
-    public void addEvalProperties( Properties properties )
-    {
-        this.evalProperties.putAll( properties );
-    }
-    
-    public Properties getEvalProperties()
-    {
-        return evalProperties;
-    }
-          ]]></code>
-        </codeSegment>
-      </codeSegments>
     </class>
     <!-- @todo: is any of this too CVS specific? Investigate other SCMs -->
     <class>
@@ -2328,6 +2310,7 @@
     // We don't want this to be parseable...it's sort of 'hidden'
     // default source for this profile is in the pom itself.
     private String source = "pom";
+    private Properties properties = new Properties();
     
     public void setSource( String source )
     {
@@ -2337,6 +2320,21 @@
     public String getSource()
     {
         return source;
+    }
+    
+    public String toString()
+    {
+        return "Profile {id: " + getId() + ", source: " + getSource() + "}";
+    }
+    
+    public void setProperties( Properties properties )
+    {
+        this.properties = properties;
+    }
+    
+    public Properties getProperties()
+    {
+        return properties;
     }
           ]]></code>
         </codeSegment>

Modified: maven/components/trunk/maven-model/pom.xml
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-model/pom.xml?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- maven/components/trunk/maven-model/pom.xml (original)
+++ maven/components/trunk/maven-model/pom.xml Thu Jun  9 08:53:31 2005
@@ -20,7 +20,8 @@
       <plugin>
         <groupId>org.codehaus.modello</groupId>
         <artifactId>modello-maven-plugin</artifactId>
-        <version>1.0-alpha-3-SNAPSHOT</version>
+        <version>1.0-alpha-2</version>
+        <!-- version>1.0-alpha-3-SNAPSHOT</version -->
         <configuration>
           <version>4.0.0</version>
           <model>maven.mdo</model>

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
 Thu Jun  9 08:53:31 2005
@@ -67,6 +67,7 @@
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 import java.util.Set;
 
 /**
@@ -283,22 +284,27 @@
             modelCache.put( key, model );
         }
         
-        // TODO: Add profiles support here?
         List activeProfiles = new ArrayList( externalProfiles );
         
         List activePomProfiles = 
profileActivationCalculator.calculateActiveProfiles( model.getProfiles() );
         
         activeProfiles.addAll( activePomProfiles );
         
+        Properties profileProperties = new Properties();
+        
         for ( Iterator it = activeProfiles.iterator(); it.hasNext(); )
         {
             Profile profile = (Profile) it.next();
             
             modelInheritanceAssembler.mergeProfileWithModel( model, profile );
+            
+            profileProperties.putAll( profile.getProperties() );
         }
+        
+        // TODO: Clean this up...we're using this to 'jump' the interpolation 
step for model properties not expressed in XML.
 
         model = modelInterpolator.interpolate( model );
-
+        
         // interpolation is before injection, because interpolation is 
off-limits in the injected variables
         modelDefaultsInjector.injectDefaults( model );
 
@@ -306,7 +312,9 @@
 
         project = new MavenProject( model );
         
-        project.addActiveProfiles( activePomProfiles );
+        project.addProfileProperties( profileProperties );
+        
+        project.setActiveProfiles( activeProfiles );
 
         project.setPluginArtifactRepositories( 
ProjectUtils.buildArtifactRepositories( model.getPluginRepositories(), 
artifactRepositoryFactory, container ) );
 

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/MavenProject.java
 Thu Jun  9 08:53:31 2005
@@ -80,7 +80,7 @@
 
     private List remoteArtifactRepositories;
     
-    private Properties profileConfiguration;
+    private Properties profileProperties = new Properties();
 
     private List collectedProjects = Collections.EMPTY_LIST;
 
@@ -891,17 +891,17 @@
         return model.getPluginRepositories();
     }
 
-    public Properties getProfileConfiguration()
+    public Properties getProfileProperties()
     {
-        return profileConfiguration;
+        return profileProperties;
     }
 
-    public void addProfileConfiguration( Properties profileConfiguration )
+    public void addProfileProperties( Properties profileConfiguration )
     {
-        this.profileConfiguration = profileConfiguration;
+        this.profileProperties.putAll( profileConfiguration );
     }
 
-    public void addActiveProfiles( List activeProfiles )
+    public void setActiveProfiles( List activeProfiles )
     {
         this.activeProfiles.addAll( activeProfiles );
     }

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java?rev=189768&r1=189767&r2=189768&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
 Thu Jun  9 08:53:31 2005
@@ -151,7 +151,7 @@
     public void mergeProfileWithModel( Model model, Profile profile )
     {
         assembleModelBaseInheritance( model, profile );
-
+        
         assembleBuildBaseInheritance( model.getBuild(), profile.getBuild() );
     }
 
@@ -221,9 +221,6 @@
         }
 
         assembleDependencyManagementInheritance( child, parent );
-        
-        // Evaluation Properties :: aggregate
-        child.addEvalProperties( parent.getEvalProperties() );
     }
 
     private void assembleDependencyManagementInheritance( ModelBase child, 
ModelBase parent )



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to