o convert as much as i can in maven-core to use the annotation processor. it revealed a bug where given certain circumstances

if a component was a requirement it prevents the actual component descriptor for that requirement to be output. worked
  around that by using the javadoc annotations on 5 problem classes. i'll fix the processor before converting the rest.



git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@721606 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jason van Zyl 2008-11-29 01:36:23 +00:00
parent 5b39f3ed58
commit 8d32719c39
17 changed files with 145 additions and 438 deletions

View File

@ -21,6 +21,7 @@ package org.apache.maven;
import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
import org.apache.maven.artifact.resolver.filter.ExclusionSetFilter;
import org.codehaus.plexus.component.annotations.Component;
import java.util.HashSet;
import java.util.Set;
@ -30,7 +31,9 @@ import java.util.Set;
* @version $Id$
* @todo this should probably be a component with some dynamic control of filtering
*/
public class DefaultArtifactFilterManager implements ArtifactFilterManager
@Component(role = ArtifactFilterManager.class)
public class DefaultArtifactFilterManager
implements ArtifactFilterManager
{
private static final Set DEFAULT_EXCLUSIONS;

View File

@ -36,8 +36,10 @@ import org.codehaus.plexus.util.IOUtil;
* @author Jason van Zyl
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
* @plexus.component
*/
@Component(role = RuntimeInformation.class)
//@Component(role = RuntimeInformation.class)
//!!jvz not picked up by the anno processor
public class DefaultRuntimeInformation
implements RuntimeInformation, Initializable
{

View File

@ -51,6 +51,8 @@ import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
@ -77,25 +79,27 @@ import java.util.Stack;
* @todo because of aggregation, we ended up with cli-ish stuff in here (like line() and the project logging, without
* much of the event handling)
*/
@Component(role = LifecycleExecutor.class)
public class DefaultLifecycleExecutor
extends AbstractLogEnabled
implements LifecycleExecutor, Contextualizable
implements LifecycleExecutor
{
// ----------------------------------------------------------------------
// Components
// ----------------------------------------------------------------------
@Requirement
private PluginManager pluginManager;
@Requirement
private PluginLoader pluginLoader;
@Requirement
private BuildPlanner buildPlanner;
@Requirement
private MojoBindingFactory mojoBindingFactory;
@Requirement
private LifecycleBindingManager lifecycleBindingManager;
// this is needed for setting the lookup realm before we start building a project.
@Requirement
private PlexusContainer container;
// ----------------------------------------------------------------------
@ -940,12 +944,6 @@ public class DefaultLifecycleExecutor
return tasks;
}
}
public void contextualize( Context context )
throws ContextException
{
container = (PlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
}
public List getLifecycles()
{

View File

@ -24,6 +24,8 @@ import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.logging.LogEnabled;
@ -48,29 +50,33 @@ import java.util.StringTokenizer;
* @author jdcasey
*
*/
@Component(role = LifecycleBindingManager.class)
public class DefaultLifecycleBindingManager
implements LifecycleBindingManager, LogEnabled, Contextualizable
implements LifecycleBindingManager, LogEnabled
{
private Map bindingsByPackaging;
private Map legacyMappingsByPackaging;
@Requirement
private PluginLoader pluginLoader;
@Requirement
private MojoBindingFactory mojoBindingFactory;
@Requirement
private PlexusContainer container;
@Requirement
private LegacyLifecycleMappingParser legacyLifecycleMappingParser;
private Logger logger;
private Map bindingsByPackaging;
private Map legacyMappingsByPackaging;
// configured. Moved out of DefaultLifecycleExecutor...
private List<org.apache.maven.lifecycle.binding.Lifecycle> lifecycles;
// configured. Moved out of DefaultLifecycleExecutor...
private List defaultReports;
// contextualized, used for setting lookup realm before retrieving lifecycle bindings for packaging.
private PlexusContainer container;
public List<org.apache.maven.lifecycle.binding.Lifecycle> getLifecycles()
{
@ -595,12 +601,6 @@ public class DefaultLifecycleBindingManager
return reportClass.isAssignableFrom( mojoClass );
}
public void contextualize( Context ctx )
throws ContextException
{
container = (PlexusContainer) ctx.get( PlexusConstants.PLEXUS_KEY );
}
/**
* {@inheritDoc}
*/

View File

@ -9,6 +9,8 @@ import org.apache.maven.plugin.loader.PluginLoader;
import org.apache.maven.plugin.loader.PluginLoaderException;
import org.apache.maven.plugin.loader.PluginPrefixLoader;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import java.util.StringTokenizer;
@ -19,10 +21,11 @@ import java.util.StringTokenizer;
* @author jdcasey
*
*/
@Component(role = MojoBindingFactory.class)
public class DefaultMojoBindingFactory
implements MojoBindingFactory
{
@Requirement
PluginPrefixLoader pluginPrefixLoader;
/**

View File

@ -9,6 +9,7 @@ import org.apache.maven.lifecycle.model.LifecycleBindings;
import org.apache.maven.lifecycle.model.MojoBinding;
import org.apache.maven.lifecycle.model.Phase;
import org.apache.maven.lifecycle.model.SiteBinding;
import org.codehaus.plexus.component.annotations.Component;
import java.util.Collections;
import java.util.Iterator;
@ -21,13 +22,15 @@ import java.util.StringTokenizer;
* because this syntax should be deprecated and removed from support, eventually.
*
* @author jdcasey
*
* @plexus.component role=org.apache.maven.lifecycle.binding.LegacyLifecycleMappingParser"
*/
//!!jvz This is not picked up by the annotation processor
//@Component(role = LegacyLifecycleMappingParser.class)
public class LegacyLifecycleMappingParser
{
public static final String ROLE = LegacyLifecycleMappingParser.class.getName();
/** @plexus.requirement */
private MojoBindingFactory mojoBindingFactory;
public LifecycleBindings parseDefaultMappings( final List lifecycles )

View File

@ -24,12 +24,15 @@ import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.codehaus.plexus.component.annotations.Component;
/**
* Lifecycle mapping for a POM.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id$
*/
@Component(role = LifecycleMapping.class)
public class DefaultLifecycleMapping
implements LifecycleMapping
{

View File

@ -14,6 +14,8 @@ import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.loader.PluginLoader;
import org.apache.maven.plugin.loader.PluginLoaderException;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
@ -34,18 +36,21 @@ import java.util.Stack;
* @author jdcasey
*
*/
@Component(role = BuildPlanner.class)
public class DefaultBuildPlanner
implements BuildPlanner, LogEnabled
{
private Logger logger;
@Requirement
private PluginLoader pluginLoader;
@Requirement
private LifecycleBindingManager lifecycleBindingManager;
@Requirement
private MojoBindingFactory mojoBindingFactory;
private Logger logger;
public void constructInitialProjectBuildPlans( final MavenSession session )
throws LifecycleLoaderException, LifecycleSpecificationException, LifecyclePlannerException
{

View File

@ -19,9 +19,20 @@ package org.apache.maven.plugin;
* under the License.
*/
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.apache.maven.ArtifactFilterManager;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.shared.model.InterpolatorProperty;
import org.apache.maven.artifact.Artifact;
import org.apache.maven.artifact.factory.ArtifactFactory;
import org.apache.maven.artifact.metadata.ArtifactMetadataRetrievalException;
@ -41,9 +52,9 @@ import org.apache.maven.artifact.versioning.VersionRange;
import org.apache.maven.execution.MavenSession;
import org.apache.maven.execution.RuntimeInformation;
import org.apache.maven.lifecycle.statemgmt.StateManagementUtils;
import org.apache.maven.model.Model;
import org.apache.maven.model.Plugin;
import org.apache.maven.model.ReportPlugin;
import org.apache.maven.model.Model;
import org.apache.maven.monitor.event.EventDispatcher;
import org.apache.maven.monitor.event.MavenEvents;
import org.apache.maven.monitor.logging.DefaultLog;
@ -51,7 +62,6 @@ import org.apache.maven.plugin.descriptor.MojoDescriptor;
import org.apache.maven.plugin.descriptor.Parameter;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
import org.apache.maven.plugin.logging.Log;
import org.apache.maven.plugin.version.PluginVersionManager;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
@ -59,15 +69,16 @@ import org.apache.maven.project.DuplicateArtifactAttachmentException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.apache.maven.project.builder.PomInterpolatorTag;
import org.apache.maven.project.builder.ProjectBuilder;
import org.apache.maven.project.artifact.InvalidDependencyVersionException;
import org.apache.maven.project.artifact.MavenMetadataSource;
import org.apache.maven.project.builder.PomInterpolatorTag;
import org.apache.maven.project.builder.ProjectBuilder;
import org.apache.maven.project.path.PathTranslator;
import org.apache.maven.realm.MavenRealmManager;
import org.apache.maven.realm.RealmManagementException;
import org.apache.maven.reporting.MavenReport;
import org.codehaus.plexus.MutablePlexusContainer;
import org.codehaus.plexus.PlexusConstants;
import org.apache.maven.shared.model.InterpolatorProperty;
import org.codehaus.plexus.PlexusContainer;
import org.codehaus.plexus.classworlds.realm.ClassRealm;
import org.codehaus.plexus.component.configurator.ComponentConfigurationException;
import org.codehaus.plexus.component.configurator.ComponentConfigurator;
@ -80,31 +91,18 @@ import org.codehaus.plexus.component.repository.exception.ComponentRepositoryExc
import org.codehaus.plexus.configuration.PlexusConfiguration;
import org.codehaus.plexus.configuration.PlexusConfigurationException;
import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
import org.codehaus.plexus.context.Context;
import org.codehaus.plexus.context.ContextException;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.personality.plexus.lifecycle.phase.Contextualizable;
import org.codehaus.plexus.util.StringUtils;
import org.codehaus.plexus.util.xml.Xpp3Dom;
import org.codehaus.plexus.util.xml.Xpp3DomBuilder;
import org.codehaus.plexus.util.xml.pull.XmlPullParserException;
import java.io.IOException;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.LinkedHashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
/** @plexus.component */
//@Component(role=PluginManager.class)
//!!jvz not picked up by the anno processor
public class DefaultPluginManager
extends AbstractLogEnabled
implements PluginManager, Contextualizable
implements PluginManager
{
private static final List RESERVED_GROUP_IDS;
@ -117,37 +115,56 @@ public class DefaultPluginManager
RESERVED_GROUP_IDS = rgids;
}
protected MutablePlexusContainer container;
//@Requirement
/** @plexus.requirement */
protected PlexusContainer container;
protected PluginDescriptorBuilder pluginDescriptorBuilder;
//@Requirement
/** @plexus.requirement */
protected ArtifactFilterManager coreArtifactFilterManager;
private Log mojoLogger;
// component requirements
//@Requirement
/** @plexus.requirement */
protected PathTranslator pathTranslator;
//@Requirement
/** @plexus.requirement */
protected MavenPluginCollector pluginCollector;
//@Requirement
/** @plexus.requirement */
protected PluginVersionManager pluginVersionManager;
//@Requirement
/** @plexus.requirement */
protected ArtifactFactory artifactFactory;
//@Requirement
/** @plexus.requirement */
protected ArtifactResolver artifactResolver;
//@Requirement
/** @plexus.requirement */
protected ArtifactMetadataSource artifactMetadataSource;
//@Requirement
/** @plexus.requirement */
protected RuntimeInformation runtimeInformation;
//@Requirement
/** @plexus.requirement */
protected MavenProjectBuilder mavenProjectBuilder;
//@Requirement
/** @plexus.requirement */
protected PluginMappingManager pluginMappingManager;
//@Requirement
/** @plexus.requirement */
private PluginManagerSupport pluginManagerSupport;
// END component requirements
public DefaultPluginManager()
{
pluginDescriptorBuilder = new PluginDescriptorBuilder();
@ -862,8 +879,8 @@ public class DefaultPluginManager
( (ContextEnabled) mojo ).setPluginContext( pluginContext );
}
mojo.setLog( mojoLogger );
mojo.setLog( new DefaultLog( getLogger() ) );
XmlPlexusConfiguration pomConfiguration;
if ( dom == null )
@ -1365,6 +1382,8 @@ public class DefaultPluginManager
getLogger().debug( "Configuring mojo '" + mojoDescriptor.getId() + "' with "
+ ( configuratorId == null ? "basic" : configuratorId )
+ " configurator -->" );
System.out.println( configuration );
// This needs to be able to use methods
configurator.configureComponent( plugin, configuration, expressionEvaluator, realm, listener );
@ -1460,18 +1479,6 @@ public class DefaultPluginManager
return message.toString();
}
// ----------------------------------------------------------------------
// Lifecycle
// ----------------------------------------------------------------------
public void contextualize( Context context )
throws ContextException
{
container = (MutablePlexusContainer) context.get( PlexusConstants.PLEXUS_KEY );
mojoLogger = new DefaultLog( container.getLoggerManager().getLoggerForComponent( Mojo.ROLE ) );
}
// ----------------------------------------------------------------------
// Artifact resolution
// ----------------------------------------------------------------------

View File

@ -26,6 +26,8 @@ import org.apache.maven.artifact.repository.metadata.Plugin;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadata;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager;
import org.apache.maven.artifact.repository.metadata.RepositoryMetadataResolutionException;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import java.util.ArrayList;
@ -38,13 +40,17 @@ import java.util.Map;
* Manage plugin prefix to artifact ID mapping associations.
*
* @author <a href="mailto:brett@apache.org">Brett Porter</a>
* @version $Id: DefaultPluginMappingManager.java 495147 2007-01-11 07:47:53Z
* jvanzyl $
* @version $Id$
* @plexus.component
*/
//@Component(role = PluginMappingManager.class)
//!!jvz not picked up by the annotation processor
public class DefaultPluginMappingManager
extends AbstractLogEnabled
implements PluginMappingManager
{
/** @plexus.requirement */
//@Requirement
protected RepositoryMetadataManager repositoryMetadataManager;
private Map pluginDefinitionsByPrefix = new HashMap();

View File

@ -20,7 +20,9 @@ package org.apache.maven.plugin;
*/
import org.apache.maven.plugin.descriptor.PluginDescriptorBuilder;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.discovery.AbstractComponentDiscoverer;
import org.codehaus.plexus.component.discovery.ComponentDiscoverer;
import org.codehaus.plexus.component.repository.ComponentSetDescriptor;
import org.codehaus.plexus.configuration.PlexusConfigurationException;
@ -31,6 +33,7 @@ import java.io.Reader;
* @author <a href="mailto:trygvis@inamo.no">Trygve Laugst&oslash;l</a>
* @version $Id$
*/
@Component( role=ComponentDiscoverer.class)
public class MavenPluginDiscoverer
extends AbstractComponentDiscoverer
{

View File

@ -15,6 +15,8 @@ import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.plugin.version.PluginVersionNotFoundException;
import org.apache.maven.plugin.version.PluginVersionResolutionException;
import org.apache.maven.project.MavenProject;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
@ -25,15 +27,15 @@ import org.codehaus.plexus.logging.Logger;
* @author jdcasey
*
*/
@Component(role = PluginLoader.class)
public class DefaultPluginLoader
implements PluginLoader, LogEnabled
{
@Requirement
private PluginManager pluginManager;
private Logger logger;
// FIXME: Move the functionality used from this into the PluginLoader when PluginManager refactor is complete.
private PluginManager pluginManager;
/**
* Load the {@link PluginDescriptor} instance for the plugin implied by the specified MojoBinding,
* using the project for {@link ArtifactRepository} and other supplemental plugin information as

View File

@ -8,6 +8,8 @@ import org.apache.maven.plugin.PluginMappingManager;
import org.apache.maven.plugin.descriptor.PluginDescriptor;
import org.apache.maven.project.MavenProject;
import org.apache.maven.settings.Settings;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
@ -15,16 +17,19 @@ import java.util.Iterator;
import java.util.Map;
import java.util.Set;
@Component(role = PluginPrefixLoader.class)
public class DefaultPluginPrefixLoader
implements PluginPrefixLoader, LogEnabled
{
private Logger logger;
@Requirement
private PluginMappingManager pluginMappingManager;
@Requirement
private MavenPluginCollector pluginCollector;
@Requirement
private PluginManagerSupport pluginManagerSupport;
/**

View File

@ -38,22 +38,35 @@ import org.apache.maven.plugin.InvalidPluginException;
import org.apache.maven.project.MavenProject;
import org.apache.maven.project.MavenProjectBuilder;
import org.apache.maven.project.ProjectBuildingException;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.logging.AbstractLogEnabled;
import org.codehaus.plexus.util.StringUtils;
import java.util.Iterator;
import java.util.List;
/** @plexus.component */
//@Component(role = PluginVersionManager.class)
//!!jvz not picked up by anno processor
public class DefaultPluginVersionManager
extends AbstractLogEnabled
implements PluginVersionManager
{
//@Requirement
/** @plexus.requirement */
private ArtifactFactory artifactFactory;
//@Requirement
/** @plexus.requirement */
private ArtifactMetadataSource artifactMetadataSource;
//@Requirement
/** @plexus.requirement */
private MavenProjectBuilder mavenProjectBuilder;
//@Requirement
/** @plexus.requirement */
private RuntimeInformation runtimeInformation;
public String resolvePluginVersion( String groupId,

View File

@ -24,6 +24,8 @@ import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
import org.apache.maven.settings.io.xpp3.SettingsXpp3Writer;
import org.apache.maven.settings.validation.SettingsValidationResult;
import org.apache.maven.settings.validation.SettingsValidator;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.annotations.Requirement;
import org.codehaus.plexus.interpolation.EnvarBasedValueSource;
import org.codehaus.plexus.interpolation.InterpolationException;
import org.codehaus.plexus.interpolation.PropertiesBasedValueSource;
@ -44,10 +46,12 @@ import java.util.List;
* @author jdcasey
* @version $Id$
*/
@Component(role = MavenSettingsBuilder.class)
public class DefaultMavenSettingsBuilder
extends AbstractLogEnabled
implements MavenSettingsBuilder
{
@Requirement
private SettingsValidator validator;
/** @since 2.1 */

View File

@ -22,6 +22,7 @@ package org.apache.maven.settings.validation;
import org.apache.maven.settings.Profile;
import org.apache.maven.settings.Repository;
import org.apache.maven.settings.Settings;
import org.codehaus.plexus.component.annotations.Component;
import java.util.Iterator;
import java.util.List;
@ -29,11 +30,10 @@ import java.util.List;
/**
* @author Milos Kleint
*/
@Component(role = SettingsValidator.class)
public class DefaultSettingsValidator
implements SettingsValidator
{
public SettingsValidationResult validate( Settings model )
{
SettingsValidationResult result = new SettingsValidationResult();

View File

@ -183,230 +183,6 @@ under the License.
</configuration>
</component>
<component>
<role>org.apache.maven.extension.lineage.ModelLineageBuilder</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.extension.lineage.DefaultModelLineageBuilder</implementation>
<requirements>
<requirement>
<role>org.apache.maven.profiles.build.ProfileAdvisor</role>
<role-hint>default</role-hint>
</requirement>
<requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>
<role>org.apache.maven.MavenTools</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.project.path.PathTranslator</role>
<implementation>org.apache.maven.project.path.DefaultPathTranslator</implementation>
</component>
<component>
<role>org.apache.maven.ArtifactFilterManager</role>
<implementation>org.apache.maven.DefaultArtifactFilterManager</implementation>
</component>
<component>
<role>org.apache.maven.plugin.PluginManager</role>
<implementation>org.apache.maven.plugin.DefaultPluginManager</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.PluginManagerSupport</role>
</requirement>
<requirement>
<role>org.apache.maven.ArtifactFilterManager</role>
</requirement>
<requirement>
<role>org.apache.maven.project.path.PathTranslator</role>
</requirement>
<requirement>
<role>org.apache.maven.plugin.MavenPluginCollector</role>
</requirement>
<requirement>
<role>org.apache.maven.plugin.version.PluginVersionManager</role>
<role-hint>default</role-hint>
</requirement>
<requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
<role-hint>default</role-hint>
</requirement>
<requirement>
<role>org.apache.maven.plugin.PluginMappingManager</role>
</requirement>
<requirement>
<role>org.apache.maven.execution.RuntimeInformation</role>
</requirement>
<requirement>
<role>org.apache.maven.project.MavenProjectBuilder</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.extension.ExtensionManager</role>
<implementation>org.apache.maven.extension.DefaultExtensionManager</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.PluginManager</role>
</requirement>
<requirement>
<role>org.apache.maven.ArtifactFilterManager</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
<role-hint>maven-strict</role-hint>
</requirement>
<requirement>
<role>org.apache.maven.artifact.manager.WagonManager</role>
<role-hint>default</role-hint>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.plugin.PluginMappingManager</role>
<implementation>org.apache.maven.plugin.DefaultPluginMappingManager</implementation>
<requirements>
<requirement>
<role>org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager</role>
</requirement>
</requirements>
</component>
<!--
|
|MojoExecutionExceptionDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>MojoExecutionExceptionDiagnoser</role-hint>
<implementation>org.apache.maven.usability.MojoExecutionExceptionDiagnoser</implementation>
</component>
<!--
|
|MojoFailureExceptionDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>MojoFailureExceptionDiagnoser</role-hint>
<implementation>org.apache.maven.usability.MojoFailureExceptionDiagnoser</implementation>
</component>
<!--
|
|ProjectBuildDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>ProjectBuildDiagnoser</role-hint>
<implementation>org.apache.maven.usability.ProjectBuildDiagnoser</implementation>
</component>
<!--
|
|ProfileActivationDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>ProfileActivationDiagnoser</role-hint>
<implementation>org.apache.maven.usability.ProfileActivationDiagnoser</implementation>
</component>
<!--
|
|PluginConfigurationDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>PluginConfigurationDiagnoser</role-hint>
<implementation>org.apache.maven.usability.PluginConfigurationDiagnoser</implementation>
</component>
<!--
|
|ArtifactNotFoundDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>ArtifactNotFoundDiagnoser</role-hint>
<implementation>org.apache.maven.usability.ArtifactNotFoundDiagnoser</implementation>
<requirements>
<requirement>
<role>org.apache.maven.artifact.manager.WagonManager</role>
</requirement>
</requirements>
</component>
<!--
|
|ArtifactResolverDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>ArtifactResolverDiagnoser</role-hint>
<implementation>org.apache.maven.usability.ArtifactResolverDiagnoser</implementation>
<requirements>
<requirement>
<role>org.apache.maven.artifact.manager.WagonManager</role>
</requirement>
</requirements>
</component>
<!--
|
|InvalidArtifactDiagnoser
|
-->
<component>
<role>org.apache.maven.usability.diagnostics.ErrorDiagnoser</role>
<role-hint>InvalidArtifactDiagnoser</role-hint>
<implementation>org.apache.maven.usability.InvalidArtifactDiagnoser</implementation>
</component>
<!--
|
| Lifecycle executor
|
-->
<component>
<role>org.apache.maven.lifecycle.LifecycleExecutor</role>
<implementation>org.apache.maven.lifecycle.DefaultLifecycleExecutor</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.loader.PluginLoader</role>
</requirement>
<requirement>
<role>org.apache.maven.plugin.PluginManager</role>
</requirement>
<requirement>
<role>org.apache.maven.lifecycle.plan.BuildPlanner</role>
</requirement>
<requirement>
<role>org.apache.maven.lifecycle.binding.MojoBindingFactory</role>
</requirement>
</requirements>
</component>
<!-- TODO: issues with the lifecycle:
- manually configured lifecycles will not pick up any later additions to the defaults where they are intended to extend defaults (have configuration <includeDefaults/> ?)
-->
@ -649,56 +425,6 @@ under the License.
</configuration>
</component>
<component>
<role>org.apache.maven.plugin.version.PluginVersionManager</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.plugin.version.DefaultPluginVersionManager</implementation>
<instantiation-strategy>per-lookup</instantiation-strategy>
<requirements>
<requirement>
<role>org.apache.maven.artifact.metadata.ArtifactMetadataSource</role>
<role-hint>default</role-hint>
</requirement>
<requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>
<role>org.apache.maven.project.MavenProjectBuilder</role>
</requirement>
<requirement>
<role>org.apache.maven.execution.RuntimeInformation</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.plugin.loader.PluginLoader</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.plugin.loader.DefaultPluginLoader</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.PluginManager</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.plugin.loader.PluginPrefixLoader</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.plugin.loader.DefaultPluginPrefixLoader</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.PluginManagerSupport</role>
</requirement>
<requirement>
<role>org.apache.maven.plugin.MavenPluginCollector</role>
</requirement>
<requirement>
<role>org.apache.maven.plugin.PluginMappingManager</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.lifecycle.binding.LifecycleBindingManager</role>
<role-hint>default</role-hint>
@ -795,81 +521,5 @@ under the License.
<!-- END SNIPPET: default-reports -->
</configuration>
</component>
<component>
<role>org.apache.maven.lifecycle.plan.BuildPlanner</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.lifecycle.plan.DefaultBuildPlanner</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.loader.PluginLoader</role>
</requirement>
<requirement>
<role>org.apache.maven.lifecycle.binding.LifecycleBindingManager</role>
</requirement>
<requirement>
<role>org.apache.maven.lifecycle.binding.MojoBindingFactory</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.lifecycle.binding.MojoBindingFactory</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.lifecycle.binding.DefaultMojoBindingFactory</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.loader.PluginPrefixLoader</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.lifecycle.binding.LegacyLifecycleMappingParser</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.lifecycle.binding.LegacyLifecycleMappingParser</implementation>
<requirements>
<requirement>
<role>org.apache.maven.lifecycle.binding.MojoBindingFactory</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.settings.validation.SettingsValidator</role>
<implementation>org.apache.maven.settings.validation.DefaultSettingsValidator</implementation>
</component>
<component>
<role>org.apache.maven.settings.MavenSettingsBuilder</role>
<implementation>org.apache.maven.settings.DefaultMavenSettingsBuilder</implementation>
<requirements>
<requirement>
<role>org.apache.maven.settings.validation.SettingsValidator</role>
</requirement>
</requirements>
</component>
<component>
<role>org.apache.maven.plugin.PluginManagerSupport</role>
<role-hint>default</role-hint>
<implementation>org.apache.maven.plugin.DefaultPluginManagerSupport</implementation>
<requirements>
<requirement>
<role>org.apache.maven.plugin.version.PluginVersionManager</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.resolver.ArtifactResolver</role>
</requirement>
<requirement>
<role>org.apache.maven.artifact.factory.ArtifactFactory</role>
</requirement>
<requirement>
<role>org.apache.maven.project.MavenProjectBuilder</role>
</requirement>
<requirement>
<role>org.apache.maven.execution.RuntimeInformation</role>
</requirement>
</requirements>
</component>
</components>
</component-set>