You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2009/08/25 17:25:47 UTC

svn commit: r807669 - /maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java

Author: bentmann
Date: Tue Aug 25 15:25:42 2009
New Revision: 807669

URL: http://svn.apache.org/viewvc?rev=807669&view=rev
Log:
o Fixed model builder to expand plugin management configuration, too

Modified:
    maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java

Modified: maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java
URL: http://svn.apache.org/viewvc/maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java?rev=807669&r1=807668&r2=807669&view=diff
==============================================================================
--- maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java (original)
+++ maven/components/trunk/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultPluginConfigurationExpander.java Tue Aug 25 15:25:42 2009
@@ -19,10 +19,13 @@
  * under the License.
  */
 
+import java.util.List;
+
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
+import org.apache.maven.model.PluginManagement;
 import org.apache.maven.model.ReportPlugin;
 import org.apache.maven.model.ReportSet;
 import org.apache.maven.model.Reporting;
@@ -48,19 +51,13 @@
 
         if ( build != null )
         {
-            for ( Plugin buildPlugin : build.getPlugins() )
-            {
-                Xpp3Dom parentDom = (Xpp3Dom) buildPlugin.getConfiguration();
+            expand( build.getPlugins() );
 
-                if ( parentDom != null )
-                {
-                    for ( PluginExecution execution : buildPlugin.getExecutions() )
-                    {
-                        Xpp3Dom childDom = (Xpp3Dom) execution.getConfiguration();
-                        childDom = Xpp3Dom.mergeXpp3Dom( childDom, new Xpp3Dom( parentDom ) );
-                        execution.setConfiguration( childDom );
-                    }
-                }
+            PluginManagement pluginManagement = build.getPluginManagement();
+
+            if ( pluginManagement != null )
+            {
+                expand( pluginManagement.getPlugins() );
             }
         }
 
@@ -83,4 +80,25 @@
         }
     }
 
+    private void expand( List<Plugin> plugins )
+    {
+        for ( Plugin plugin : plugins )
+        {
+            Xpp3Dom pluginConfiguration = (Xpp3Dom) plugin.getConfiguration();
+
+            if ( pluginConfiguration != null )
+            {
+                for ( PluginExecution execution : plugin.getExecutions() )
+                {
+                    Xpp3Dom executionConfiguration = (Xpp3Dom) execution.getConfiguration();
+
+                    executionConfiguration =
+                        Xpp3Dom.mergeXpp3Dom( executionConfiguration, new Xpp3Dom( pluginConfiguration ) );
+
+                    execution.setConfiguration( executionConfiguration );
+                }
+            }
+        }
+    }
+
 }