You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sc...@apache.org on 2016/01/14 15:19:55 UTC

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

Repository: maven
Updated Branches:
  refs/heads/master a035d9026 -> 02795b21e


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

o Re-opening issue and reverting commits
    901b1e8e4c9df50ccc12bf8759589c7c82400aae
    d5ba185c1ab926b53acb0947c8a13ad74eac55e6
    029af3a394b37610ecfb97c07b4f62895f7d2eb7
    cc006b544f0e21683d955e2175b06e864e64329f
    e84405162b8a228aaced264f48ec6a3e8ed261e8


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

Branch: refs/heads/master
Commit: 02795b21e753bdd4eddd7e9ebee9f50315bc0e24
Parents: a035d90
Author: Christian Schulte <sc...@apache.org>
Authored: Thu Jan 14 14:59:15 2016 +0100
Committer: Christian Schulte <sc...@apache.org>
Committed: Thu Jan 14 15:17:39 2016 +0100

----------------------------------------------------------------------
 .../project/DefaultMavenProjectBuilder.java     |   1 -
 .../project/EmptyLifecyclePluginAnalyzer.java   |   8 -
 .../execution/DefaultMavenExecutionRequest.java |   1 -
 .../lifecycle/DefaultLifecycleExecutor.java     |   3 -
 .../maven/lifecycle/DefaultLifecycles.java      |   4 +-
 .../lifecycle/LifeCyclePluginAnalyzer.java      |  22 +-
 .../maven/lifecycle/LifecycleExecutor.java      |  18 +-
 .../lifecycle/LifecycleMappingDelegate.java     |  11 -
 .../LifecycleMappingNotFoundException.java      |  45 ----
 .../DefaultLifecycleMappingDelegate.java        |   9 -
 .../DefaultLifecyclePluginAnalyzer.java         | 228 ++-----------------
 .../DefaultLifecycleBindingsInjector.java       |  42 ++--
 .../maven/project/DefaultProjectBuilder.java    |   1 -
 .../project/DefaultProjectBuildingRequest.java  |  17 --
 .../maven/project/ProjectBuildingRequest.java   |  20 --
 .../lifecycle/EmptyLifecyclePluginAnalyzer.java |   8 -
 .../stub/LifeCyclePluginAnalyzerStub.java       |  16 +-
 .../building/DefaultModelBuildingRequest.java   |  17 --
 .../building/FilterModelBuildingRequest.java    |  15 +-
 .../model/building/ModelBuildingRequest.java    |  19 --
 .../model/plugin/DefaultReportingConverter.java |   6 -
 21 files changed, 59 insertions(+), 452 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java b/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
index 6834a17..7bc5a5c 100644
--- a/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
+++ b/maven-compat/src/main/java/org/apache/maven/project/DefaultMavenProjectBuilder.java
@@ -101,7 +101,6 @@ public class DefaultMavenProjectBuilder
                 {
                     request.setActiveProfileIds( req.getActiveProfiles() );
                     request.setInactiveProfileIds( req.getInactiveProfiles() );
-                    request.setGoals( request.getGoals() );
                 }
             }
         }

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-compat/src/test/java/org/apache/maven/project/EmptyLifecyclePluginAnalyzer.java
----------------------------------------------------------------------
diff --git a/maven-compat/src/test/java/org/apache/maven/project/EmptyLifecyclePluginAnalyzer.java b/maven-compat/src/test/java/org/apache/maven/project/EmptyLifecyclePluginAnalyzer.java
index ead0157..672e07b 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/EmptyLifecyclePluginAnalyzer.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/EmptyLifecyclePluginAnalyzer.java
@@ -24,7 +24,6 @@ import java.util.LinkedHashSet;
 import java.util.Set;
 
 import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer;
-import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
 
