Repository: maven
Updated Branches:
  refs/heads/master a4d6cf2a2 -> b6781c164


[MNG-5359] Declared execution in PluginMgmt gets bound to lifecycle (regression)

o Updated to correctly process lifecycle plugin execution management.
o Verified integration tests are passing.


Project: http://git-wip-us.apache.org/repos/asf/maven/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven/commit/b6781c16
Tree: http://git-wip-us.apache.org/repos/asf/maven/tree/b6781c16
Diff: http://git-wip-us.apache.org/repos/asf/maven/diff/b6781c16

Branch: refs/heads/master
Commit: b6781c1649efa5bab80764db245261ae513f0fc4
Parents: a4d6cf2
Author: Christian Schulte <[email protected]>
Authored: Mon Jan 18 04:56:35 2016 +0100
Committer: Christian Schulte <[email protected]>
Committed: Mon Jan 18 04:56:35 2016 +0100

----------------------------------------------------------------------
 .../DefaultLifecyclePluginAnalyzer.java         | 73 ++++++++++----------
 1 file changed, 37 insertions(+), 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/b6781c16/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
----------------------------------------------------------------------
diff --git 
a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
 
b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
index 6d56978..b4f981d 100644
--- 
a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
+++ 
b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecyclePluginAnalyzer.java
@@ -171,42 +171,9 @@ public class DefaultLifecyclePluginAnalyzer
 
                     if ( goals != null )
                     {
-                        parseLifecyclePhaseDefinitions( plugins, phase, goals 
);
-                    }
-
-                    if ( pluginManagement != null )
-                    {
-                        for ( final Plugin plugin : plugins.keySet() )
-                        {
-                            final Plugin managedPlugin = 
this.getManagedPlugin( pluginManagement, plugin );
+                        parseLifecyclePhaseDefinitions( plugins, phase, goals, 
lifecycle, lifecycleModel,
+                                                        pluginManagement );
 
-                            if ( managedPlugin != null )
-                            {
-                                final List<PluginExecution> defaultExecutions =
-                                    new ArrayList<>( 
managedPlugin.getExecutions().size() );
-
-                                for ( final PluginExecution pluginExecution : 
managedPlugin.getExecutions() )
-                                {
-                                    // What if the plugin's default phase (== 
null) is not from the current lifecyle?
-                                    if ( pluginExecution.getPhase() == null
-                                             || 
lifecycle.getPhases().contains( pluginExecution.getPhase() ) )
-                                    {
-                                        defaultExecutions.add( pluginExecution 
);
-                                    }
-                                }
-
-                                final Plugin defaultManagedPlugin =
-                                    this.getManagedPlugin( 
lifecycleModel.getBuild().getPluginManagement(),
-                                                           managedPlugin );
-
-                                for ( final PluginExecution pluginExecution : 
defaultExecutions )
-                                {
-                                    defaultManagedPlugin.addExecution( 
pluginExecution );
-                                }
-
-                                managedPlugin.getExecutions().removeAll( 
defaultExecutions );
-                            }
-                        }
                     }
                 }
             }
@@ -237,7 +204,9 @@ public class DefaultLifecyclePluginAnalyzer
         return lifecycles;
     }
 
-    private void parseLifecyclePhaseDefinitions( Map<Plugin, Plugin> plugins, 
String phase, LifecyclePhase goals )
+    private void parseLifecyclePhaseDefinitions( Map<Plugin, Plugin> plugins, 
String phase, LifecyclePhase goals,
+                                                 final Lifecycle lifecycle, 
final Model lifecycleModel,
+                                                 final PluginManagement 
pluginManagement )
     {
         List<LifecycleMojo> mojos = goals.getMojos();
 
@@ -284,6 +253,38 @@ public class DefaultLifecyclePluginAnalyzer
 
                 plugin.setDependencies( mojo.getDependencies() );
                 plugin.getExecutions().add( execution );
+
+                if ( pluginManagement != null )
+                {
+                    final Plugin managedPlugin = this.getManagedPlugin( 
pluginManagement, plugin );
+
+                    if ( managedPlugin != null )
+                    {
+                        final List<PluginExecution> defaultExecutions =
+                            new ArrayList<>( 
managedPlugin.getExecutions().size() );
+
+                        for ( final PluginExecution pluginExecution : 
managedPlugin.getExecutions() )
+                        {
+                            // What if the plugin's default phase (== null) is 
not from the lifecyle?
+                            if ( pluginExecution.getPhase() == null
+                                     || lifecycle.getPhases().contains( 
pluginExecution.getPhase() ) )
+                            {
+                                defaultExecutions.add( pluginExecution );
+                            }
+                        }
+
+                        final Plugin defaultManagedPlugin =
+                            this.getManagedPlugin( 
lifecycleModel.getBuild().getPluginManagement(),
+                                                   managedPlugin );
+
+                        for ( final PluginExecution pluginExecution : 
defaultExecutions )
+                        {
+                            defaultManagedPlugin.addExecution( pluginExecution 
);
+                        }
+
+                        managedPlugin.getExecutions().removeAll( 
defaultExecutions );
+                    }
+                }
             }
         }
     }

Reply via email to