diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 73c53c4e980a..6ec439611a55 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -195,6 +195,17 @@ under the License.
org.codehaus.plexus
plexus-component-metadata
+
+
+
+ no-merge
+
+ generate-metadata
+ generate-test-metadata
+
+
+
org.eclipse.sisu
diff --git a/maven-core/src/main/resources/META-INF/plexus/components.xml b/maven-core/src/main/resources/META-INF/plexus/components.xml
index 3f099cb167d9..2dd923116b9b 100644
--- a/maven-core/src/main/resources/META-INF/plexus/components.xml
+++ b/maven-core/src/main/resources/META-INF/plexus/components.xml
@@ -130,5 +130,1066 @@ under the License.
<_configuration-file>~/.m2/settings-security.xml
+
+
+
+ org.apache.maven.Maven
+ default
+ org.apache.maven.DefaultMaven
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.project.ProjectBuilder
+ projectBuilder
+
+
+ org.apache.maven.lifecycle.internal.LifecycleStarter
+ lifecycleStarter
+
+
+ org.codehaus.plexus.PlexusContainer
+ container
+
+
+ org.apache.maven.lifecycle.internal.ExecutionEventCatapult
+ eventCatapult
+
+
+ org.apache.maven.plugin.LegacySupport
+ legacySupport
+
+
+ org.apache.maven.session.scope.internal.SessionScope
+ sessionScope
+
+
+ org.apache.maven.internal.aether.DefaultRepositorySystemSessionFactory
+ repositorySessionFactory
+
+
+ org.apache.maven.graph.GraphBuilder
+ graphBuilder
+ graphBuilder
+
+
+
+
+ org.apache.maven.ProjectDependenciesResolver
+ default
+ org.apache.maven.DefaultProjectDependenciesResolver
+
+ false
+
+
+ org.apache.maven.repository.RepositorySystem
+ repositorySystem
+
+
+ org.apache.maven.artifact.resolver.ResolutionErrorHandler
+ resolutionErrorHandler
+
+
+
+
+ org.apache.maven.artifact.factory.ArtifactFactory
+ default
+ org.apache.maven.artifact.factory.DefaultArtifactFactory
+
+ false
+
+
+ org.apache.maven.artifact.handler.manager.ArtifactHandlerManager
+ artifactHandlerManager
+
+
+
+
+ org.apache.maven.artifact.handler.ArtifactHandler
+ default
+ org.apache.maven.artifact.handler.DefaultArtifactHandler
+
+ false
+
+
+ org.apache.maven.artifact.handler.manager.ArtifactHandlerManager
+ default
+ org.apache.maven.artifact.handler.manager.DefaultArtifactHandlerManager
+
+ false
+
+
+ org.apache.maven.artifact.handler.ArtifactHandler
+ artifactHandlers
+
+
+
+
+ org.apache.maven.artifact.metadata.ArtifactMetadataSource
+ default
+ org.apache.maven.project.artifact.DefaultMetadataSource
+
+ false
+
+
+ org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager
+ repositoryMetadataManager
+
+
+ org.apache.maven.artifact.factory.ArtifactFactory
+ repositorySystem
+
+
+ org.codehaus.plexus.PlexusContainer
+ container
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.project.artifact.MavenMetadataCache
+ cache
+
+
+ org.apache.maven.plugin.LegacySupport
+ legacySupport
+
+
+
+
+ org.apache.maven.artifact.metadata.ArtifactMetadataSource
+ maven
+ org.apache.maven.project.artifact.MavenMetadataSource
+
+ false
+
+
+ org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager
+ repositoryMetadataManager
+
+
+ org.apache.maven.artifact.factory.ArtifactFactory
+ repositorySystem
+
+
+ org.codehaus.plexus.PlexusContainer
+ container
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.project.artifact.MavenMetadataCache
+ cache
+
+
+ org.apache.maven.plugin.LegacySupport
+ legacySupport
+
+
+
+
+ org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout
+ default
+ org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout
+
+ false
+
+
+ org.apache.maven.artifact.repository.metadata.io.MetadataReader
+ default
+ org.apache.maven.artifact.repository.metadata.io.DefaultMetadataReader
+
+ false
+
+
+ org.apache.maven.artifact.resolver.ResolutionErrorHandler
+ default
+ org.apache.maven.artifact.resolver.DefaultResolutionErrorHandler
+
+ false
+
+
+ org.apache.maven.bridge.MavenRepositorySystem
+ default
+ org.apache.maven.bridge.MavenRepositorySystem
+
+ false
+
+
+ org.apache.maven.artifact.handler.manager.ArtifactHandlerManager
+ artifactHandlerManager
+
+
+ org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout
+ layouts
+
+
+
+
+ org.apache.maven.configuration.BeanConfigurator
+ default
+ org.apache.maven.configuration.internal.DefaultBeanConfigurator
+
+ false
+
+
+ org.apache.maven.eventspy.internal.EventSpyDispatcher
+ default
+ org.apache.maven.eventspy.internal.EventSpyDispatcher
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.eventspy.EventSpy
+ eventSpies
+
+
+
+
+ org.apache.maven.exception.ExceptionHandler
+ default
+ org.apache.maven.exception.DefaultExceptionHandler
+
+ false
+
+
+ org.apache.maven.graph.GraphBuilder
+ graphBuilder
+ org.apache.maven.graph.DefaultGraphBuilder
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.project.ProjectBuilder
+ projectBuilder
+
+
+
+
+ org.apache.maven.lifecycle.DefaultLifecycles
+ default
+ org.apache.maven.lifecycle.DefaultLifecycles
+
+ false
+
+
+ org.apache.maven.lifecycle.Lifecycle
+ lifecycles
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+
+
+ org.apache.maven.lifecycle.LifeCyclePluginAnalyzer
+ default
+ org.apache.maven.lifecycle.internal.DefaultLifecyclePluginAnalyzer
+
+ false
+
+
+ org.apache.maven.lifecycle.mapping.LifecycleMapping
+ lifecycleMappings
+
+
+ org.apache.maven.lifecycle.DefaultLifecycles
+ defaultLifeCycles
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+
+
+ org.apache.maven.lifecycle.LifecycleExecutor
+ default
+ org.apache.maven.lifecycle.DefaultLifecycleExecutor
+
+ false
+
+
+ org.apache.maven.lifecycle.LifeCyclePluginAnalyzer
+ lifeCyclePluginAnalyzer
+
+
+ org.apache.maven.lifecycle.DefaultLifecycles
+ defaultLifeCycles
+
+
+ org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator
+ lifecycleTaskSegmentCalculator
+
+
+ org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator
+ lifecycleExecutionPlanCalculator
+
+
+ org.apache.maven.lifecycle.internal.MojoExecutor
+ mojoExecutor
+
+
+ org.apache.maven.lifecycle.internal.LifecycleStarter
+ lifecycleStarter
+
+
+ org.apache.maven.lifecycle.internal.MojoDescriptorCreator
+ mojoDescriptorCreator
+
+
+
+
+ org.apache.maven.lifecycle.LifecycleMappingDelegate
+ default
+ org.apache.maven.lifecycle.internal.DefaultLifecycleMappingDelegate
+
+ false
+
+
+ org.apache.maven.plugin.BuildPluginManager
+ pluginManager
+
+
+
+
+ org.apache.maven.lifecycle.MojoExecutionConfigurator
+ default
+ org.apache.maven.lifecycle.internal.DefaultMojoExecutionConfigurator
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.BuildListCalculator
+ default
+ org.apache.maven.lifecycle.internal.BuildListCalculator
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.ExecutionEventCatapult
+ default
+ org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.LifecycleDebugLogger
+ default
+ org.apache.maven.lifecycle.internal.LifecycleDebugLogger
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+
+
+ org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator
+ default
+ org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator
+
+ false
+
+
+ org.apache.maven.plugin.version.PluginVersionResolver
+ pluginVersionResolver
+
+
+ org.apache.maven.plugin.BuildPluginManager
+ pluginManager
+
+
+ org.apache.maven.lifecycle.DefaultLifecycles
+ defaultLifeCycles
+
+
+ org.apache.maven.lifecycle.internal.MojoDescriptorCreator
+ mojoDescriptorCreator
+
+
+ org.apache.maven.lifecycle.internal.LifecyclePluginResolver
+ lifecyclePluginResolver
+
+
+ org.apache.maven.lifecycle.LifecycleMappingDelegate
+ default
+ standardDelegate
+
+
+ java.util.Map
+ delegates
+
+
+ java.util.Map
+ mojoExecutionConfigurators
+
+
+
+
+ org.apache.maven.lifecycle.internal.LifecycleModuleBuilder
+ default
+ org.apache.maven.lifecycle.internal.LifecycleModuleBuilder
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.MojoExecutor
+ mojoExecutor
+
+
+ org.apache.maven.lifecycle.internal.builder.BuilderCommon
+ builderCommon
+
+
+ org.apache.maven.lifecycle.internal.ExecutionEventCatapult
+ eventCatapult
+
+
+ java.util.List
+ projectExecutionListeners
+
+
+ org.apache.maven.session.scope.internal.SessionScope
+ sessionScope
+
+
+
+
+ org.apache.maven.lifecycle.internal.LifecyclePluginResolver
+ default
+ org.apache.maven.lifecycle.internal.LifecyclePluginResolver
+
+ false
+
+
+ org.apache.maven.plugin.version.PluginVersionResolver
+ pluginVersionResolver
+
+
+
+
+ org.apache.maven.lifecycle.internal.LifecycleStarter
+ default
+ org.apache.maven.lifecycle.internal.LifecycleStarter
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.ExecutionEventCatapult
+ eventCatapult
+
+
+ org.apache.maven.lifecycle.DefaultLifecycles
+ defaultLifeCycles
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.lifecycle.internal.BuildListCalculator
+ buildListCalculator
+
+
+ org.apache.maven.lifecycle.internal.LifecycleDebugLogger
+ lifecycleDebugLogger
+
+
+ org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator
+ lifecycleTaskSegmentCalculator
+
+
+ java.util.Map
+ builders
+
+
+ org.apache.maven.session.scope.internal.SessionScope
+ sessionScope
+
+
+
+
+ org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator
+ default
+ org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.MojoDescriptorCreator
+ mojoDescriptorCreator
+
+
+ org.apache.maven.lifecycle.internal.LifecyclePluginResolver
+ lifecyclePluginResolver
+
+
+
+
+ org.apache.maven.lifecycle.internal.MojoDescriptorCreator
+ default
+ org.apache.maven.lifecycle.internal.MojoDescriptorCreator
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.plugin.version.PluginVersionResolver
+ pluginVersionResolver
+
+
+ org.apache.maven.plugin.BuildPluginManager
+ pluginManager
+
+
+ org.apache.maven.plugin.prefix.PluginPrefixResolver
+ pluginPrefixResolver
+
+
+ org.apache.maven.lifecycle.internal.LifecyclePluginResolver
+ lifecyclePluginResolver
+
+
+
+
+ org.apache.maven.lifecycle.internal.MojoExecutor
+ default
+ org.apache.maven.lifecycle.internal.MojoExecutor
+
+ false
+
+
+ org.apache.maven.plugin.BuildPluginManager
+ pluginManager
+
+
+ org.apache.maven.plugin.MavenPluginManager
+ mavenPluginManager
+
+
+ org.apache.maven.lifecycle.internal.LifecycleDependencyResolver
+ lifeCycleDependencyResolver
+
+
+ org.apache.maven.lifecycle.internal.ExecutionEventCatapult
+ eventCatapult
+
+
+
+
+ org.apache.maven.lifecycle.internal.builder.Builder
+ multithreaded
+ org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.lifecycle.internal.LifecycleModuleBuilder
+ lifecycleModuleBuilder
+
+
+
+
+ org.apache.maven.lifecycle.internal.builder.Builder
+ singlethreaded
+ org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.LifecycleModuleBuilder
+ lifecycleModuleBuilder
+
+
+
+
+ org.apache.maven.lifecycle.internal.builder.BuilderCommon
+ default
+ org.apache.maven.lifecycle.internal.builder.BuilderCommon
+
+ false
+
+
+ org.apache.maven.lifecycle.internal.LifecycleDebugLogger
+ lifecycleDebugLogger
+
+
+ org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator
+ lifeCycleExecutionPlanCalculator
+
+
+ org.apache.maven.lifecycle.internal.ExecutionEventCatapult
+ eventCatapult
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+
+
+ org.apache.maven.model.plugin.LifecycleBindingsInjector
+ default
+ org.apache.maven.model.plugin.DefaultLifecycleBindingsInjector
+
+ false
+
+
+ org.apache.maven.lifecycle.LifeCyclePluginAnalyzer
+ lifecycle
+
+
+
+
+ org.apache.maven.plugin.BuildPluginManager
+ default
+ org.apache.maven.plugin.DefaultBuildPluginManager
+
+ false
+
+
+ org.apache.maven.plugin.MavenPluginManager
+ mavenPluginManager
+
+
+ org.apache.maven.plugin.LegacySupport
+ legacySupport
+
+
+ org.apache.maven.execution.scope.internal.MojoExecutionScope
+ scope
+
+
+ org.apache.maven.execution.MojoExecutionListener
+ mojoExecutionListeners
+
+
+
+
+ org.apache.maven.plugin.ExtensionRealmCache
+ default
+ org.apache.maven.plugin.DefaultExtensionRealmCache
+
+ false
+
+
+ org.apache.maven.plugin.LegacySupport
+ default
+ org.apache.maven.plugin.internal.DefaultLegacySupport
+
+ false
+
+
+ org.apache.maven.plugin.MavenPluginManager
+ default
+ org.apache.maven.plugin.internal.DefaultMavenPluginManager
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.codehaus.plexus.logging.LoggerManager
+ loggerManager
+
+
+ org.codehaus.plexus.PlexusContainer
+ container
+
+
+ org.apache.maven.classrealm.ClassRealmManager
+ classRealmManager
+
+
+ org.apache.maven.plugin.PluginDescriptorCache
+ pluginDescriptorCache
+
+
+ org.apache.maven.plugin.PluginRealmCache
+ pluginRealmCache
+
+
+ org.apache.maven.plugin.internal.PluginDependenciesResolver
+ pluginDependenciesResolver
+
+
+ org.apache.maven.rtinfo.RuntimeInformation
+ runtimeInformation
+
+
+ org.apache.maven.plugin.ExtensionRealmCache
+ extensionRealmCache
+
+
+ org.apache.maven.plugin.version.PluginVersionResolver
+ pluginVersionResolver
+
+
+ org.apache.maven.plugin.PluginArtifactsCache
+ pluginArtifactsCache
+
+
+
+
+ org.apache.maven.plugin.PluginArtifactsCache
+ default
+ org.apache.maven.plugin.DefaultPluginArtifactsCache
+
+ false
+
+
+ org.apache.maven.plugin.PluginDescriptorCache
+ default
+ org.apache.maven.plugin.DefaultPluginDescriptorCache
+
+ false
+
+
+ org.apache.maven.plugin.PluginManager
+ default
+ org.apache.maven.plugin.internal.DefaultPluginManager
+
+ false
+
+
+ org.codehaus.plexus.PlexusContainer
+ container
+
+
+ org.apache.maven.plugin.MavenPluginManager
+ pluginManager
+
+
+ org.apache.maven.plugin.version.PluginVersionResolver
+ pluginVersionResolver
+
+
+ org.apache.maven.plugin.prefix.PluginPrefixResolver
+ pluginPrefixResolver
+
+
+ org.apache.maven.plugin.LegacySupport
+ legacySupport
+
+
+
+
+ org.apache.maven.plugin.PluginRealmCache
+ default
+ org.apache.maven.plugin.DefaultPluginRealmCache
+
+ false
+
+
+ org.apache.maven.plugin.internal.PluginDependenciesResolver
+ default
+ org.apache.maven.plugin.internal.DefaultPluginDependenciesResolver
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.eclipse.aether.RepositorySystem
+ repoSystem
+
+
+
+
+ org.apache.maven.plugin.prefix.PluginPrefixResolver
+ default
+ org.apache.maven.plugin.prefix.internal.DefaultPluginPrefixResolver
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.plugin.BuildPluginManager
+ pluginManager
+
+
+ org.eclipse.aether.RepositorySystem
+ repositorySystem
+
+
+ org.apache.maven.artifact.repository.metadata.io.MetadataReader
+ metadataReader
+
+
+
+
+ org.apache.maven.plugin.version.PluginVersionResolver
+ default
+ org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.eclipse.aether.RepositorySystem
+ repositorySystem
+
+
+ org.apache.maven.artifact.repository.metadata.io.MetadataReader
+ metadataReader
+
+
+ org.apache.maven.plugin.MavenPluginManager
+ pluginManager
+
+
+
+
+ org.apache.maven.project.MavenProjectHelper
+ default
+ org.apache.maven.project.DefaultMavenProjectHelper
+
+ false
+
+
+ org.apache.maven.artifact.handler.manager.ArtifactHandlerManager
+ artifactHandlerManager
+
+
+
+
+ org.apache.maven.project.ProjectBuilder
+ default
+ org.apache.maven.project.DefaultProjectBuilder
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.model.building.ModelBuilder
+ modelBuilder
+
+
+ org.apache.maven.model.building.ModelProcessor
+ modelProcessor
+
+
+ org.apache.maven.project.ProjectBuildingHelper
+ projectBuildingHelper
+
+
+ org.apache.maven.bridge.MavenRepositorySystem
+ repositorySystem
+
+
+ org.eclipse.aether.RepositorySystem
+ repoSystem
+
+
+ org.eclipse.aether.impl.RemoteRepositoryManager
+ repositoryManager
+
+
+ org.apache.maven.project.ProjectDependenciesResolver
+ dependencyResolver
+
+
+
+
+ org.apache.maven.project.ProjectBuildingHelper
+ default
+ org.apache.maven.project.DefaultProjectBuildingHelper
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.codehaus.plexus.PlexusContainer
+ container
+
+
+ org.apache.maven.classrealm.ClassRealmManager
+ classRealmManager
+
+
+ org.apache.maven.project.ProjectRealmCache
+ projectRealmCache
+
+
+ org.apache.maven.repository.RepositorySystem
+ repositorySystem
+
+
+ org.apache.maven.plugin.MavenPluginManager
+ pluginManager
+
+
+
+
+ org.apache.maven.project.ProjectDependenciesResolver
+ default
+ org.apache.maven.project.DefaultProjectDependenciesResolver
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.eclipse.aether.RepositorySystem
+ repoSystem
+
+
+ java.util.List
+ decorators
+
+
+
+
+ org.apache.maven.project.ProjectRealmCache
+ default
+ org.apache.maven.project.DefaultProjectRealmCache
+
+ false
+
+
+ org.apache.maven.project.artifact.MavenMetadataCache
+ default
+ org.apache.maven.project.artifact.DefaultMavenMetadataCache
+
+ false
+
+
+ org.apache.maven.project.artifact.ProjectArtifactsCache
+ default
+ org.apache.maven.project.artifact.DefaultProjectArtifactsCache
+
+ false
+
+
+ org.apache.maven.rtinfo.RuntimeInformation
+ default
+ org.apache.maven.rtinfo.internal.DefaultRuntimeInformation
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+
+
+ org.apache.maven.settings.MavenSettingsBuilder
+ default
+ org.apache.maven.settings.DefaultMavenSettingsBuilder
+
+ false
+
+
+ org.apache.maven.settings.building.SettingsBuilder
+ settingsBuilder
+
+
+
+
+ org.apache.maven.toolchain.ToolchainFactory
+ jdk
+ org.apache.maven.toolchain.java.JavaToolchainFactory
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+
+
+ org.apache.maven.toolchain.ToolchainManager
+ default
+ org.apache.maven.toolchain.DefaultToolchainManager
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.toolchain.ToolchainFactory
+ factories
+
+
+
+
+ org.apache.maven.toolchain.ToolchainManagerPrivate
+ default
+ org.apache.maven.toolchain.DefaultToolchainManagerPrivate
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+ org.apache.maven.toolchain.ToolchainFactory
+ factories
+
+
+
+
+ org.apache.maven.toolchain.ToolchainsBuilder
+ default
+ org.apache.maven.toolchain.DefaultToolchainsBuilder
+
+ false
+
+
+ org.codehaus.plexus.logging.Logger
+ logger
+
+
+
+