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