@@ -34,7 +33,6 @@ import org.apache.maven.model.PluginExecution;
 public class EmptyLifecyclePluginAnalyzer
     implements LifeCyclePluginAnalyzer
 {
-
     public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
     {
         Set<Plugin> plugins;
@@ -59,12 +57,6 @@ public class EmptyLifecyclePluginAnalyzer
         return plugins;
     }
 
-    @Override
-    public Set<Plugin> getDefaultBuildPlugins( final Model model, final Set<String> goals )
-    {
-        return Collections.emptySet();
-    }
-
     private Plugin newPlugin( String artifactId, String... goals )
     {
         Plugin plugin = new Plugin();

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
index 218b4ec..71a6894 100644
--- a/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultMavenExecutionRequest.java
@@ -1105,7 +1105,6 @@ public class DefaultMavenExecutionRequest
             projectBuildingRequest.setProfiles( getProfiles() );
             projectBuildingRequest.setProcessPlugins( true );
             projectBuildingRequest.setBuildStartTime( getStartTime() );
-            projectBuildingRequest.setGoals( getGoals() );
         }
 
         return projectBuildingRequest;

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
index 8d0405c..6f994b3 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycleExecutor.java
@@ -100,10 +100,7 @@ public class DefaultLifecycleExecutor
     // TODO: This whole method could probably removed by injecting lifeCyclePluginAnalyzer straight into client site.
     // TODO: But for some reason the whole plexus appcontext refuses to start when I try this.
 
-    @Override
-    @Deprecated
     public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
-        throws LifecycleMappingNotFoundException
     {
         return lifeCyclePluginAnalyzer.getPluginsBoundByDefaultToAllLifecycles( packaging );
     }

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
index 788c2fe..48cd0c5 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/DefaultLifecycles.java
@@ -66,9 +66,9 @@ public class DefaultLifecycles
         this.lifecycles = lifecycles;
     }
 
-    public Lifecycle get( String phase )
+    public Lifecycle get( String key )
     {
-        return getPhaseToLifecycleMap().get( phase );
+        return getPhaseToLifecycleMap().get( key );
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java b/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java
index 536e167..ed07c1d 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/LifeCyclePluginAnalyzer.java
@@ -20,8 +20,6 @@ package org.apache.maven.lifecycle;
  */
 
 import java.util.Set;
-
-import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 
 /**
@@ -30,23 +28,5 @@ import org.apache.maven.model.Plugin;
  */
 public interface LifeCyclePluginAnalyzer
 {
-
-    @Deprecated
-    Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
-        throws LifecycleMappingNotFoundException;
-
-    /**
-     * Gets a set of default build {@code Plugin}s for a given {@code Model} and a Maven execution with the given goals.
-     *
-     * @param model The model to get the default build {@code Plugin}s for.
-     * @param goals A set of goals of the current Maven invokation.
-     *
-     * @return A set of default build {@code Plugin}s for {@code Model}.
-     *
-     * @throws LifecycleMappingNotFoundException if {@code model} does not declare a supported packaging.
-     * @since 3.4
-     */
-    Set<Plugin> getDefaultBuildPlugins( Model model, Set<String> goals )
-        throws LifecycleMappingNotFoundException;
-
+    Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging );
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
index 9e74ba2..04c602c 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleExecutor.java
@@ -47,15 +47,21 @@ public interface LifecycleExecutor
     @Deprecated
     String ROLE = LifecycleExecutor.class.getName();
 
+    // For a given project packaging find all the plugins that are bound to any registered
+    // lifecycles. The project builder needs to now what default plugin information needs to be
+    // merged into POM being built. Once the POM builder has this plugin information, versions can be assigned
+    // by the POM builder because they will have to be defined in plugin management. Once this is setComplete then it
+    // can be passed back so that the default configuration information can be populated.
+    //
+    // We need to know the specific version so that we can lookup the right version of the plugin descriptor
+    // which tells us what the default configuration is.
+    //
+
     /**
      * @return The plugins bound to the lifecycles of the specified packaging or {@code null} if the packaging is
-     * unknown.
-     *
-     * @deprecated Please use {@link LifeCyclePluginAnalyzer}.
+     *         unknown.
      */
-    @Deprecated
-    Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
-        throws LifecycleMappingNotFoundException;
+    Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging );
 
     MavenExecutionPlan calculateExecutionPlan( MavenSession session, String... tasks )
         throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java
