From 8d32719c39428bbe3f43896354ddb72070e11558 Mon Sep 17 00:00:00 2001 From: Jason van Zyl Date: Sat, 29 Nov 2008 01:36:23 +0000 Subject: [PATCH] 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 --- .../maven/DefaultArtifactFilterManager.java | 5 +- .../execution/DefaultRuntimeInformation.java | 4 +- .../lifecycle/DefaultLifecycleExecutor.java | 24 +- .../DefaultLifecycleBindingManager.java | 28 +- .../binding/DefaultMojoBindingFactory.java | 5 +- .../binding/LegacyLifecycleMappingParser.java | 7 +- .../mapping/DefaultLifecycleMapping.java | 3 + .../lifecycle/plan/DefaultBuildPlanner.java | 11 +- .../maven/plugin/DefaultPluginManager.java | 97 ++--- .../plugin/DefaultPluginMappingManager.java | 10 +- .../maven/plugin/MavenPluginDiscoverer.java | 3 + .../plugin/loader/DefaultPluginLoader.java | 8 +- .../loader/DefaultPluginPrefixLoader.java | 7 +- .../version/DefaultPluginVersionManager.java | 13 + .../settings/DefaultMavenSettingsBuilder.java | 4 + .../validation/DefaultSettingsValidator.java | 4 +- .../resources/META-INF/plexus/components.xml | 350 ------------------ 17 files changed, 145 insertions(+), 438 deletions(-) diff --git a/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java b/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java index a0a2ff132d..a0180bf461 100644 --- a/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java +++ b/maven-core/src/main/java/org/apache/maven/DefaultArtifactFilterManager.java @@ -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; diff --git a/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java b/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java index c1c11ca2df..b8927e5efd 100644 --- a/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java +++ b/maven-core/src/main/java/org/apache/maven/execution/DefaultRuntimeInformation.java @@ -36,8 +36,10 @@ import org.codehaus.plexus.util.IOUtil; * @author Jason van Zyl * @author Brett Porter * @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 { 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 87abeebce9..155d38d9b4 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 @@ -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() { diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java b/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java index aeadc268a3..15dda5cb16 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultLifecycleBindingManager.java @@ -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 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 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} */ diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultMojoBindingFactory.java b/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultMojoBindingFactory.java index e3c416af96..a7d882633c 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultMojoBindingFactory.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/binding/DefaultMojoBindingFactory.java @@ -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; /** diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/binding/LegacyLifecycleMappingParser.java b/maven-core/src/main/java/org/apache/maven/lifecycle/binding/LegacyLifecycleMappingParser.java index e35cb809b8..a221c7dcc8 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/binding/LegacyLifecycleMappingParser.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/binding/LegacyLifecycleMappingParser.java @@ -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 ) diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java b/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java index 0ac078c198..7b72dfdaa5 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/mapping/DefaultLifecycleMapping.java @@ -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 Brett Porter * @version $Id$ */ +@Component(role = LifecycleMapping.class) public class DefaultLifecycleMapping implements LifecycleMapping { diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java b/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java index 95573ceb17..71dbac528c 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/plan/DefaultBuildPlanner.java @@ -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 { diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java index ec61cff4d2..c2af2a7c25 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginManager.java @@ -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 // ---------------------------------------------------------------------- diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java index 283046d00f..c715d1ca63 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginMappingManager.java @@ -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 Brett Porter - * @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(); diff --git a/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java b/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java index e2264d43f8..e9cf958597 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/MavenPluginDiscoverer.java @@ -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 Trygve Laugstøl * @version $Id$ */ +@Component( role=ComponentDiscoverer.class) public class MavenPluginDiscoverer extends AbstractComponentDiscoverer { diff --git a/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java b/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java index aaa76084c8..cbf4209b7b 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginLoader.java @@ -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 diff --git a/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginPrefixLoader.java b/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginPrefixLoader.java index 084691d8d0..5694f9fdb1 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginPrefixLoader.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/loader/DefaultPluginPrefixLoader.java @@ -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; /** diff --git a/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java b/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java index bcd2469fbc..88b4fadebb 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/version/DefaultPluginVersionManager.java @@ -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, diff --git a/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java b/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java index cfda80b799..4cc05ae2b6 100644 --- a/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/settings/DefaultMavenSettingsBuilder.java @@ -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 */ diff --git a/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java b/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java index ded6c586ae..5d6f6d801f 100644 --- a/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java +++ b/maven-core/src/main/java/org/apache/maven/settings/validation/DefaultSettingsValidator.java @@ -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(); 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 bc3ff13758..c1c50c0b03 100644 --- a/maven-core/src/main/resources/META-INF/plexus/components.xml +++ b/maven-core/src/main/resources/META-INF/plexus/components.xml @@ -183,230 +183,6 @@ under the License. - - org.apache.maven.extension.lineage.ModelLineageBuilder - default - org.apache.maven.extension.lineage.DefaultModelLineageBuilder - - - org.apache.maven.profiles.build.ProfileAdvisor - default - - - org.apache.maven.artifact.factory.ArtifactFactory - - - org.apache.maven.MavenTools - - - org.apache.maven.artifact.resolver.ArtifactResolver - - - - - - org.apache.maven.project.path.PathTranslator - org.apache.maven.project.path.DefaultPathTranslator - - - - org.apache.maven.ArtifactFilterManager - org.apache.maven.DefaultArtifactFilterManager - - - org.apache.maven.plugin.PluginManager - org.apache.maven.plugin.DefaultPluginManager - - - org.apache.maven.plugin.PluginManagerSupport - - - org.apache.maven.ArtifactFilterManager - - - org.apache.maven.project.path.PathTranslator - - - org.apache.maven.plugin.MavenPluginCollector - - - org.apache.maven.plugin.version.PluginVersionManager - default - - - org.apache.maven.artifact.factory.ArtifactFactory - - - org.apache.maven.artifact.resolver.ArtifactResolver - - - org.apache.maven.artifact.metadata.ArtifactMetadataSource - default - - - org.apache.maven.plugin.PluginMappingManager - - - org.apache.maven.execution.RuntimeInformation - - - org.apache.maven.project.MavenProjectBuilder - - - - - - org.apache.maven.extension.ExtensionManager - org.apache.maven.extension.DefaultExtensionManager - - - org.apache.maven.plugin.PluginManager - - - org.apache.maven.ArtifactFilterManager - - - org.apache.maven.artifact.factory.ArtifactFactory - - - org.apache.maven.artifact.resolver.ArtifactResolver - - - org.apache.maven.artifact.metadata.ArtifactMetadataSource - maven-strict - - - org.apache.maven.artifact.manager.WagonManager - default - - - - - - org.apache.maven.plugin.PluginMappingManager - org.apache.maven.plugin.DefaultPluginMappingManager - - - org.apache.maven.artifact.repository.metadata.RepositoryMetadataManager - - - - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - MojoExecutionExceptionDiagnoser - org.apache.maven.usability.MojoExecutionExceptionDiagnoser - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - MojoFailureExceptionDiagnoser - org.apache.maven.usability.MojoFailureExceptionDiagnoser - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - ProjectBuildDiagnoser - org.apache.maven.usability.ProjectBuildDiagnoser - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - ProfileActivationDiagnoser - org.apache.maven.usability.ProfileActivationDiagnoser - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - PluginConfigurationDiagnoser - org.apache.maven.usability.PluginConfigurationDiagnoser - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - ArtifactNotFoundDiagnoser - org.apache.maven.usability.ArtifactNotFoundDiagnoser - - - org.apache.maven.artifact.manager.WagonManager - - - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - ArtifactResolverDiagnoser - org.apache.maven.usability.ArtifactResolverDiagnoser - - - org.apache.maven.artifact.manager.WagonManager - - - - - - org.apache.maven.usability.diagnostics.ErrorDiagnoser - InvalidArtifactDiagnoser - org.apache.maven.usability.InvalidArtifactDiagnoser - - - - - org.apache.maven.lifecycle.LifecycleExecutor - org.apache.maven.lifecycle.DefaultLifecycleExecutor - - - org.apache.maven.plugin.loader.PluginLoader - - - org.apache.maven.plugin.PluginManager - - - org.apache.maven.lifecycle.plan.BuildPlanner - - - org.apache.maven.lifecycle.binding.MojoBindingFactory - - - - @@ -649,56 +425,6 @@ under the License. - - org.apache.maven.plugin.version.PluginVersionManager - default - org.apache.maven.plugin.version.DefaultPluginVersionManager - per-lookup - - - org.apache.maven.artifact.metadata.ArtifactMetadataSource - default - - - org.apache.maven.artifact.factory.ArtifactFactory - - - org.apache.maven.project.MavenProjectBuilder - - - org.apache.maven.execution.RuntimeInformation - - - - - - org.apache.maven.plugin.loader.PluginLoader - default - org.apache.maven.plugin.loader.DefaultPluginLoader - - - org.apache.maven.plugin.PluginManager - - - - - - org.apache.maven.plugin.loader.PluginPrefixLoader - default - org.apache.maven.plugin.loader.DefaultPluginPrefixLoader - - - org.apache.maven.plugin.PluginManagerSupport - - - org.apache.maven.plugin.MavenPluginCollector - - - org.apache.maven.plugin.PluginMappingManager - - - - org.apache.maven.lifecycle.binding.LifecycleBindingManager default @@ -795,81 +521,5 @@ under the License. - - - org.apache.maven.lifecycle.plan.BuildPlanner - default - org.apache.maven.lifecycle.plan.DefaultBuildPlanner - - - org.apache.maven.plugin.loader.PluginLoader - - - org.apache.maven.lifecycle.binding.LifecycleBindingManager - - - org.apache.maven.lifecycle.binding.MojoBindingFactory - - - - - - org.apache.maven.lifecycle.binding.MojoBindingFactory - default - org.apache.maven.lifecycle.binding.DefaultMojoBindingFactory - - - org.apache.maven.plugin.loader.PluginPrefixLoader - - - - - - org.apache.maven.lifecycle.binding.LegacyLifecycleMappingParser - default - org.apache.maven.lifecycle.binding.LegacyLifecycleMappingParser - - - org.apache.maven.lifecycle.binding.MojoBindingFactory - - - - - - org.apache.maven.settings.validation.SettingsValidator - org.apache.maven.settings.validation.DefaultSettingsValidator - - - org.apache.maven.settings.MavenSettingsBuilder - org.apache.maven.settings.DefaultMavenSettingsBuilder - - - org.apache.maven.settings.validation.SettingsValidator - - - - - - org.apache.maven.plugin.PluginManagerSupport - default - org.apache.maven.plugin.DefaultPluginManagerSupport - - - org.apache.maven.plugin.version.PluginVersionManager - - - org.apache.maven.artifact.resolver.ArtifactResolver - - - org.apache.maven.artifact.factory.ArtifactFactory - - - org.apache.maven.project.MavenProjectBuilder - - - org.apache.maven.execution.RuntimeInformation - - -