This is an automated email from the ASF dual-hosted git repository. eolivelli pushed a commit to branch maven-metrics in repository https://gitbox.apache.org/repos/asf/maven-studies.git
commit 9567da2bc889a94f5c3b692b4afb310ddbacd6e5 Author: Joseph Walton <j...@kafsemo.org> AuthorDate: Sun Jun 23 22:48:51 2019 +1000 [MNG-5577] Convert maven-core to JSR 330 Convert (almost) all Plexus components in maven-core to JSR 330 annotations Closes #332 --- maven-core/pom.xml | 4 --- .../main/java/org/apache/maven/DefaultMaven.java | 28 +++++++++-------- .../maven/DefaultProjectDependenciesResolver.java | 13 ++++---- .../artifact/factory/DefaultArtifactFactory.java | 11 ++++--- .../artifact/handler/DefaultArtifactHandler.java | 6 ++-- .../manager/DefaultArtifactHandlerManager.java | 11 ++++--- .../repository/layout/DefaultRepositoryLayout.java | 7 +++-- .../metadata/io/DefaultMetadataReader.java | 7 +++-- .../resolver/DefaultResolutionErrorHandler.java | 6 ++-- .../apache/maven/bridge/MavenRepositorySystem.java | 23 +++++++++----- .../internal/DefaultBeanConfigurator.java | 7 +++-- .../eventspy/internal/EventSpyDispatcher.java | 13 ++++---- .../maven/exception/DefaultExceptionHandler.java | 7 +++-- .../apache/maven/graph/DefaultGraphBuilder.java | 13 ++++---- .../maven/lifecycle/DefaultLifecycleExecutor.java | 33 ++++++++++---------- .../apache/maven/lifecycle/DefaultLifecycles.java | 13 ++++---- .../lifecycle/internal/BuildListCalculator.java | 15 ++++++---- .../internal/DefaultExecutionEventCatapult.java | 7 +++-- .../DefaultLifecycleExecutionPlanCalculator.java | 26 +++++++++------- .../internal/DefaultLifecycleMappingDelegate.java | 18 +++++++---- .../internal/DefaultLifecyclePluginAnalyzer.java | 16 +++++----- .../DefaultLifecycleTaskSegmentCalculator.java | 21 +++++++------ .../internal/DefaultMojoExecutionConfigurator.java | 7 +++-- .../lifecycle/internal/LifecycleDebugLogger.java | 23 +++++++------- .../lifecycle/internal/LifecycleModuleBuilder.java | 23 +++++++------- .../internal/LifecyclePluginResolver.java | 17 +++++------ .../maven/lifecycle/internal/LifecycleStarter.java | 25 +++++++++------- .../lifecycle/internal/MojoDescriptorCreator.java | 27 +++++++++-------- .../maven/lifecycle/internal/MojoExecutor.java | 35 ++++++++++++---------- .../lifecycle/internal/builder/BuilderCommon.java | 21 +++++++------ .../multithreaded/MultiThreadedBuilder.java | 13 ++++---- .../singlethreaded/SingleThreadedBuilder.java | 18 +++++++---- .../plugin/DefaultLifecycleBindingsInjector.java | 11 ++++--- .../maven/plugin/DefaultBuildPluginManager.java | 21 +++++++------ .../maven/plugin/DefaultExtensionRealmCache.java | 7 +++-- .../maven/plugin/DefaultPluginArtifactsCache.java | 7 +++-- .../maven/plugin/DefaultPluginDescriptorCache.java | 7 +++-- .../maven/plugin/DefaultPluginRealmCache.java | 7 +++-- .../plugin/internal/DefaultLegacySupport.java | 8 +++-- .../plugin/internal/DefaultMavenPluginManager.java | 31 ++++++++++--------- .../DefaultPluginDependenciesResolver.java | 13 ++++---- .../plugin/internal/DefaultPluginManager.java | 23 +++++++------- .../internal/DefaultPluginPrefixResolver.java | 19 +++++++----- .../internal/DefaultPluginVersionResolver.java | 19 +++++++----- .../maven/project/DefaultMavenProjectHelper.java | 18 +++++++---- .../maven/project/DefaultProjectBuilder.java | 25 +++++++++------- .../project/DefaultProjectBuildingHelper.java | 21 +++++++------ .../DefaultProjectDependenciesResolver.java | 15 ++++++---- .../maven/project/DefaultProjectRealmCache.java | 7 +++-- .../artifact/DefaultMavenMetadataCache.java | 7 +++-- .../project/artifact/DefaultMetadataSource.java | 7 +++-- .../artifact/DefaultProjectArtifactsCache.java | 7 +++-- .../project/artifact/MavenMetadataSource.java | 23 +++++++------- .../rtinfo/internal/DefaultRuntimeInformation.java | 11 ++++--- .../settings/DefaultMavenSettingsBuilder.java | 11 ++++--- .../maven/toolchain/DefaultToolchainManager.java | 13 ++++---- .../toolchain/DefaultToolchainManagerPrivate.java | 7 +++-- .../maven/toolchain/DefaultToolchainsBuilder.java | 11 ++++--- .../maven/toolchain/java/JavaToolchainFactory.java | 11 ++++--- 59 files changed, 528 insertions(+), 353 deletions(-) diff --git a/maven-core/pom.xml b/maven-core/pom.xml index 7a723a2..cd363f5 100644 --- a/maven-core/pom.xml +++ b/maven-core/pom.xml @@ -119,10 +119,6 @@ under the License. <artifactId>plexus-classworlds</artifactId> </dependency> <dependency> - <groupId>org.codehaus.plexus</groupId> - <artifactId>plexus-component-annotations</artifactId> - </dependency> - <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> </dependency> diff --git a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java index 7f052c1..fc26290 100644 --- a/maven-core/src/main/java/org/apache/maven/DefaultMaven.java +++ b/maven-core/src/main/java/org/apache/maven/DefaultMaven.java @@ -31,6 +31,10 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.execution.DefaultMavenExecutionResult; import org.apache.maven.execution.ExecutionEvent; @@ -51,8 +55,6 @@ import org.apache.maven.project.ProjectBuilder; import org.apache.maven.repository.LocalRepositoryNotAccessibleException; import org.apache.maven.session.scope.internal.SessionScope; import org.codehaus.plexus.PlexusContainer; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.logging.Logger; import org.eclipse.aether.DefaultRepositorySystemSession; @@ -63,36 +65,38 @@ import org.eclipse.aether.util.repository.ChainedWorkspaceReader; /** * @author Jason van Zyl */ -@Component( role = Maven.class ) +@Named +@Singleton public class DefaultMaven implements Maven { - @Requirement + @Inject private Logger logger; - @Requirement + @Inject protected ProjectBuilder projectBuilder; - @Requirement + @Inject private LifecycleStarter lifecycleStarter; - @Requirement + @Inject protected PlexusContainer container; - @Requirement + @Inject private ExecutionEventCatapult eventCatapult; - @Requirement + @Inject private LegacySupport legacySupport; - @Requirement + @Inject private SessionScope sessionScope; - @Requirement + @Inject private DefaultRepositorySystemSessionFactory repositorySessionFactory; - @Requirement( hint = GraphBuilder.HINT ) + @Inject + @Named( GraphBuilder.HINT ) private GraphBuilder graphBuilder; @Override diff --git a/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java index dca8014..2b7945e 100644 --- a/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java +++ b/maven-core/src/main/java/org/apache/maven/DefaultProjectDependenciesResolver.java @@ -26,6 +26,10 @@ import java.util.Iterator; import java.util.LinkedHashSet; import java.util.Set; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; @@ -39,8 +43,6 @@ import org.apache.maven.execution.MavenSession; import org.apache.maven.project.MavenProject; import org.apache.maven.project.artifact.ProjectArtifact; import org.apache.maven.repository.RepositorySystem; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; /** * @deprecated As of 3.2.2, and there is no direct replacement. This is an internal class which was not marked as such, @@ -48,15 +50,16 @@ import org.codehaus.plexus.component.annotations.Requirement; * */ @Deprecated -@Component( role = ProjectDependenciesResolver.class ) +@Named +@Singleton public class DefaultProjectDependenciesResolver implements ProjectDependenciesResolver { - @Requirement + @Inject private RepositorySystem repositorySystem; - @Requirement + @Inject private ResolutionErrorHandler resolutionErrorHandler; public Set<Artifact> resolve( MavenProject project, Collection<String> scopesToResolve, MavenSession session ) diff --git a/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java b/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java index 3ee65de..9fc0506 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/factory/DefaultArtifactFactory.java @@ -19,24 +19,27 @@ package org.apache.maven.artifact.factory; * under the License. */ +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.DefaultArtifact; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; import org.apache.maven.artifact.versioning.VersionRange; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; /** * DefaultArtifactFactory * */ -@Component( role = ArtifactFactory.class ) +@Named +@Singleton @SuppressWarnings( "checkstyle:parameternumber" ) public class DefaultArtifactFactory implements ArtifactFactory { - @Requirement + @Inject private ArtifactHandlerManager artifactHandlerManager; public Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type ) diff --git a/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java b/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java index 628f38b..e4ab338 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/handler/DefaultArtifactHandler.java @@ -19,13 +19,15 @@ package org.apache.maven.artifact.handler; * under the License. */ -import org.codehaus.plexus.component.annotations.Component; +import javax.inject.Named; +import javax.inject.Singleton; /** * @author <a href="mailto:br...@apache.org">Brett Porter</a> * @author Jason van Zyl */ -@Component( role = ArtifactHandler.class ) +@Named +@Singleton public class DefaultArtifactHandler implements ArtifactHandler { diff --git a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java index a4b2f44..a3013d4 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/handler/manager/DefaultArtifactHandlerManager.java @@ -23,20 +23,23 @@ import java.util.Map; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.DefaultArtifactHandler; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; /** * @author Jason van Zyl */ -@Component( role = ArtifactHandlerManager.class ) +@Named +@Singleton public class DefaultArtifactHandlerManager implements ArtifactHandlerManager { - @Requirement( role = ArtifactHandler.class ) + @Inject private Map<String, ArtifactHandler> artifactHandlers; private Map<String, ArtifactHandler> allHandlers = new ConcurrentHashMap<>(); diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java index 70c0b14..0590e53 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/layout/DefaultRepositoryLayout.java @@ -19,16 +19,19 @@ package org.apache.maven.artifact.repository.layout; * under the License. */ +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.metadata.ArtifactMetadata; import org.apache.maven.artifact.repository.ArtifactRepository; -import org.codehaus.plexus.component.annotations.Component; /** * @author jdcasey */ -@Component( role = ArtifactRepositoryLayout.class, hint = "default" ) +@Named( "default" ) +@Singleton public class DefaultRepositoryLayout implements ArtifactRepositoryLayout { diff --git a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java index 0139ab3..1d7241c 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/repository/metadata/io/DefaultMetadataReader.java @@ -26,9 +26,11 @@ import java.io.Reader; import java.util.Map; import java.util.Objects; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.repository.metadata.Metadata; import org.apache.maven.artifact.repository.metadata.io.xpp3.MetadataXpp3Reader; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.ReaderFactory; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -37,7 +39,8 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException; * * @author Benjamin Bentmann */ -@Component( role = MetadataReader.class ) +@Named +@Singleton public class DefaultMetadataReader implements MetadataReader { diff --git a/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java b/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java index 178335a..d1603f3 100644 --- a/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java +++ b/maven-core/src/main/java/org/apache/maven/artifact/resolver/DefaultResolutionErrorHandler.java @@ -23,12 +23,14 @@ import java.util.ArrayList; import java.util.Collection; import java.util.List; -import org.codehaus.plexus.component.annotations.Component; +import javax.inject.Named; +import javax.inject.Singleton; /** * @author Benjamin Bentmann */ -@Component( role = ResolutionErrorHandler.class ) +@Named +@Singleton public class DefaultResolutionErrorHandler implements ResolutionErrorHandler { diff --git a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java index d3cb2e4..752e659 100644 --- a/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java +++ b/maven-core/src/main/java/org/apache/maven/bridge/MavenRepositorySystem.java @@ -31,6 +31,10 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.DefaultArtifact; @@ -53,8 +57,6 @@ import org.apache.maven.model.Plugin; import org.apache.maven.repository.Proxy; import org.apache.maven.repository.RepositorySystem; import org.apache.maven.settings.Mirror; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.util.StringUtils; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.repository.AuthenticationContext; @@ -65,14 +67,21 @@ import org.eclipse.aether.repository.RemoteRepository; /** * @author Jason van Zyl */ -@Component( role = MavenRepositorySystem.class, hint = "default" ) +@Named( "default" ) +@Singleton public class MavenRepositorySystem { - @Requirement - private ArtifactHandlerManager artifactHandlerManager; + private final ArtifactHandlerManager artifactHandlerManager; + + private final Map<String, ArtifactRepositoryLayout> layouts; - @Requirement( role = ArtifactRepositoryLayout.class ) - private Map<String, ArtifactRepositoryLayout> layouts; + @Inject + public MavenRepositorySystem( ArtifactHandlerManager artifactHandlerManager, + Map<String, ArtifactRepositoryLayout> layouts ) + { + this.artifactHandlerManager = artifactHandlerManager; + this.layouts = layouts; + } // DefaultProjectBuilder public Artifact createArtifact( String groupId, String artifactId, String version, String scope, String type ) diff --git a/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java b/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java index 00c79b7..ed01875 100644 --- a/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java +++ b/maven-core/src/main/java/org/apache/maven/configuration/internal/DefaultBeanConfigurator.java @@ -22,12 +22,14 @@ package org.apache.maven.configuration.internal; import java.io.File; import java.util.Objects; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.configuration.BeanConfigurationException; import org.apache.maven.configuration.BeanConfigurationPathTranslator; import org.apache.maven.configuration.BeanConfigurationRequest; import org.apache.maven.configuration.BeanConfigurationValuePreprocessor; import org.apache.maven.configuration.BeanConfigurator; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.configurator.ComponentConfigurationException; import org.codehaus.plexus.component.configurator.converters.composite.ObjectWithFieldsConverter; import org.codehaus.plexus.component.configurator.converters.lookup.ConverterLookup; @@ -44,7 +46,8 @@ import org.codehaus.plexus.util.xml.Xpp3Dom; * * @author Benjamin Bentmann */ -@Component( role = BeanConfigurator.class ) +@Named +@Singleton public class DefaultBeanConfigurator implements BeanConfigurator { diff --git a/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java b/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java index e779009..980bc15 100644 --- a/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java +++ b/maven-core/src/main/java/org/apache/maven/eventspy/internal/EventSpyDispatcher.java @@ -22,10 +22,12 @@ package org.apache.maven.eventspy.internal; import java.util.ArrayList; import java.util.List; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.eventspy.EventSpy; import org.apache.maven.execution.ExecutionListener; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.eclipse.aether.RepositoryListener; @@ -33,16 +35,17 @@ import org.eclipse.aether.RepositoryListener; * Dispatches callbacks to all registered eventspies. * @since 3.0.2 */ -@Component( role = EventSpyDispatcher.class ) +@Named +@Singleton public class EventSpyDispatcher { - @Requirement + @Inject private Logger logger; - @Requirement( role = EventSpy.class ) private List<EventSpy> eventSpies; + @Inject public void setEventSpies( List<EventSpy> eventSpies ) { // make copy to get rid of needless overhead for dynamic lookups diff --git a/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java b/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java index 2193e61..ef3a452 100644 --- a/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java +++ b/maven-core/src/main/java/org/apache/maven/exception/DefaultExceptionHandler.java @@ -25,6 +25,9 @@ import java.net.UnknownHostException; import java.util.ArrayList; import java.util.List; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.lifecycle.LifecycleExecutionException; import org.apache.maven.model.building.ModelProblem; import org.apache.maven.model.building.ModelProblemUtils; @@ -35,7 +38,6 @@ import org.apache.maven.plugin.PluginContainerException; import org.apache.maven.plugin.PluginExecutionException; import org.apache.maven.project.ProjectBuildingException; import org.apache.maven.project.ProjectBuildingResult; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; /* @@ -86,7 +88,8 @@ Plugins: /** * Transform an exception into useful end-user message. */ -@Component( role = ExceptionHandler.class ) +@Named +@Singleton public class DefaultExceptionHandler implements ExceptionHandler { diff --git a/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java b/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java index fb7a9f4..6d15230 100644 --- a/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/graph/DefaultGraphBuilder.java @@ -30,6 +30,10 @@ import java.util.LinkedHashSet; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.DefaultMaven; import org.apache.maven.MavenExecutionException; import org.apache.maven.ProjectCycleException; @@ -50,8 +54,6 @@ import org.apache.maven.project.ProjectBuilder; import org.apache.maven.project.ProjectBuildingException; import org.apache.maven.project.ProjectBuildingRequest; import org.apache.maven.project.ProjectBuildingResult; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.dag.CycleDetectedException; @@ -59,15 +61,16 @@ import org.codehaus.plexus.util.dag.CycleDetectedException; /** * Builds the {@link ProjectDependencyGraph inter-dependencies graph} between projects in the reactor. */ -@Component( role = GraphBuilder.class, hint = GraphBuilder.HINT ) +@Named( GraphBuilder.HINT ) +@Singleton public class DefaultGraphBuilder implements GraphBuilder { - @Requirement + @Inject private Logger logger; - @Requirement + @Inject protected ProjectBuilder projectBuilder; @Override 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 dae1894..63b7654 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 @@ -19,6 +19,15 @@ package org.apache.maven.lifecycle; * under the License. */ +import java.util.Arrays; +import java.util.List; +import java.util.Map; +import java.util.Set; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator; import org.apache.maven.lifecycle.internal.LifecycleStarter; @@ -39,13 +48,6 @@ import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException; 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 java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.Set; /** * A facade that provides lifecycle services to components outside maven core. @@ -56,27 +58,28 @@ import java.util.Set; * @author Benjamin Bentmann * @author Kristian Rosenvold */ -@Component( role = LifecycleExecutor.class ) +@Named +@Singleton public class DefaultLifecycleExecutor implements LifecycleExecutor { - @Requirement + @Inject private LifeCyclePluginAnalyzer lifeCyclePluginAnalyzer; - @Requirement + @Inject private DefaultLifecycles defaultLifeCycles; - @Requirement + @Inject private LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator; - @Requirement + @Inject private LifecycleExecutionPlanCalculator lifecycleExecutionPlanCalculator; - @Requirement + @Inject private MojoExecutor mojoExecutor; - @Requirement + @Inject private LifecycleStarter lifecycleStarter; @@ -85,7 +88,7 @@ public class DefaultLifecycleExecutor lifecycleStarter.execute( session ); } - @Requirement + @Inject private MojoDescriptorCreator mojoDescriptorCreator; // These methods deal with construction intact Plugin object that look like they come from a standard 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 a7d9fac..601523f 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 @@ -19,8 +19,6 @@ package org.apache.maven.lifecycle; * under the License. */ -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; @@ -33,6 +31,10 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + /** * @since 3.0 * @author Jason van Zyl @@ -40,17 +42,18 @@ import java.util.Set; */ // TODO The configuration for the lifecycle needs to be externalized so that I can use the annotations properly for the // wiring and reference and external source for the lifecycle configuration. -@Component( role = DefaultLifecycles.class ) +@Named +@Singleton public class DefaultLifecycles { public static final String[] STANDARD_LIFECYCLES = { "default", "clean", "site" }; // @Configuration(source="org/apache/maven/lifecycle/lifecycles.xml") - @Requirement( role = Lifecycle.class ) + @Inject private Map<String, Lifecycle> lifecycles; - @Requirement + @Inject private Logger logger; public DefaultLifecycles() diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java index 76454f8..d8ad993 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/BuildListCalculator.java @@ -19,22 +19,25 @@ package org.apache.maven.lifecycle.internal; * under the License. */ -import org.apache.maven.execution.MavenSession; -import org.apache.maven.lifecycle.internal.builder.BuilderCommon; -import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; - import java.util.ArrayList; import java.util.Collections; import java.util.List; +import javax.inject.Named; +import javax.inject.Singleton; + +import org.apache.maven.execution.MavenSession; +import org.apache.maven.lifecycle.internal.builder.BuilderCommon; +import org.apache.maven.project.MavenProject; + /** * <strong>NOTE:</strong> This class is not part of any public api and can be changed or deleted without prior notice. * * @since 3.0 * @author Kristian Rosenvold */ -@Component( role = BuildListCalculator.class ) +@Named +@Singleton public class BuildListCalculator { public ProjectBuildList calculateProjectBuilds( MavenSession session, List<TaskSegment> taskSegments ) diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java index bfb98d4..94948bc 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultExecutionEventCatapult.java @@ -19,11 +19,13 @@ package org.apache.maven.lifecycle.internal; * under the License. */ +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.ExecutionEvent; import org.apache.maven.execution.ExecutionListener; import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.MojoExecution; -import org.codehaus.plexus.component.annotations.Component; /** * Assists in firing execution events. <strong>Warning:</strong> This is an internal utility class that is only public @@ -32,7 +34,8 @@ import org.codehaus.plexus.component.annotations.Component; * * @author Benjamin Bentmann */ -@Component( role = ExecutionEventCatapult.class ) +@Named +@Singleton public class DefaultExecutionEventCatapult implements ExecutionEventCatapult { diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java index 833705c..279b2af 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleExecutionPlanCalculator.java @@ -28,6 +28,10 @@ import java.util.HashSet; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.lifecycle.DefaultLifecycles; import org.apache.maven.lifecycle.Lifecycle; @@ -53,8 +57,6 @@ import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException; import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.plugin.version.PluginVersionResolver; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.Xpp3Dom; import org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -67,32 +69,34 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException; * @author Benjamin Bentmann * @author Kristian Rosenvold (Extract class) */ -@Component( role = LifecycleExecutionPlanCalculator.class ) +@Named +@Singleton public class DefaultLifecycleExecutionPlanCalculator implements LifecycleExecutionPlanCalculator { - @Requirement + @Inject private PluginVersionResolver pluginVersionResolver; - @Requirement + @Inject private BuildPluginManager pluginManager; - @Requirement + @Inject private DefaultLifecycles defaultLifeCycles; - @Requirement + @Inject private MojoDescriptorCreator mojoDescriptorCreator; - @Requirement + @Inject private LifecyclePluginResolver lifecyclePluginResolver; - @Requirement( hint = DefaultLifecycleMappingDelegate.HINT ) + @Inject + @Named( DefaultLifecycleMappingDelegate.HINT ) private LifecycleMappingDelegate standardDelegate; - @Requirement + @Inject private Map<String, LifecycleMappingDelegate> delegates; - @Requirement + @Inject private Map<String, MojoExecutionConfigurator> mojoExecutionConfigurators; @SuppressWarnings( { "UnusedDeclaration" } ) 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 892e4f1..68890c2 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 @@ -25,6 +25,10 @@ import java.util.List; import java.util.Map; import java.util.TreeMap; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.lifecycle.Lifecycle; import org.apache.maven.lifecycle.LifecycleMappingDelegate; @@ -39,22 +43,26 @@ import org.apache.maven.plugin.PluginNotFoundException; import org.apache.maven.plugin.PluginResolutionException; import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; /** * Lifecycle mapping delegate component interface. Calculates project build execution plan given {@link Lifecycle} and * lifecycle phase. Standard lifecycles use plugin execution {@code <phase>} or mojo default lifecycle phase to * calculate the execution plan, but custom lifecycles can use alternative mapping strategies. */ -@Component( role = LifecycleMappingDelegate.class, hint = DefaultLifecycleMappingDelegate.HINT ) +@Named( DefaultLifecycleMappingDelegate.HINT ) +@Singleton public class DefaultLifecycleMappingDelegate implements LifecycleMappingDelegate { public static final String HINT = "default"; - @Requirement - private BuildPluginManager pluginManager; + private final BuildPluginManager pluginManager; + + @Inject + public DefaultLifecycleMappingDelegate( BuildPluginManager pluginManager ) + { + this.pluginManager = pluginManager; + } public Map<String, List<MojoExecution>> calculateLifecycleMappings( MavenSession session, MavenProject project, Lifecycle lifecycle, String lifecyclePhase ) 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 3762363..1201742 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,6 +19,14 @@ package org.apache.maven.lifecycle.internal; * under the License. */ +import java.util.ArrayList; +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; @@ -35,14 +43,6 @@ import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.Xpp3Dom; -import java.util.ArrayList; -import java.util.Comparator; -import java.util.HashSet; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; -import java.util.Set; - /** * <strong>NOTE:</strong> This class is not part of any public api and can be changed or deleted without prior notice. * diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java index cb49050..e98e0fb 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultLifecycleTaskSegmentCalculator.java @@ -19,6 +19,14 @@ package org.apache.maven.lifecycle.internal; * under the License. */ +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.lifecycle.LifecycleNotFoundException; import org.apache.maven.lifecycle.LifecyclePhaseNotFoundException; @@ -31,14 +39,8 @@ import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException; 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.util.StringUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - /** * <p> * Calculates the task segments in the build @@ -51,14 +53,15 @@ import java.util.List; * @author jdcasey * @author Kristian Rosenvold (extracted class) */ -@Component( role = LifecycleTaskSegmentCalculator.class ) +@Named +@Singleton public class DefaultLifecycleTaskSegmentCalculator implements LifecycleTaskSegmentCalculator { - @Requirement + @Inject private MojoDescriptorCreator mojoDescriptorCreator; - @Requirement + @Inject private LifecyclePluginResolver lifecyclePluginResolver; public DefaultLifecycleTaskSegmentCalculator() diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java index 176ba32..e650813 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/DefaultMojoExecutionConfigurator.java @@ -21,19 +21,22 @@ package org.apache.maven.lifecycle.internal; import java.util.Collection; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.lifecycle.MojoExecutionConfigurator; import org.apache.maven.model.Plugin; import org.apache.maven.model.PluginExecution; import org.apache.maven.plugin.MojoExecution; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.util.StringUtils; import org.codehaus.plexus.util.xml.Xpp3Dom; /** * @since 3.3.1, MNG-5753 */ -@Component( role = MojoExecutionConfigurator.class ) +@Named +@Singleton public class DefaultMojoExecutionConfigurator implements MojoExecutionConfigurator { diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java index 69b7c10..9ffb3d4 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleDebugLogger.java @@ -19,22 +19,24 @@ package org.apache.maven.lifecycle.internal; * under the License. */ +import java.util.Iterator; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.lifecycle.MavenExecutionPlan; import org.apache.maven.lifecycle.internal.builder.BuilderCommon; import org.apache.maven.plugin.MojoExecution; import org.apache.maven.plugin.descriptor.MojoDescriptor; 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.Logger; import org.codehaus.plexus.util.StringUtils; -import java.util.Iterator; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; - /** * <p> * Logs debug output from the various lifecycle phases. @@ -46,10 +48,11 @@ import java.util.TreeSet; * @author Jason van Zyl * @author Kristian Rosenvold (extracted class only) */ -@Component( role = LifecycleDebugLogger.class ) +@Named +@Singleton public class LifecycleDebugLogger { - @Requirement + @Inject private Logger logger; diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java index 3391e0c..dc7c7bd 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleModuleBuilder.java @@ -22,6 +22,10 @@ package org.apache.maven.lifecycle.internal; import java.util.HashSet; import java.util.List; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.BuildSuccess; import org.apache.maven.execution.ExecutionEvent; import org.apache.maven.execution.MavenSession; @@ -32,8 +36,6 @@ import org.apache.maven.lifecycle.internal.builder.BuilderCommon; import org.apache.maven.plugin.MojoExecution; import org.apache.maven.project.MavenProject; import org.apache.maven.session.scope.internal.SessionScope; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; /** * <p> @@ -46,31 +48,28 @@ import org.codehaus.plexus.component.annotations.Requirement; * @author Jason van Zyl * @author Kristian Rosenvold (extracted class) */ -@Component( role = LifecycleModuleBuilder.class ) +@Named +@Singleton public class LifecycleModuleBuilder { - @Requirement + @Inject private MojoExecutor mojoExecutor; - @Requirement + @Inject private BuilderCommon builderCommon; - @Requirement + @Inject private ExecutionEventCatapult eventCatapult; private ProjectExecutionListener projectExecutionListener; - // this tricks plexus-component-metadata generate required metadata - @Requirement - private List<ProjectExecutionListener> projectExecutionListeners; - - @Requirement + @Inject private SessionScope sessionScope; + @Inject public void setProjectExecutionListeners( final List<ProjectExecutionListener> listeners ) { - this.projectExecutionListeners = listeners; this.projectExecutionListener = new CompoundProjectExecutionListener( listeners ); } diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java index b22e359..1f6fab0 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java @@ -22,6 +22,10 @@ package org.apache.maven.lifecycle.internal; import java.util.HashMap; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Plugin; import org.apache.maven.model.PluginManagement; @@ -30,8 +34,6 @@ import org.apache.maven.plugin.version.PluginVersionRequest; import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.plugin.version.PluginVersionResolver; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; /** * <strong>NOTE:</strong> This class is not part of any public api and can be changed or deleted without prior notice. @@ -39,21 +41,18 @@ import org.codehaus.plexus.component.annotations.Requirement; * @author Benjamin Bentmann * @author Kristian Rosenvold (Extract class) */ -@Component( role = LifecyclePluginResolver.class ) +@Named +@Singleton public class LifecyclePluginResolver { - @Requirement - private PluginVersionResolver pluginVersionResolver; + private final PluginVersionResolver pluginVersionResolver; + @Inject public LifecyclePluginResolver( PluginVersionResolver pluginVersionResolver ) { this.pluginVersionResolver = pluginVersionResolver; } - public LifecyclePluginResolver() - { - } - public void resolveMissingPluginVersions( MavenProject project, MavenSession session ) throws PluginVersionResolutionException { diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java index cee8073..f616654 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecycleStarter.java @@ -22,6 +22,10 @@ package org.apache.maven.lifecycle.internal; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.ExecutionEvent; import org.apache.maven.execution.MavenExecutionResult; import org.apache.maven.execution.MavenSession; @@ -31,8 +35,6 @@ import org.apache.maven.lifecycle.NoGoalSpecifiedException; import org.apache.maven.lifecycle.internal.builder.Builder; import org.apache.maven.lifecycle.internal.builder.BuilderNotFoundException; import org.apache.maven.session.scope.internal.SessionScope; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; /** @@ -42,31 +44,32 @@ import org.codehaus.plexus.logging.Logger; * @author Benjamin Bentmann * @author Kristian Rosenvold */ -@Component( role = LifecycleStarter.class ) +@Named +@Singleton public class LifecycleStarter { - @Requirement + @Inject private ExecutionEventCatapult eventCatapult; - @Requirement + @Inject private DefaultLifecycles defaultLifeCycles; - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private BuildListCalculator buildListCalculator; - @Requirement + @Inject private LifecycleDebugLogger lifecycleDebugLogger; - @Requirement + @Inject private LifecycleTaskSegmentCalculator lifecycleTaskSegmentCalculator; - @Requirement + @Inject private Map<String, Builder> builders; - @Requirement + @Inject private SessionScope sessionScope; public void execute( MavenSession session ) diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java index 4bafa30..03eae37 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoDescriptorCreator.java @@ -19,6 +19,14 @@ package org.apache.maven.lifecycle.internal; * under the License. */ +import java.util.ArrayList; +import java.util.Collection; +import java.util.StringTokenizer; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.model.Plugin; import org.apache.maven.plugin.BuildPluginManager; @@ -38,16 +46,10 @@ import org.apache.maven.plugin.version.PluginVersionRequest; import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.plugin.version.PluginVersionResolver; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.configuration.PlexusConfiguration; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.xml.Xpp3Dom; -import java.util.ArrayList; -import java.util.Collection; -import java.util.StringTokenizer; - /** * <p> * Resolves dependencies for the artifacts in context of the lifecycle build @@ -60,23 +62,24 @@ import java.util.StringTokenizer; * @author jdcasey * @author Kristian Rosenvold (extracted class only) */ -@Component( role = MojoDescriptorCreator.class ) +@Named +@Singleton public class MojoDescriptorCreator { - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private PluginVersionResolver pluginVersionResolver; - @Requirement + @Inject private BuildPluginManager pluginManager; - @Requirement + @Inject private PluginPrefixResolver pluginPrefixResolver; - @Requirement + @Inject private LifecyclePluginResolver lifecyclePluginResolver; public MojoDescriptorCreator() diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java index b78f54d..89fadfd 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/MojoExecutor.java @@ -19,6 +19,19 @@ package org.apache.maven.lifecycle.internal; * under the License. */ +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.TreeSet; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.resolver.filter.ArtifactFilter; import org.apache.maven.artifact.resolver.filter.CumulativeScopeArtifactFilter; @@ -36,19 +49,8 @@ import org.apache.maven.plugin.PluginIncompatibleException; import org.apache.maven.plugin.PluginManagerException; import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.util.StringUtils; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; -import java.util.Set; -import java.util.TreeSet; - /** * <p> * Executes an individual mojo @@ -60,20 +62,21 @@ import java.util.TreeSet; * @author Kristian Rosenvold * @since 3.0 */ -@Component( role = MojoExecutor.class ) +@Named +@Singleton public class MojoExecutor { - @Requirement + @Inject private BuildPluginManager pluginManager; - @Requirement + @Inject private MavenPluginManager mavenPluginManager; - @Requirement + @Inject private LifecycleDependencyResolver lifeCycleDependencyResolver; - @Requirement + @Inject private ExecutionEventCatapult eventCatapult; public MojoExecutor() diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java index f5c8e3e..6941c37 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/BuilderCommon.java @@ -19,6 +19,12 @@ package org.apache.maven.lifecycle.internal.builder; * under the License. */ +import java.util.Set; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.execution.BuildFailure; import org.apache.maven.execution.ExecutionEvent; @@ -44,12 +50,8 @@ import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException; import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.project.MavenProject; 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.logging.Logger; -import java.util.Set; - /** * Common code that is shared by the LifecycleModuleBuilder and the LifeCycleWeaveBuilder * @@ -58,19 +60,20 @@ import java.util.Set; * Builds one or more lifecycles for a full module * NOTE: This class is not part of any public api and can be changed or deleted without prior notice. */ -@Component( role = BuilderCommon.class ) +@Named +@Singleton public class BuilderCommon { - @Requirement + @Inject private LifecycleDebugLogger lifecycleDebugLogger; - @Requirement + @Inject private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator; - @Requirement + @Inject private ExecutionEventCatapult eventCatapult; - @Requirement + @Inject private Logger logger; diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java index 29d1634..6f5658f 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/multithreaded/MultiThreadedBuilder.java @@ -29,6 +29,10 @@ import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.TimeUnit; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.lifecycle.internal.BuildThreadFactory; import org.apache.maven.lifecycle.internal.LifecycleModuleBuilder; @@ -39,8 +43,6 @@ import org.apache.maven.lifecycle.internal.ReactorContext; import org.apache.maven.lifecycle.internal.TaskSegment; import org.apache.maven.lifecycle.internal.builder.Builder; 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.Logger; /** @@ -57,15 +59,16 @@ import org.codehaus.plexus.logging.Logger; * Builds one or more lifecycles for a full module * NOTE: This class is not part of any public api and can be changed or deleted without prior notice. */ -@Component( role = Builder.class, hint = "multithreaded" ) +@Named( "multithreaded" ) +@Singleton public class MultiThreadedBuilder implements Builder { - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private LifecycleModuleBuilder lifecycleModuleBuilder; public MultiThreadedBuilder() diff --git a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java index f205b03..fee39d5 100644 --- a/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/lifecycle/internal/builder/singlethreaded/SingleThreadedBuilder.java @@ -21,6 +21,10 @@ package org.apache.maven.lifecycle.internal.builder.singlethreaded; import java.util.List; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.lifecycle.internal.LifecycleModuleBuilder; import org.apache.maven.lifecycle.internal.ProjectBuildList; @@ -29,20 +33,24 @@ import org.apache.maven.lifecycle.internal.ReactorBuildStatus; import org.apache.maven.lifecycle.internal.ReactorContext; import org.apache.maven.lifecycle.internal.TaskSegment; import org.apache.maven.lifecycle.internal.builder.Builder; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; /** * <p> * A {@link Builder} encapsulates a strategy for building a set of Maven projects. The default strategy in Maven builds * the the projects serially, but a {@link Builder} can employ any type of concurrency model to build the projects. */ -@Component( role = Builder.class, hint = "singlethreaded" ) +@Named( "singlethreaded" ) +@Singleton public class SingleThreadedBuilder implements Builder { - @Requirement - private LifecycleModuleBuilder lifecycleModuleBuilder; + private final LifecycleModuleBuilder lifecycleModuleBuilder; + + @Inject + public SingleThreadedBuilder( LifecycleModuleBuilder lifecycleModuleBuilder ) + { + this.lifecycleModuleBuilder = lifecycleModuleBuilder; + } public void build( MavenSession session, ReactorContext reactorContext, ProjectBuildList projectBuilds, List<TaskSegment> taskSegments, ReactorBuildStatus reactorBuildStatus ) 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 8607909..f1badcf 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 @@ -27,6 +27,10 @@ import java.util.LinkedHashMap; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.lifecycle.LifeCyclePluginAnalyzer; import org.apache.maven.model.Build; import org.apache.maven.model.Model; @@ -40,22 +44,21 @@ import org.apache.maven.model.building.ModelProblem.Severity; import org.apache.maven.model.building.ModelProblem.Version; 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; /** * Handles injection of plugin executions induced by the lifecycle bindings for a packaging. * * @author Benjamin Bentmann */ -@Component( role = LifecycleBindingsInjector.class ) +@Named +@Singleton public class DefaultLifecycleBindingsInjector implements LifecycleBindingsInjector { private LifecycleBindingsMerger merger = new LifecycleBindingsMerger(); - @Requirement + @Inject private LifeCyclePluginAnalyzer lifecycle; public void injectLifecycleBindings( Model model, ModelBuildingRequest request, ModelProblemCollector problems ) diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java index 1a00742..15a35ea 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultBuildPluginManager.java @@ -23,6 +23,10 @@ import java.io.ByteArrayOutputStream; import java.io.PrintStream; import java.util.List; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.execution.MojoExecutionEvent; import org.apache.maven.execution.MojoExecutionListener; @@ -32,8 +36,6 @@ import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.classworlds.realm.ClassRealm; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.repository.RemoteRepository; @@ -43,29 +45,26 @@ import org.eclipse.aether.repository.RemoteRepository; /** * DefaultBuildPluginManager */ -@Component( role = BuildPluginManager.class ) +@Named +@Singleton public class DefaultBuildPluginManager implements BuildPluginManager { - @Requirement + @Inject private MavenPluginManager mavenPluginManager; - @Requirement + @Inject private LegacySupport legacySupport; - @Requirement + @Inject private MojoExecutionScope scope; private MojoExecutionListener mojoExecutionListener; - // this tricks plexus-component-metadata generate required metadata - @Requirement( role = MojoExecutionListener.class ) - private List<MojoExecutionListener> mojoExecutionListeners; - + @Inject public void setMojoExecutionListeners( final List<MojoExecutionListener> listeners ) { - this.mojoExecutionListeners = listeners; this.mojoExecutionListener = new CompoundMojoExecutionListener( listeners ); } diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java index 6ce63eb..dd48a4f 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultExtensionRealmCache.java @@ -26,18 +26,21 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.project.ExtensionDescriptor; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.classworlds.realm.NoSuchRealmException; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable; /** * Default extension realm cache implementation. Assumes cached data does not change. */ -@Component( role = ExtensionRealmCache.class ) +@Named +@Singleton public class DefaultExtensionRealmCache implements ExtensionRealmCache, Disposable { diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java index ee11c4c..99de6d7 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginArtifactsCache.java @@ -26,11 +26,13 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Plugin; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.graph.DependencyFilter; import org.eclipse.aether.repository.LocalRepository; @@ -41,7 +43,8 @@ import org.eclipse.aether.repository.WorkspaceRepository; * @author Igor Fedorenko * @author Benjamin Bentmann */ -@Component( role = PluginArtifactsCache.class ) +@Named +@Singleton public class DefaultPluginArtifactsCache implements PluginArtifactsCache { diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java index 0da9935..130cc35 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginDescriptorCache.java @@ -25,12 +25,14 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.model.Plugin; import org.apache.maven.plugin.descriptor.MojoDescriptor; import org.apache.maven.plugin.descriptor.PluginDescriptor; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.component.repository.ComponentDescriptor; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.repository.LocalRepository; @@ -47,7 +49,8 @@ import org.eclipse.aether.repository.WorkspaceRepository; * @since 3.0 * @author Benjamin Bentmann */ -@Component( role = PluginDescriptorCache.class ) +@Named +@Singleton public class DefaultPluginDescriptorCache implements PluginDescriptorCache { diff --git a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java index 7862b40..cd0bbb9 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/DefaultPluginRealmCache.java @@ -26,13 +26,15 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Plugin; import org.apache.maven.project.MavenProject; import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.classworlds.realm.NoSuchRealmException; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.graph.DependencyFilter; @@ -43,7 +45,8 @@ import org.eclipse.aether.repository.WorkspaceRepository; /** * Default PluginCache implementation. Assumes cached data does not change. */ -@Component( role = PluginRealmCache.class ) +@Named +@Singleton public class DefaultPluginRealmCache implements PluginRealmCache, Disposable { diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java index bb55eb9..bc02e1f 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultLegacySupport.java @@ -20,9 +20,12 @@ package org.apache.maven.plugin.internal; */ import java.util.concurrent.atomic.AtomicReference; + +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.LegacySupport; -import org.codehaus.plexus.component.annotations.Component; import org.eclipse.aether.RepositorySystemSession; /** @@ -33,7 +36,8 @@ import org.eclipse.aether.RepositorySystemSession; * @since 3.0 * @author Benjamin Bentmann */ -@Component( role = LegacySupport.class ) +@Named +@Singleton public class DefaultLegacySupport implements LegacySupport { diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java index 9febd4a..500ead6 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultMavenPluginManager.java @@ -62,8 +62,6 @@ import org.apache.maven.session.scope.internal.SessionScopeModule; import org.codehaus.plexus.DefaultPlexusContainer; 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.component.composition.CycleDetectedInComponentGraphException; import org.codehaus.plexus.component.configurator.ComponentConfigurationException; import org.codehaus.plexus.component.configurator.ComponentConfigurator; @@ -106,6 +104,10 @@ import java.util.Objects; import java.util.jar.JarFile; import java.util.zip.ZipEntry; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + /** * Provides basic services to manage Maven plugins and their mojos. This component is kept general in its design such * that the plugins/mojos can be used in arbitrary contexts. In particular, the mojos can be used for ordinary build @@ -114,7 +116,8 @@ import java.util.zip.ZipEntry; * @author Benjamin Bentmann * @since 3.0 */ -@Component( role = MavenPluginManager.class ) +@Named +@Singleton public class DefaultMavenPluginManager implements MavenPluginManager { @@ -130,37 +133,37 @@ public class DefaultMavenPluginManager */ public static final String KEY_EXTENSIONS_REALMS = DefaultMavenPluginManager.class.getName() + "/extensionsRealms"; - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private LoggerManager loggerManager; - @Requirement + @Inject private PlexusContainer container; - @Requirement + @Inject private ClassRealmManager classRealmManager; - @Requirement + @Inject private PluginDescriptorCache pluginDescriptorCache; - @Requirement + @Inject private PluginRealmCache pluginRealmCache; - @Requirement + @Inject private PluginDependenciesResolver pluginDependenciesResolver; - @Requirement + @Inject private RuntimeInformation runtimeInformation; - @Requirement + @Inject private ExtensionRealmCache extensionRealmCache; - @Requirement + @Inject private PluginVersionResolver pluginVersionResolver; - @Requirement + @Inject private PluginArtifactsCache pluginArtifactsCache; private ExtensionDescriptorBuilder extensionDescriptorBuilder = new ExtensionDescriptorBuilder(); diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java index 8d16c61..d1f2834 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginDependenciesResolver.java @@ -25,12 +25,14 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.model.Dependency; import org.apache.maven.model.Plugin; import org.apache.maven.plugin.PluginResolutionException; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; import org.eclipse.aether.DefaultRepositorySystemSession; @@ -70,17 +72,18 @@ import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy; * @since 3.0 * @author Benjamin Bentmann */ -@Component( role = PluginDependenciesResolver.class ) +@Named +@Singleton public class DefaultPluginDependenciesResolver implements PluginDependenciesResolver { private static final String REPOSITORY_CONTEXT = "plugin"; - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private RepositorySystem repoSystem; private Artifact toArtifact( Plugin plugin, RepositorySystemSession session ) diff --git a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java index a8ac9eb..547e457 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/internal/DefaultPluginManager.java @@ -19,6 +19,12 @@ package org.apache.maven.plugin.internal; * under the License. */ +import java.util.Map; + +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.resolver.ArtifactNotFoundException; import org.apache.maven.artifact.resolver.ArtifactResolutionException; @@ -53,33 +59,30 @@ import org.apache.maven.project.MavenProject; import org.apache.maven.project.artifact.InvalidDependencyVersionException; import org.apache.maven.settings.Settings; import org.codehaus.plexus.PlexusContainer; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; -import java.util.Map; - /** * @author Benjamin Bentmann */ -@Component( role = PluginManager.class ) +@Named +@Singleton public class DefaultPluginManager implements PluginManager { - @Requirement + @Inject private PlexusContainer container; - @Requirement + @Inject private MavenPluginManager pluginManager; - @Requirement + @Inject private PluginVersionResolver pluginVersionResolver; - @Requirement + @Inject private PluginPrefixResolver pluginPrefixResolver; - @Requirement + @Inject private LegacySupport legacySupport; public void executeMojo( MavenProject project, MojoExecution execution, MavenSession session ) diff --git a/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java b/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java index 25a5bc8..7b98e80 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/prefix/internal/DefaultPluginPrefixResolver.java @@ -25,6 +25,10 @@ import java.util.Collections; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.repository.metadata.Metadata; import org.apache.maven.artifact.repository.metadata.io.MetadataReader; import org.apache.maven.model.Build; @@ -35,12 +39,10 @@ import org.apache.maven.plugin.prefix.NoPluginFoundForPrefixException; import org.apache.maven.plugin.prefix.PluginPrefixRequest; import org.apache.maven.plugin.prefix.PluginPrefixResolver; import org.apache.maven.plugin.prefix.PluginPrefixResult; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; -import org.eclipse.aether.RepositoryEvent.EventType; import org.eclipse.aether.DefaultRepositorySystemSession; import org.eclipse.aether.RepositoryEvent; +import org.eclipse.aether.RepositoryEvent.EventType; import org.eclipse.aether.RepositoryListener; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession; @@ -58,23 +60,24 @@ import org.eclipse.aether.resolution.MetadataResult; * @since 3.0 * @author Benjamin Bentmann */ -@Component( role = PluginPrefixResolver.class ) +@Named +@Singleton public class DefaultPluginPrefixResolver implements PluginPrefixResolver { private static final String REPOSITORY_CONTEXT = "plugin"; - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private BuildPluginManager pluginManager; - @Requirement + @Inject private RepositorySystem repositorySystem; - @Requirement + @Inject private MetadataReader metadataReader; public PluginPrefixResult resolve( PluginPrefixRequest request ) diff --git a/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java b/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java index 82e32fb..17186dd 100644 --- a/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java +++ b/maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java @@ -27,6 +27,10 @@ import java.util.List; import java.util.Map; import java.util.TreeSet; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.repository.metadata.Metadata; import org.apache.maven.artifact.repository.metadata.Versioning; import org.apache.maven.artifact.repository.metadata.io.MetadataReader; @@ -39,12 +43,10 @@ import org.apache.maven.plugin.version.PluginVersionRequest; import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.plugin.version.PluginVersionResolver; import org.apache.maven.plugin.version.PluginVersionResult; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; -import org.eclipse.aether.RepositoryEvent.EventType; import org.eclipse.aether.RepositoryEvent; +import org.eclipse.aether.RepositoryEvent.EventType; import org.eclipse.aether.RepositoryListener; import org.eclipse.aether.RepositorySystem; import org.eclipse.aether.RepositorySystemSession; @@ -65,23 +67,24 @@ import org.eclipse.aether.version.VersionScheme; * @since 3.0 * @author Benjamin Bentmann */ -@Component( role = PluginVersionResolver.class ) +@Named +@Singleton public class DefaultPluginVersionResolver implements PluginVersionResolver { private static final String REPOSITORY_CONTEXT = "plugin"; - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private RepositorySystem repositorySystem; - @Requirement + @Inject private MetadataReader metadataReader; - @Requirement + @Inject private MavenPluginManager pluginManager; public PluginVersionResult resolve( PluginVersionRequest request ) diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java index 1972242..3541bca 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultMavenProjectHelper.java @@ -22,26 +22,34 @@ package org.apache.maven.project; import java.io.File; import java.util.List; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.handler.ArtifactHandler; import org.apache.maven.artifact.handler.manager.ArtifactHandlerManager; import org.apache.maven.model.Resource; import org.apache.maven.project.artifact.AttachedArtifact; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.AbstractLogEnabled; /** * DefaultMavenProjectHelper */ @SuppressWarnings( "deprecation" ) -@Component( role = MavenProjectHelper.class ) +@Named +@Singleton public class DefaultMavenProjectHelper extends AbstractLogEnabled implements MavenProjectHelper { - @Requirement - private ArtifactHandlerManager artifactHandlerManager; + private final ArtifactHandlerManager artifactHandlerManager; + + @Inject + public DefaultMavenProjectHelper( ArtifactHandlerManager artifactHandlerManager ) + { + this.artifactHandlerManager = artifactHandlerManager; + } public void attachArtifact( MavenProject project, String artifactType, String artifactClassifier, File artifactFile ) 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 c5bf26c..1ebc1fc 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 @@ -33,6 +33,10 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.InvalidArtifactRTException; @@ -62,8 +66,6 @@ import org.apache.maven.model.building.ModelSource; import org.apache.maven.model.building.StringModelSource; import org.apache.maven.model.resolution.ModelResolver; import org.apache.maven.repository.internal.ArtifactDescriptorUtils; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.Os; import org.codehaus.plexus.util.StringUtils; @@ -79,7 +81,8 @@ import org.eclipse.aether.resolution.ArtifactResult; /** * DefaultProjectBuilder */ -@Component( role = ProjectBuilder.class ) +@Named +@Singleton public class DefaultProjectBuilder implements ProjectBuilder { @@ -87,28 +90,28 @@ public class DefaultProjectBuilder public static final String DISABLE_GLOBAL_MODEL_CACHE_SYSTEM_PROPERTY = "maven.defaultProjectBuilder.disableGlobalModelCache"; - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private ModelBuilder modelBuilder; - @Requirement + @Inject private ModelProcessor modelProcessor; - @Requirement + @Inject private ProjectBuildingHelper projectBuildingHelper; - @Requirement + @Inject private MavenRepositorySystem repositorySystem; - @Requirement + @Inject private org.eclipse.aether.RepositorySystem repoSystem; - @Requirement + @Inject private RemoteRepositoryManager repositoryManager; - @Requirement + @Inject private ProjectDependenciesResolver dependencyResolver; private final ReactorModelCache modelCache = new ReactorModelCache(); diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java index 3159fac..33256fb 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectBuildingHelper.java @@ -29,6 +29,10 @@ import java.util.List; import java.util.Map; import java.util.Set; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.InvalidRepositoryException; @@ -47,8 +51,6 @@ import org.apache.maven.plugin.version.PluginVersionResolutionException; import org.apache.maven.repository.RepositorySystem; 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.logging.Logger; import org.eclipse.aether.graph.DependencyFilter; import org.eclipse.aether.util.filter.ExclusionsDependencyFilter; @@ -60,27 +62,28 @@ import org.eclipse.aether.util.filter.ExclusionsDependencyFilter; * * @author Benjamin Bentmann */ -@Component( role = ProjectBuildingHelper.class ) +@Named +@Singleton public class DefaultProjectBuildingHelper implements ProjectBuildingHelper { - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private PlexusContainer container; - @Requirement + @Inject private ClassRealmManager classRealmManager; - @Requirement + @Inject private ProjectRealmCache projectRealmCache; - @Requirement + @Inject private RepositorySystem repositorySystem; - @Requirement + @Inject private MavenPluginManager pluginManager; public List<ArtifactRepository> createArtifactRepositories( List<Repository> pomRepositories, diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java index 7500e43..d6cc080 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectDependenciesResolver.java @@ -25,13 +25,15 @@ import java.util.List; import java.util.Map; import java.util.Objects; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.model.Dependency; import org.apache.maven.model.DependencyManagement; import org.apache.maven.model.Exclusion; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.StringUtils; import org.eclipse.aether.DefaultRepositorySystemSession; @@ -54,18 +56,19 @@ import org.eclipse.aether.util.graph.manager.DependencyManagerUtils; /** * @author Benjamin Bentmann */ -@Component( role = ProjectDependenciesResolver.class ) +@Named +@Singleton public class DefaultProjectDependenciesResolver implements ProjectDependenciesResolver { - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private RepositorySystem repoSystem; - @Requirement + @Inject private List<RepositorySessionDecorator> decorators; public DependencyResolutionResult resolve( DependencyResolutionRequest request ) diff --git a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java index a7f0615..6651b62 100644 --- a/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java +++ b/maven-core/src/main/java/org/apache/maven/project/DefaultProjectRealmCache.java @@ -25,16 +25,19 @@ import java.util.Map; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Named; +import javax.inject.Singleton; + import org.codehaus.plexus.classworlds.realm.ClassRealm; import org.codehaus.plexus.classworlds.realm.NoSuchRealmException; -import org.codehaus.plexus.component.annotations.Component; import org.codehaus.plexus.personality.plexus.lifecycle.phase.Disposable; import org.eclipse.aether.graph.DependencyFilter; /** * Default project realm cache implementation. Assumes cached data does not change. */ -@Component( role = ProjectRealmCache.class ) +@Named +@Singleton public class DefaultProjectRealmCache implements ProjectRealmCache, Disposable { diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java b/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java index 3db7bb7..5768709 100644 --- a/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java +++ b/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMavenMetadataCache.java @@ -30,17 +30,20 @@ import java.util.Set; import java.util.Objects; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.ArtifactUtils; import org.apache.maven.artifact.metadata.ResolutionGroup; import org.apache.maven.artifact.repository.ArtifactRepository; import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy; -import org.codehaus.plexus.component.annotations.Component; /** * DefaultMavenMetadataCache */ -@Component( role = MavenMetadataCache.class ) +@Named +@Singleton public class DefaultMavenMetadataCache implements MavenMetadataCache { diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java b/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java index 91f665b..9f22f99 100644 --- a/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java +++ b/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultMetadataSource.java @@ -19,8 +19,8 @@ package org.apache.maven.project.artifact; * under the License. */ -import org.apache.maven.artifact.metadata.ArtifactMetadataSource; -import org.codehaus.plexus.component.annotations.Component; +import javax.inject.Named; +import javax.inject.Singleton; /** * This realizes the metadata source via the default hint to provide backward-compat with Maven 2.x whose Plexus version @@ -29,7 +29,8 @@ import org.codehaus.plexus.component.annotations.Component; * * @author Benjamin Bentmann */ -@Component( role = ArtifactMetadataSource.class ) +@Named +@Singleton public class DefaultMetadataSource extends MavenMetadataSource { diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCache.java b/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCache.java index ae59ada..7ec4d9a 100644 --- a/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCache.java +++ b/maven-core/src/main/java/org/apache/maven/project/artifact/DefaultProjectArtifactsCache.java @@ -30,11 +30,13 @@ import java.util.Objects; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.lifecycle.LifecycleExecutionException; import org.apache.maven.project.MavenProject; -import org.codehaus.plexus.component.annotations.Component; import org.eclipse.aether.RepositorySystemSession; import org.eclipse.aether.repository.LocalRepository; import org.eclipse.aether.repository.RemoteRepository; @@ -45,7 +47,8 @@ import org.eclipse.aether.repository.WorkspaceRepository; * @author Benjamin Bentmann * @author Anton Tanasenko */ -@Component( role = ProjectArtifactsCache.class ) +@Named +@Singleton public class DefaultProjectArtifactsCache implements ProjectArtifactsCache { diff --git a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java index 1c40af8..a8f382e 100644 --- a/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java +++ b/maven-core/src/main/java/org/apache/maven/project/artifact/MavenMetadataSource.java @@ -32,6 +32,10 @@ import java.util.Map; import java.util.Properties; import java.util.Set; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.RepositoryUtils; import org.apache.maven.artifact.Artifact; import org.apache.maven.artifact.ArtifactUtils; @@ -76,8 +80,6 @@ import org.apache.maven.repository.internal.MavenWorkspaceReader; import org.apache.maven.repository.legacy.metadata.DefaultMetadataResolutionRequest; import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest; import org.codehaus.plexus.PlexusContainer; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.component.repository.exception.ComponentLookupException; import org.codehaus.plexus.logging.Logger; import org.eclipse.aether.RepositorySystemSession; @@ -88,30 +90,31 @@ import org.eclipse.aether.transfer.ArtifactNotFoundException; /** * @author Jason van Zyl */ -@Component( role = ArtifactMetadataSource.class, hint = "maven" ) +@Named( "maven" ) +@Singleton public class MavenMetadataSource implements ArtifactMetadataSource { - @Requirement + @Inject private RepositoryMetadataManager repositoryMetadataManager; - @Requirement + @Inject private ArtifactFactory repositorySystem; //TODO This prevents a cycle in the composition which shows us another problem we need to deal with. - //@Requirement + //@Inject private ProjectBuilder projectBuilder; - @Requirement + @Inject private PlexusContainer container; - @Requirement + @Inject private Logger logger; - @Requirement + @Inject private MavenMetadataCache cache; - @Requirement + @Inject private LegacySupport legacySupport; private void injectSession( MetadataResolutionRequest request ) diff --git a/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java b/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java index 12a6b6f..fbb817e 100644 --- a/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java +++ b/maven-core/src/main/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformation.java @@ -22,8 +22,6 @@ package org.apache.maven.rtinfo.internal; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.Validate; import org.apache.maven.rtinfo.RuntimeInformation; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.eclipse.aether.util.version.GenericVersionScheme; import org.eclipse.aether.version.InvalidVersionSpecificationException; @@ -35,15 +33,20 @@ import java.io.IOException; import java.io.InputStream; import java.util.Properties; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + /** * Provides information about the current Maven runtime. */ -@Component( role = RuntimeInformation.class ) +@Named +@Singleton public class DefaultRuntimeInformation implements RuntimeInformation { - @Requirement + @Inject private Logger logger; private String mavenVersion; 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 d3ffd92..8b12796 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 @@ -22,14 +22,16 @@ package org.apache.maven.settings; import java.io.File; import java.io.IOException; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenExecutionRequest; import org.apache.maven.properties.internal.SystemProperties; import org.apache.maven.settings.building.DefaultSettingsBuildingRequest; import org.apache.maven.settings.building.SettingsBuilder; import org.apache.maven.settings.building.SettingsBuildingException; import org.apache.maven.settings.building.SettingsBuildingRequest; -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 org.codehaus.plexus.util.xml.pull.XmlPullParserException; @@ -37,13 +39,14 @@ import org.codehaus.plexus.util.xml.pull.XmlPullParserException; /** * @author jdcasey */ -@Component( role = MavenSettingsBuilder.class ) +@Named +@Singleton public class DefaultMavenSettingsBuilder extends AbstractLogEnabled implements MavenSettingsBuilder { - @Requirement + @Inject private SettingsBuilder settingsBuilder; public Settings buildSettings() diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java index 4c60aa4..bba161f 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManager.java @@ -25,25 +25,28 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.plugin.descriptor.PluginDescriptor; import org.apache.maven.project.MavenProject; import org.apache.maven.toolchain.model.ToolchainModel; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; /** * @author mkleint */ -@Component( role = ToolchainManager.class ) +@Named +@Singleton public class DefaultToolchainManager implements ToolchainManager { - @Requirement + @Inject Logger logger; - @Requirement( role = ToolchainFactory.class ) + @Inject Map<String, ToolchainFactory> factories; @Override diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java index 1591573..ce1dd76 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainManagerPrivate.java @@ -23,15 +23,18 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.execution.MavenSession; import org.apache.maven.toolchain.model.ToolchainModel; -import org.codehaus.plexus.component.annotations.Component; /** * @author mkleint * @author Robert Scholte */ -@Component( role = ToolchainManagerPrivate.class ) +@Named +@Singleton public class DefaultToolchainManagerPrivate extends DefaultToolchainManager implements ToolchainManagerPrivate diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java index c2b6a61..94f3114 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/DefaultToolchainsBuilder.java @@ -21,25 +21,28 @@ package org.apache.maven.toolchain; import org.apache.maven.toolchain.model.PersistedToolchains; import org.apache.maven.toolchain.model.io.xpp3.MavenToolchainsXpp3Reader; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.ReaderFactory; import java.io.File; import java.io.Reader; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + /** * @author Benjamin Bentmann * @deprecated instead use {@link org.apache.maven.toolchain.building.DefaultToolchainsBuilder} */ @Deprecated -@Component( role = ToolchainsBuilder.class, hint = "default" ) +@Named( "default" ) +@Singleton public class DefaultToolchainsBuilder implements ToolchainsBuilder { - @Requirement + @Inject private Logger logger; public PersistedToolchains build( File userToolchainsFile ) diff --git a/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java index cd4aef0..f2e45a3 100644 --- a/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java +++ b/maven-core/src/main/java/org/apache/maven/toolchain/java/JavaToolchainFactory.java @@ -23,14 +23,16 @@ import java.io.File; import java.util.Map.Entry; import java.util.Properties; +import javax.inject.Inject; +import javax.inject.Named; +import javax.inject.Singleton; + import org.apache.maven.toolchain.MisconfiguredToolchainException; import org.apache.maven.toolchain.RequirementMatcher; import org.apache.maven.toolchain.RequirementMatcherFactory; import org.apache.maven.toolchain.ToolchainFactory; import org.apache.maven.toolchain.ToolchainPrivate; import org.apache.maven.toolchain.model.ToolchainModel; -import org.codehaus.plexus.component.annotations.Component; -import org.codehaus.plexus.component.annotations.Requirement; import org.codehaus.plexus.logging.Logger; import org.codehaus.plexus.util.FileUtils; import org.codehaus.plexus.util.xml.Xpp3Dom; @@ -43,12 +45,13 @@ import org.codehaus.plexus.util.xml.Xpp3Dom; * @author mkleint * @since 2.0.9, renamed from <code>DefaultJavaToolchainFactory</code> in 3.2.4 */ -@Component( role = ToolchainFactory.class, hint = "jdk" ) +@Named( "jdk" ) +@Singleton public class JavaToolchainFactory implements ToolchainFactory { - @Requirement + @Inject private Logger logger; public ToolchainPrivate createToolchain( ToolchainModel model )