index 0b4465f..f070198 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingDelegate.java
@@ -21,7 +21,6 @@ package org.apache.maven.lifecycle;
 
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.InvalidPluginDescriptorException;
@@ -46,16 +45,6 @@ import org.apache.maven.project.MavenProject;
  */
 public interface LifecycleMappingDelegate
 {
-
-    /**
-     * Gets a set of lifecycle identifiers of lifecycles this delegate is requiring to operate.
-     *
-     * @return An unmodifiable set of lifecycle identifiers of lifecycles this delegate is requiring to operate.
-     *
-     * @since 3.4
-     */
-    Set<String> getRequiredLifecycles();
-
     Map<String, List<MojoExecution>> calculateLifecycleMappings( MavenSession session, MavenProject project,
                                                                  Lifecycle lifecycle, String lifecyclePhase )
         throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingNotFoundException.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingNotFoundException.java b/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingNotFoundException.java
deleted file mode 100644
index 983f052..0000000
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/LifecycleMappingNotFoundException.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package org.apache.maven.lifecycle;
-
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-/**
- * Signals a failure to locate a lifecycle mapping.
- *
- * @author Christian Schulte
- *
- * @since 3.4
- */
-public final class LifecycleMappingNotFoundException extends Exception
-{
-
-    private String packaging;
-
-    public LifecycleMappingNotFoundException( final String packaging )
-    {
-        super( String.format( "No lifecycle mapping found for packaging '%s'.", packaging ) );
-        this.packaging = packaging;
-    }
-
-    public String getPackaging()
-    {
-        return this.packaging;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java
index 305fa4e..8348530 100644
--- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java
+++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleMappingDelegate.java
@@ -20,11 +20,9 @@ package org.apache.maven.lifecycle.internal;
  */
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import java.util.TreeMap;
 
 import org.apache.maven.execution.MavenSession;
@@ -53,13 +51,6 @@ public class DefaultLifecycleMappingDelegate
     @Requirement
     private BuildPluginManager pluginManager;
 
-    @Override
-    public Set<String> getRequiredLifecycles()
-    {
-        // The default delegate requires no lifecycles to operate.
-        return Collections.emptySet();
-    }
-
     public Map<String, List<MojoExecution>> calculateLifecycleMappings( MavenSession session, MavenProject project,
                                                                         Lifecycle lifecycle, String lifecyclePhase )
         throws PluginNotFoundException, PluginResolutionException, PluginDescriptorParsingException,

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/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 b98b5f1..a72ce8e 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
@@ -19,25 +19,12 @@ package org.apache.maven.lifecycle.internal;
  * under the License.
  */
 
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashSet;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
 import org.apache.maven.lifecycle.DefaultLifecycles;
 import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer;
 import org.apache.maven.lifecycle.Lifecycle;
-import org.apache.maven.lifecycle.LifecycleMappingDelegate;
-import org.apache.maven.lifecycle.LifecycleMappingNotFoundException;
 import org.apache.maven.lifecycle.mapping.LifecycleMapping;
 import org.apache.maven.lifecycle.mapping.LifecycleMojo;
 import org.apache.maven.lifecycle.mapping.LifecyclePhase;
-import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
 import org.codehaus.plexus.component.annotations.Component;
@@ -45,14 +32,23 @@ import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.logging.Logger;
 import org.codehaus.plexus.util.StringUtils;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.HashSet;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
 /**
  * @since 3.0
  * @author Benjamin Bentmann
  * @author Jason van Zyl
  * @author jdcasey
  * @author Kristian Rosenvold (extracted class only)
- * <p/>
- * NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
+ *         <p/>
+ *         NOTE: This class is not part of any public api and can be changed or deleted without prior notice.
  */
 @Component( role = LifeCyclePluginAnalyzer.class )
 public class DefaultLifecyclePluginAnalyzer
@@ -65,12 +61,6 @@ public class DefaultLifecyclePluginAnalyzer
     @Requirement
     private DefaultLifecycles defaultLifeCycles;
 
-    @Requirement( hint = DefaultLifecycleMappingDelegate.HINT )
-    private LifecycleMappingDelegate defaultLifecycleMappingDelegate;
-
-    @Requirement
-    private Map<String, LifecycleMappingDelegate> lifecycleMappingDelegates;
-
     @Requirement
     private Logger logger;
 
@@ -82,23 +72,25 @@ public class DefaultLifecyclePluginAnalyzer
     // <plugin/> block in a Maven POM. We have to do some wiggling to pull the sources of information
     // together and this really shows the problem of constructing a sensible default configuration but
     // it's all encapsulated here so it appears normalized to the POM builder.
+
     // We are going to take the project packaging and find all plugin in the default lifecycle and create
     // fully populated Plugin objects, including executions with goals and default configuration taken
     // from the plugin.xml inside a plugin.
+    //
+
     public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
-        throws LifecycleMappingNotFoundException
     {
         if ( logger.isDebugEnabled() )
         {
             logger.debug( "Looking up lifecyle mappings for packaging " + packaging + " from "
-                              + Thread.currentThread().getContextClassLoader() );
+                + Thread.currentThread().getContextClassLoader() );
         }
 
         LifecycleMapping lifecycleMappingForPackaging = lifecycleMappings.get( packaging );
 
         if ( lifecycleMappingForPackaging == null )
         {
-            throw new LifecycleMappingNotFoundException( packaging );
+            return null;
         }
 
         Map<Plugin, Plugin> plugins = new LinkedHashMap<>();
@@ -136,178 +128,6 @@ public class DefaultLifecyclePluginAnalyzer
         return plugins.keySet();
     }
 
-    @Override
-    public Set<Plugin> getDefaultBuildPlugins( final Model model, final Set<String> goals )
-        throws LifecycleMappingNotFoundException
-    {
-        final Map<Plugin, Plugin> defaultBuildPlugins = new LinkedHashMap<>();
-        final Set<String> executedLifecycles = new HashSet<>();
-
-        // Plugins of lifecycles of the 'MavenExecutionRequest' goals or the project default goals.
-        if ( goals != null )
-        {
-            if ( !goals.isEmpty() )
-            {
-                // Command line goals.
-                for ( final String goal : goals )
-                {
-                    if ( !isGoalSpecification( goal ) )
-                    {
-                        final Lifecycle lifecycle = this.defaultLifeCycles.get( goal );
-
-                        if ( lifecycle != null )
-                        {
-                            executedLifecycles.add( lifecycle.getId() );
-                        }
-                    }
-                }
-            }
-            else if ( model.getBuild() != null && model.getBuild().getDefaultGoal() != null )
-            {
-                // No command line goals -> default goal(s).
-                // Copied from 'DefaultLifecycleTaskSegmentCalculator'.
-                if ( !StringUtils.isEmpty( model.getBuild().getDefaultGoal() ) )
-                {
-                    for ( final String goal
-                              : Arrays.asList( StringUtils.split( model.getBuild().getDefaultGoal() ) ) )
-                    {
-                        if ( !isGoalSpecification( goal ) )
-                        {
-                            final Lifecycle lifecycle = this.defaultLifeCycles.get( goal );
-
-                            if ( lifecycle != null )
-                            {
-                                executedLifecycles.add( lifecycle.getId() );
-                            }
-                        }
-                    }
-                }
-            }
-        }
-
-        // If nothing is to be executed via MavenExecutionRequest or default goals from the model, no need to provide
-        // anything as nothing will ever get executed.
-        if ( !executedLifecycles.isEmpty() )
-        {
-            // Plugins of lifecycles plugin executions are bound to manually.
-            if ( model.getBuild() != null && model.getBuild().getPlugins() != null )
-            {
-                for ( final Plugin plugin : model.getBuild().getPlugins() )
-                {
-                    executedLifecycles.addAll( this.getLifecycleRequirements( plugin ) );
-                }
-            }
-
-            // Plugins of lifecycles required by lifecycle mapping delegates.
-            for ( final Lifecycle lifecycle : this.defaultLifeCycles.getLifeCycles() )
-            {
-                // Keep in sync with
-                //   DefaultLifecycleExecutionPlanCalculator#calculateLifecycleMappings( MavenSession session,
-                //                                                                       MavenProject project,
-                //                                                                       String lifecyclePhase )
-                final LifecycleMappingDelegate lifecycleMappingDelegate =
-                    Arrays.binarySearch( DefaultLifecycles.STANDARD_LIFECYCLES, lifecycle.getId() ) >= 0
-                        ? defaultLifecycleMappingDelegate
-                        : lifecycleMappingDelegates.containsKey( lifecycle.getId() )
-                              ? lifecycleMappingDelegates.get( lifecycle.getId() )
-                              : defaultLifecycleMappingDelegate;
-
-                for ( final String id : lifecycleMappingDelegate.getRequiredLifecycles() )
-                {
-                    executedLifecycles.add( id );
-                }
-            }
-        }
-
-        for ( final Lifecycle lifecycle : this.getOrderedLifecycles() )
-        {
-            if ( executedLifecycles.contains( lifecycle.getId() ) )
-            {
-                org.apache.maven.lifecycle.mapping.Lifecycle lifecycleConfiguration = null;
-
-                if ( lifecycle.getId().equals( "default" ) )
-                {
-                    if ( logger.isDebugEnabled() )
-                    {
-                        logger.debug( String.format( "Looking up lifecyle mappings for packaging '%s' from '%s'",
-                                                     model.getPackaging(),
-                                                     Thread.currentThread().getContextClassLoader() ) );
-
-                    }
-
-                    final LifecycleMapping lifecycleMappingForPackaging =
-                        this.lifecycleMappings.get( model.getPackaging() );
-
-                    if ( lifecycleMappingForPackaging == null )
-                    {
-                        throw new LifecycleMappingNotFoundException( model.getPackaging() );
-                    }
-
-                    lifecycleConfiguration = lifecycleMappingForPackaging.getLifecycles().get( lifecycle.getId() );
-                }
-
-                Map<String, LifecyclePhase> phaseToGoalMapping = null;
-
-                if ( lifecycleConfiguration != null )
-                {
-                    phaseToGoalMapping = lifecycleConfiguration.getLifecyclePhases();
-                }
-                else if ( lifecycle.getDefaultLifecyclePhases() != null )
-                {
-                    phaseToGoalMapping = lifecycle.getDefaultLifecyclePhases();
-                }
-
-                if ( phaseToGoalMapping != null )
-                {
-                    for ( final Map.Entry<String, LifecyclePhase> goalsForLifecyclePhase
-                              : phaseToGoalMapping.entrySet() )
-                    {
-                        final String phase = goalsForLifecyclePhase.getKey();
-                        final LifecyclePhase lifecyclePhase = goalsForLifecyclePhase.getValue();
-
-                        if ( goals != null )
-                        {
-                            parseLifecyclePhaseDefinitions( defaultBuildPlugins, phase, lifecyclePhase );
-                        }
-                    }
-                }
-            }
-        }
-
-        return defaultBuildPlugins.keySet();
-    }
-
-    private Set<String> getLifecycleRequirements( final Plugin plugin )
-    {
-        final Set<String> executedLifecycles = new HashSet<>();
-
-        for ( final PluginExecution pluginExecution : plugin.getExecutions() )
-        {
-            if ( pluginExecution.getPhase() != null )
-            {
-                final Lifecycle lifecycle = this.defaultLifeCycles.get( pluginExecution.getPhase() );
-
-                if ( lifecycle != null )
-                {
-                    executedLifecycles.add( lifecycle.getId() );
-                }
-            }
-            else
-            {
-                // TODO: If omitted, the goals will be bound to the default phase specified by the plugin.
-                // TODO: Forked executions.
-            }
-        }
-
-        return executedLifecycles;
-    }
-
-    // Copied from 'DefaultLifecycleTaskSegmentCalculator'.
-    private static boolean isGoalSpecification( String task )
-    {
-        return task.indexOf( ':' ) >= 0;
-    }
-
     private List<Lifecycle> getOrderedLifecycles()
     {
         // NOTE: The lifecycle order can affect implied execution ids so we better be deterministic.
@@ -332,25 +152,25 @@ public class DefaultLifecyclePluginAnalyzer
         List<LifecycleMojo> mojos = goals.getMojos();
         if ( mojos != null )
         {
-
+            
             for ( int i = 0; i < mojos.size(); i++ )
             {
                 LifecycleMojo mojo = mojos.get( i );
-
+                
                 GoalSpec gs = parseGoalSpec( mojo.getGoal() );
-
+    
                 if ( gs == null )
                 {
                     logger.warn( "Ignored invalid goal specification '" + mojo.getGoal()
-                                     + "' from lifecycle mapping for phase " + phase );
+                            + "' from lifecycle mapping for phase " + phase );
                     continue;
                 }
-
+    
                 Plugin plugin = new Plugin();
                 plugin.setGroupId( gs.groupId );
                 plugin.setArtifactId( gs.artifactId );
                 plugin.setVersion( gs.version );
-
+    
                 Plugin existing = plugins.get( plugin );
                 if ( existing != null )
                 {
@@ -364,14 +184,14 @@ public class DefaultLifecyclePluginAnalyzer
                 {
                     plugins.put( plugin, plugin );
                 }
-
+    
                 PluginExecution execution = new PluginExecution();
                 execution.setId( getExecutionId( plugin, gs.goal ) );
                 execution.setPhase( phase );
                 execution.setPriority( i - mojos.size() );
                 execution.getGoals().add( gs.goal );
                 execution.setConfiguration( mojo.getConfiguration() );
-
+                
                 plugin.setDependencies( mojo.getDependencies() );
                 plugin.getExecutions().add( execution );
             }

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java b/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java
index b77bf0a..1401e30 100644
--- a/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java
+++ b/maven-core/src/main/java/org/apache/maven/model/plugin/DefaultLifecycleBindingsInjector.java
@@ -22,13 +22,11 @@ package org.apache.maven.model.plugin;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
-import java.util.HashSet;
 import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
 import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer;
-import org.apache.maven.lifecycle.LifecycleMappingNotFoundException;
 import org.apache.maven.model.Build;
 import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
@@ -36,12 +34,11 @@ import org.apache.maven.model.PluginContainer;
 import org.apache.maven.model.PluginExecution;
 import org.apache.maven.model.PluginManagement;
 import org.apache.maven.model.building.ModelBuildingRequest;
+import org.apache.maven.model.building.ModelProblemCollector;
 import org.apache.maven.model.building.ModelProblem.Severity;
 import org.apache.maven.model.building.ModelProblem.Version;
-import org.apache.maven.model.building.ModelProblemCollector;
 import org.apache.maven.model.building.ModelProblemCollectorRequest;
 import org.apache.maven.model.merge.MavenModelMerger;
-
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Requirement;
 
@@ -58,36 +55,27 @@ public class DefaultLifecycleBindingsInjector
     private LifecycleBindingsMerger merger = new LifecycleBindingsMerger();
 
     @Requirement
-    private LifeCyclePluginAnalyzer lifecyclePluginAnalyzer;
+    private LifeCyclePluginAnalyzer lifecycle;
 
     public void injectLifecycleBindings( Model model, ModelBuildingRequest request, ModelProblemCollector problems )
     {
-        try
-        {
-            // MNG-5359: request.setGoals() may not have been called since the goals got added for MNG-5359 in 3.4. In
-            //           this case fall back to the pre 3.4 behaviour. Usages of ProjectBuildingRequest and
-            //           ModelBuildingRequest without setting the goals should behave the same way as before.
-            final Collection<Plugin> defaultPlugins =
-                request.getGoals() == null
-                    ? lifecyclePluginAnalyzer.getPluginsBoundByDefaultToAllLifecycles( model.getPackaging() )
-                    : lifecyclePluginAnalyzer.getDefaultBuildPlugins( model, new HashSet<>( request.getGoals() ) );
-
-            if ( !defaultPlugins.isEmpty() )
-            {
-                Model lifecycleModel = new Model();
-                lifecycleModel.setBuild( new Build() );
-                lifecycleModel.getBuild().getPlugins().addAll( defaultPlugins );
+        String packaging = model.getPackaging();
 
-                merger.merge( model, lifecycleModel );
-            }
+        Collection<Plugin> defaultPlugins = lifecycle.getPluginsBoundByDefaultToAllLifecycles( packaging );
+
+        if ( defaultPlugins == null )
+        {
+            problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE )
+                    .setMessage( "Unknown packaging: " + packaging )
+                    .setLocation( model.getLocation( "packaging" ) ) );
         }
-        catch ( final LifecycleMappingNotFoundException e )
+        else if ( !defaultPlugins.isEmpty() )
         {
-            problems.add( new ModelProblemCollectorRequest( Severity.ERROR, Version.BASE ).
-                setException( e ).
-                setMessage( "Unknown packaging: " + model.getPackaging() ).
-                setLocation( model.getLocation( "packaging" ) ) );
+            Model lifecycleModel = new Model();
+            lifecycleModel.setBuild( new Build() );
+            lifecycleModel.getBuild().getPlugins().addAll( defaultPlugins );
 
+            merger.merge( model, lifecycleModel );
         }
     }
 

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
index 3b3fe74..fb15c87 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuilder.java
@@ -272,7 +272,6 @@ public class DefaultProjectBuilder
         request.setBuildStartTime( configuration.getBuildStartTime() );
         request.setModelResolver( resolver );
         request.setModelCache( new ReactorModelCache() );
-        request.setGoals( configuration.getGoals() );
 
         return request;
     }

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
index ab5de1c..97eb276 100644
--- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingRequest.java
@@ -20,7 +20,6 @@ package org.apache.maven.project;
  */
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.Properties;
@@ -68,8 +67,6 @@ public class DefaultProjectBuildingRequest
 
     private RepositoryMerging repositoryMerging = RepositoryMerging.POM_DOMINANT;
 
-    private List<String> goals;
-
     public DefaultProjectBuildingRequest()
     {
         processPlugins = true;
@@ -99,7 +96,6 @@ public class DefaultProjectBuildingRequest
         setProject( request.getProject() );
         setResolveDependencies( request.isResolveDependencies() );
         setValidationLevel( request.getValidationLevel() );
-        setGoals( request.getGoals() );
     }
 
     public MavenProject getProject()
@@ -343,19 +339,6 @@ public class DefaultProjectBuildingRequest
         return this;
     }
 
-    @Override
-    public List<String> getGoals()
-    {
-        return this.goals;
-    }
-
-    @Override
-    public DefaultProjectBuildingRequest setGoals( final List<String> value )
-    {
-        this.goals = value != null ? Collections.unmodifiableList( value ) : null;
-        return this;
-    }
-
     public RepositoryMerging getRepositoryMerging()
     {
         return repositoryMerging;

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
index c87c8d9..17a53b1 100644
--- a/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
+++ b/maven-core/src/main/java/org/apache/maven/project/ProjectBuildingRequest.java
@@ -185,26 +185,6 @@ public interface ProjectBuildingRequest
     ProjectBuildingRequest setResolveVersionRanges( boolean value );
 
     /**
-     * Gets the goals the user requested to execute.
-     *
-     * @return An unmodifiable set of goals to execute or {@code null}.
-     *
-     * @since 3.4
-     */
-    List<String> getGoals();
-
-    /**
-     * Sets the goals the user requested to execute.
-     *
-     * @param value Set of goals the user requested to execute or {@code null}.
-     *
-     * @return This request, newver {@code null}.
-     *
-     * @since 3.4
-     */
-    ProjectBuildingRequest setGoals( List<String> value );
-
-    /**
      * The possible merge modes for combining remote repositories.
      */
     enum RepositoryMerging

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java b/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java
index 5106fd9..a812c26 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/EmptyLifecyclePluginAnalyzer.java
@@ -23,7 +23,6 @@ import java.util.Collections;
 import java.util.LinkedHashSet;
 import java.util.Set;
 
-import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
 
@@ -33,7 +32,6 @@ import org.apache.maven.model.PluginExecution;
 public class EmptyLifecyclePluginAnalyzer
     implements LifeCyclePluginAnalyzer
 {
-
     public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
     {
         Set<Plugin> plugins;
@@ -58,12 +56,6 @@ public class EmptyLifecyclePluginAnalyzer
         return plugins;
     }
 
-    @Override
-    public Set<Plugin> getDefaultBuildPlugins( final Model model, final Set<String> goals )
-    {
-        return Collections.emptySet();
-    }
-
     private Plugin newPlugin( String artifactId, String... goals )
     {
         Plugin plugin = new Plugin();

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java
----------------------------------------------------------------------
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java
index 75d7923..b067e24 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/stub/LifeCyclePluginAnalyzerStub.java
@@ -15,22 +15,20 @@
 
 package org.apache.maven.lifecycle.internal.stub;
 
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.Set;
-
 import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer;
-import org.apache.maven.model.Model;
 import org.apache.maven.model.Plugin;
 import org.apache.maven.model.PluginExecution;
 
+import java.util.Collections;
+import java.util.LinkedHashSet;
+import java.util.Set;
+
 /**
  * @author Kristian Rosenvold
  */
 public class LifeCyclePluginAnalyzerStub
     implements LifeCyclePluginAnalyzer
 {
-
     public Set<Plugin> getPluginsBoundByDefaultToAllLifecycles( String packaging )
     {
         Set<Plugin> plugins;
@@ -55,12 +53,6 @@ public class LifeCyclePluginAnalyzerStub
         return plugins;
     }
 
-    @Override
-    public Set<Plugin> getDefaultBuildPlugins( final Model model, final Set<String> goals )
-    {
-        return Collections.emptySet();
-    }
-
     private Plugin newPlugin( String artifactId, String... goals )
     {
         Plugin plugin = new Plugin();

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
index f5e1c83..a3505c9 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/DefaultModelBuildingRequest.java
@@ -21,7 +21,6 @@ package org.apache.maven.model.building;
 
 import java.io.File;
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.Date;
 import java.util.List;
 import java.util.Properties;
@@ -74,8 +73,6 @@ public class DefaultModelBuildingRequest
 
     private WorkspaceModelResolver workspaceResolver;
 
-    private List<String> goals;
-
     /**
      * Creates an empty request.
      */
@@ -104,7 +101,6 @@ public class DefaultModelBuildingRequest
         setModelResolver( request.getModelResolver() );
         setModelBuildingListener( request.getModelBuildingListener() );
         setModelCache( request.getModelCache() );
-        setGoals( request.getGoals() );
     }
 
     @Override
@@ -409,17 +405,4 @@ public class DefaultModelBuildingRequest
         return this;
     }
 
-    @Override
-    public List<String> getGoals()
-    {
-        return this.goals;
-    }
-
-    @Override
-    public ModelBuildingRequest setGoals( final List<String> value )
-    {
-        this.goals = value != null ? Collections.unmodifiableList( value ) : null;
-        return this;
-    }
-
 }

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
index 480668c..c5c2cbf 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/FilterModelBuildingRequest.java
@@ -282,17 +282,4 @@ class FilterModelBuildingRequest
         return this;
     }
 
-    @Override
-    public List<String> getGoals()
-    {
-        return request.getGoals();
-    }
-
-    @Override
-    public ModelBuildingRequest setGoals( final List<String> value )
-    {
-        request.setGoals( value );
-        return this;
-    }
-
-}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
index e1cad14..c10274d 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/building/ModelBuildingRequest.java
@@ -335,23 +335,4 @@ public interface ModelBuildingRequest
 
     ModelBuildingRequest setWorkspaceModelResolver( WorkspaceModelResolver workspaceResolver );
 
-    /**
-     * Gets the goals the user requested to execute.
-     *
-     * @return An unmodifiable set of goals to execute or {@code null}.
-     *
-     * @since 3.4
-     */
-    List<String> getGoals();
-
-    /**
-     * Sets the goals the user requested to execute.
-     *
-     * @param value Set of goals the user requested to execute or {@code null}.
-     *
-     * @return This request, newver {@code null}.
-     *
-     * @since 3.4
-     */
-    ModelBuildingRequest setGoals( List<String> value );
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/maven/blob/02795b21/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java
----------------------------------------------------------------------
diff --git a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java
index 4d2bef1..d918d9e 100644
--- a/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java
+++ b/maven-model-builder/src/main/java/org/apache/maven/model/plugin/DefaultReportingConverter.java
@@ -66,12 +66,6 @@ public class DefaultReportingConverter
         {
             sitePlugin = new Plugin();
             sitePlugin.setArtifactId( "maven-site-plugin" );
-
-            // MNG-5359: Since the site plugin is no longer added if not requested by the user, a version needs to be
-            //           provided here. This version should be kept in sync with the version declared for the 'site'
-            //           lifecycle. Prior to MNG-5359, findSitePlugin( build ) never returned 'null'.
-            sitePlugin.setVersion( "3.3" );
-
             PluginManagement pluginManagement = build.getPluginManagement();
             if ( pluginManagement == null )
             {