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 );
}