You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by eo...@apache.org on 2020/04/05 10:58:07 UTC
[maven-studies] 05/11: [MNG-5577] Convert maven-core to JSR 330
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 <jo...@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:brett@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 )