You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by jd...@apache.org on 2008/07/24 19:43:23 UTC

svn commit: r679472 - /maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Author: jdcasey
Date: Thu Jul 24 10:43:23 2008
New Revision: 679472

URL: http://svn.apache.org/viewvc?rev=679472&view=rev
Log:
[MNG-3679] Consolidate merging of concrete plugin information used for build/plugins and build/pluginManagement/plugins. Also, iterate through plugins and use the concrete execution-id for any plugin executions, rather than allowing the execution-id to remain dynamic.

Modified:
    maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java

Modified: maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
URL: http://svn.apache.org/viewvc/maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java?rev=679472&r1=679471&r2=679472&view=diff
==============================================================================
--- maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java (original)
+++ maven/components/branches/maven-2.0.10-RC/maven-project/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java Thu Jul 24 10:43:23 2008
@@ -46,6 +46,7 @@
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Parent;
 import org.apache.maven.model.Plugin;
+import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.PluginManagement;
 import org.apache.maven.model.Profile;
 import org.apache.maven.model.ReportPlugin;
@@ -1100,12 +1101,26 @@
     private void mergeDeterministicBuildElements( Build interpolatedBuild,
                                                   Build dynamicBuild )
     {
-        List dPlugins = dynamicBuild.getPlugins();
+        mergeDeterministicPluginElements( interpolatedBuild.getPlugins(), dynamicBuild.getPlugins() );
 
-        if ( dPlugins != null )
+        PluginManagement dPluginMgmt = dynamicBuild.getPluginManagement();
+        PluginManagement iPluginMgmt = interpolatedBuild.getPluginManagement();
+
+        if ( dPluginMgmt != null )
+        {
+            mergeDeterministicPluginElements( iPluginMgmt.getPlugins(), dPluginMgmt.getPlugins() );
+        }
+
+        if ( dynamicBuild.getExtensions() != null )
         {
-            List iPlugins = interpolatedBuild.getPlugins();
+            dynamicBuild.setExtensions( interpolatedBuild.getExtensions() );
+        }
+    }
 
+    private void mergeDeterministicPluginElements( List iPlugins, List dPlugins )
+    {
+        if ( dPlugins != null )
+        {
             for ( int i = 0; i < dPlugins.size(); i++ )
             {
                 Plugin dPlugin = (Plugin) dPlugins.get( i );
@@ -1116,37 +1131,22 @@
                 dPlugin.setVersion( iPlugin.getVersion() );
                 
                 dPlugin.setDependencies( iPlugin.getDependencies() );
-            }
-        }
-
-        PluginManagement dPluginMgmt = dynamicBuild.getPluginManagement();
-
-        if ( dPluginMgmt != null )
-        {
-            PluginManagement iPluginMgmt = interpolatedBuild.getPluginManagement();
-            dPlugins = dPluginMgmt.getPlugins();
-            if ( dPlugins != null )
-            {
-                List iPlugins = iPluginMgmt.getPlugins();
-
-                for ( int i = 0; i < dPlugins.size(); i++ )
+                
+                List dExecutions = dPlugin.getExecutions();
+                if ( dExecutions != null )
                 {
-                    Plugin dPlugin = (Plugin) dPlugins.get( i );
-                    Plugin iPlugin = (Plugin) iPlugins.get( i );
-
-                    dPlugin.setGroupId( iPlugin.getGroupId() );
-                    dPlugin.setArtifactId( iPlugin.getArtifactId() );
-                    dPlugin.setVersion( iPlugin.getVersion() );
+                    List iExecutions = iPlugin.getExecutions();
                     
-                    dPlugin.setDependencies( iPlugin.getDependencies() );
+                    for ( int j = 0; j < dExecutions.size(); j++ )
+                    {
+                        PluginExecution dExec = (PluginExecution) dExecutions.get( j );
+                        PluginExecution iExec = (PluginExecution) iExecutions.get( j );
+                        
+                        dExec.setId( iExec.getId() );
+                    }
                 }
             }
         }
-
-        if ( dynamicBuild.getExtensions() != null )
-        {
-            dynamicBuild.setExtensions( interpolatedBuild.getExtensions() );
-        }
     }
 
     /**