Author: jdcasey
Date: Wed Apr 27 10:37:50 2005
New Revision: 165016

URL: http://svn.apache.org/viewcvs?rev=165016&view=rev
Log:
Fixing per MNG-357. Inheritance/injection of pluginManagement did not follow 
the same conventions intended and established by that of dependencyManagement. 
This fix makes the two more consistent, and allows for more local control over 
plugin configuration.

Modified:
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/inheritance/DefaultModelInheritanceAssembler.java
    
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java

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=165016&r1=165015&r2=165016&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
 Wed Apr 27 10:37:50 2005
@@ -239,13 +239,16 @@
                     for ( Iterator it = 
parentPluginMgmt.getPlugins().iterator(); it.hasNext(); )
                     {
                         Plugin plugin = (Plugin) it.next();
-                        if ( !mappedChildPlugins.containsKey( 
constructPluginKey( plugin ) ) )
+                        
+                        String pluginKey = constructPluginKey( plugin );
+                        
+                        if ( !mappedChildPlugins.containsKey( pluginKey ) )
                         {
                             childPluginMgmt.addPlugin( plugin );
                         }
                         else
                         {
-                            Plugin childPlugin = (Plugin) 
mappedChildPlugins.get( constructPluginKey( plugin ) );
+                            Plugin childPlugin = (Plugin) 
mappedChildPlugins.get( pluginKey );
 
                             if ( childPlugin.getVersion() == null )
                             {
@@ -275,6 +278,10 @@
                                     childGoal.setConfiguration( 
Xpp3Dom.mergeXpp3Dom( childDom, parentDom ) );
                                 }
                             }
+                            
+                            Xpp3Dom childConfig = (Xpp3Dom) 
childPlugin.getConfiguration();
+                            Xpp3Dom parentConfig = (Xpp3Dom) 
plugin.getConfiguration();
+                            childPlugin.setConfiguration( 
Xpp3Dom.mergeXpp3Dom( childConfig, parentConfig ) );
                         }
                     }
                 }

Modified: 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
URL: 
http://svn.apache.org/viewcvs/maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java?rev=165016&r1=165015&r2=165016&view=diff
==============================================================================
--- 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
 (original)
+++ 
maven/components/trunk/maven-project/src/main/java/org/apache/maven/project/injection/DefaultModelDefaultsInjector.java
 Wed Apr 27 10:37:50 2005
@@ -91,46 +91,18 @@
         {
             plugin.setVersion( def.getVersion() );
         }
-
-        Map goalMap = new TreeMap();
-
+        
         List pluginGoals = plugin.getGoals();
-        if ( pluginGoals != null )
+        if( pluginGoals == null || pluginGoals.isEmpty() )
         {
-            for ( Iterator it = pluginGoals.iterator(); it.hasNext(); )
-            {
-                Goal goal = (Goal) it.next();
-
-                goalMap.put( goal.getId(), goal );
-            }
+            plugin.setGoals( def.getGoals() );
         }
-
-        List defGoals = def.getGoals();
-        if ( defGoals != null )
+        
+        Xpp3Dom pluginConfiguration = (Xpp3Dom) plugin.getConfiguration();
+        if( pluginConfiguration == null )
         {
-            for ( Iterator it = defGoals.iterator(); it.hasNext(); )
-            {
-                Goal defaultGoal = (Goal) it.next();
-
-                Goal localGoal = (Goal) goalMap.get( defaultGoal.getId() );
-                if ( localGoal == null )
-                {
-                    goalMap.put( defaultGoal.getId(), defaultGoal );
-                }
-                else
-                {
-                    Xpp3Dom goalConfiguration = (Xpp3Dom) 
localGoal.getConfiguration();
-                    Xpp3Dom defaultGoalConfiguration = (Xpp3Dom) 
defaultGoal.getConfiguration();
-                    localGoal.setConfiguration( Xpp3Dom.mergeXpp3Dom( 
goalConfiguration, defaultGoalConfiguration ) );
-                }
-            }
+            plugin.setConfiguration( def.getConfiguration() );
         }
-
-        plugin.setGoals( new ArrayList( goalMap.values() ) );
-
-        Xpp3Dom pluginConfiguration = (Xpp3Dom) plugin.getConfiguration();
-        Xpp3Dom defaultPluginConfiguration = (Xpp3Dom) def.getConfiguration();
-        plugin.setConfiguration( Xpp3Dom.mergeXpp3Dom( pluginConfiguration, 
defaultPluginConfiguration ) );
     }
 
     private void injectDependencyDefaults( List dependencies, 
DependencyManagement dependencyManagement )



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

Reply via email to