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/09/08 17:24:19 UTC

svn commit: r812550 - /maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java

Author: bentmann
Date: Tue Sep  8 15:24:19 2009
New Revision: 812550

URL: http://svn.apache.org/viewvc?rev=812550&view=rev
Log:
[MNG-4344] [regression] Managed executions of plugins introduced by default lifecycle bindings execute before explicitly defined plugins

Modified:
    maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java

Modified: maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java
URL: http://svn.apache.org/viewvc/maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java?rev=812550&r1=812549&r2=812550&view=diff
==============================================================================
--- maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java (original)
+++ maven/maven-3/trunk/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java Tue Sep  8 15:24:19 2009
@@ -22,7 +22,6 @@
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashMap;
 import java.util.Iterator;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -104,41 +103,30 @@
             {
                 List<Plugin> tgt = target.getPlugins();
 
-                Map<Object, Plugin> merged = new LinkedHashMap<Object, Plugin>( src.size() * 2 );
+                Map<Object, Plugin> merged = new LinkedHashMap<Object, Plugin>( ( src.size() + tgt.size() ) * 2 );
 
-                for ( Iterator<Plugin> it = src.iterator(); it.hasNext(); )
+                for ( Iterator<Plugin> it = tgt.iterator(); it.hasNext(); )
                 {
                     Plugin element = it.next();
                     Object key = getPluginKey( element );
                     merged.put( key, element );
                 }
 
-                Map<Object, Plugin> unmanaged = new LinkedHashMap<Object, Plugin>( merged );
-
-                Map<Object, List<Plugin>> predecessors = new HashMap<Object, List<Plugin>>();
+                Map<Object, Plugin> unmanaged = new LinkedHashMap<Object, Plugin>();
 
-                List<Plugin> pending = new ArrayList<Plugin>( tgt.size() );
-
-                for ( Iterator<Plugin> it = tgt.iterator(); it.hasNext(); )
+                for ( Iterator<Plugin> it = src.iterator(); it.hasNext(); )
                 {
                     Plugin element = it.next();
                     Object key = getPluginKey( element );
                     Plugin existing = merged.get( key );
                     if ( existing != null )
                     {
-                        mergePlugin( element, existing, sourceDominant, context );
-                        unmanaged.remove( key );
-                        merged.put( key, element );
-
-                        if ( !pending.isEmpty() )
-                        {
-                            predecessors.put( key, pending );
-                            pending = new ArrayList<Plugin>();
-                        }
+                        mergePlugin( existing, element, sourceDominant, context );
                     }
                     else
                     {
-                        pending.add( element );
+                        merged.put( key, element );
+                        unmanaged.put( key, element );
                     }
                 }
 
@@ -162,21 +150,7 @@
                     }
                 }
 
-                List<Plugin> result = new ArrayList<Plugin>( src.size() + tgt.size() );
-
-                for ( Map.Entry<Object, Plugin> entry : merged.entrySet() )
-                {
-                    List<Plugin> pre = predecessors.get( entry.getKey() );
-
-                    if ( pre != null )
-                    {
-                        result.addAll( pre );
-                    }
-
-                    result.add( entry.getValue() );
-                }
-
-                result.addAll( pending );
+                List<Plugin> result = new ArrayList<Plugin>( merged.values() );
 
                 target.setPlugins( result );
             }