You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by sl...@apache.org on 2021/01/08 03:02:56 UTC

[maven] branch MNG-6909v2 updated (b99f95f -> 35c2842)

This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a change to branch MNG-6909v2
in repository https://gitbox.apache.org/repos/asf/maven.git.


 discard b99f95f  [MNG-6909] Convert to JSR330 - use sisu plugin
 discard 512fb62  [MNG-6909] Convert to JSR330 in tests - maven-compat
 discard 5797b70  [MNG-6909] Convert to JSR330 in tests - maven-core
     add 94612f9  [MNG-7060] Let build fail fast in case any maven-gpg-plugin goal is called
     add 6e82d87  [MNG-7064] Use HTTPS for schema location in global settings.xml
     add a2d29b2  [MNG-7065] Ugrade global settings.xml to 1.1.0
     add 2201698  Apply consistent log argument quoting for sigle- and multi-valued args
     add a6d5e86  Use consistent static final loggers
     add e1e2c65  Fix Javadoc errors
     add a0c1bf3  Fix checkstyle error
     new b877445  [MNG-6909] Convert to JSR330 in tests - maven-core
     new 0e34b35  [MNG-6909] Convert to JSR330 in tests - maven-compat
     new b7510d6  [MNG-6909] Convert to JSR330 - use sisu plugin
     new 35c2842  Add Java 17 to CI tests

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (b99f95f)
            \
             N -- N -- N   refs/heads/MNG-6909v2 (35c2842)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 Jenkinsfile                                        |  2 +-
 apache-maven/src/assembly/maven/conf/settings.xml  |  4 ++--
 .../apache/maven/graph/DefaultGraphBuilder.java    |  2 +-
 .../lifecycle/internal/builder/BuilderCommon.java  | 22 +++++++++++++++++++++-
 .../org/apache/maven/project/MavenProject.java     |  2 +-
 .../project/collector/DefaultProjectsSelector.java |  2 +-
 .../collector/MultiModuleCollectionStrategy.java   | 14 +++++++-------
 .../main/java/org/apache/maven/cli/MavenCli.java   | 16 ++++++++--------
 .../SettingsXmlConfigurationProcessor.java         | 16 ++++++++--------
 .../maven/cli/event/ExecutionEventLogger.java      |  2 +-
 .../maven/cli/logging/BaseSlf4jConfiguration.java  |  6 +++---
 .../impl/UnsupportedSlf4jBindingConfiguration.java |  8 ++++----
 .../java/org/apache/maven/feature/Features.java    | 10 +++++++++-
 .../main/java/org/apache/maven/xml/Factories.java  |  5 ++---
 .../xml/sax/filter/AbstractEventXMLFilter.java     |  2 --
 .../xml/sax/filter/BuildPomXMLFilterFactory.java   |  1 -
 .../maven/xml/sax/filter/ConsumerPomXMLFilter.java |  4 ++--
 17 files changed, 71 insertions(+), 47 deletions(-)


[maven] 03/04: [MNG-6909] Convert to JSR330 - use sisu plugin

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MNG-6909v2
in repository https://gitbox.apache.org/repos/asf/maven.git

commit b7510d627f588d3ae95bdd4aeceab0d3e67c682d
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Jan 2 23:34:55 2021 +0100

    [MNG-6909] Convert to JSR330 - use sisu plugin
---
 maven-model-builder/pom.xml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/maven-model-builder/pom.xml b/maven-model-builder/pom.xml
index 9415e5d..3beadaf 100644
--- a/maven-model-builder/pom.xml
+++ b/maven-model-builder/pom.xml
@@ -93,8 +93,8 @@ under the License.
   <build>
     <plugins>
       <plugin>
-        <groupId>org.codehaus.plexus</groupId>
-        <artifactId>plexus-component-metadata</artifactId>
+        <groupId>org.eclipse.sisu</groupId>
+        <artifactId>sisu-maven-plugin</artifactId>
       </plugin>
     </plugins>
   </build>


[maven] 02/04: [MNG-6909] Convert to JSR330 in tests - maven-compat

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MNG-6909v2
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 0e34b35947d0063dff9e579618e0ea3e38315f6f
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Jan 2 23:19:24 2021 +0100

    [MNG-6909] Convert to JSR330 in tests - maven-compat
---
 .../AbstractArtifactComponentTestCase.java         | 15 ++++++++---
 .../artifact/deployer/ArtifactDeployerTest.java    | 11 +++-----
 .../deployer/SimpleArtifactMetadataSource.java     | 13 ++++-----
 .../factory/DefaultArtifactFactoryTest.java        | 24 +++++++++++++++--
 .../artifact/installer/ArtifactInstallerTest.java  | 11 +++-----
 .../artifact/metadata/TestMetadataSource.java      | 11 +++++---
 .../artifact/resolver/ArtifactResolverTest.java    | 13 +++------
 .../resolver/DefaultArtifactResolverTest.java      |  9 +++----
 .../transform/TransformationManagerTest.java       | 24 ++++++++++++++---
 .../manager/DefaultProfileManagerTest.java         | 14 +++++++---
 .../project/AbstractMavenProjectTestCase.java      | 18 ++++++++++---
 .../maven/project/ClasspathArtifactResolver.java   |  7 +++--
 .../apache/maven/project/ProjectClasspathTest.java | 19 ++++++++++---
 .../apache/maven/project/TestArtifactResolver.java | 16 +++++++----
 .../maven/project/TestMavenRepositorySystem.java   | 14 ++++++----
 .../apache/maven/project/TestProjectBuilder.java   |  7 +++--
 .../repository/DefaultMirrorSelectorTest.java      | 11 ++++----
 .../repository/LegacyRepositorySystemTest.java     | 23 ++++++++--------
 .../maven/repository/MirrorProcessorTest.java      | 28 ++++++++++++-------
 .../repository/legacy/DefaultWagonManagerTest.java | 31 +++++++++++-----------
 .../legacy/LegacyRepositorySystemTest.java         | 19 +++++++------
 .../maven/repository/legacy/PerLookupWagon.java    |  6 +++--
 .../maven/repository/legacy/StringWagon.java       |  8 +++---
 .../org/apache/maven/repository/legacy/WagonA.java |  9 +++----
 .../org/apache/maven/repository/legacy/WagonB.java |  9 ++++---
 .../org/apache/maven/repository/legacy/WagonC.java |  9 ++++---
 .../conflict/AbstractConflictResolverTest.java     | 16 ++++++-----
 .../repository/metadata/TestMetadataSource.java    | 10 ++++---
 28 files changed, 250 insertions(+), 155 deletions(-)

diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
index ab59ae6..3c0ce13 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/AbstractArtifactComponentTestCase.java
@@ -29,6 +29,7 @@ import org.apache.maven.execution.MavenSession;
 import org.apache.maven.plugin.LegacySupport;
 import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
@@ -54,6 +55,7 @@ import org.eclipse.aether.util.graph.transformer.SimpleOptionalitySelector;
 import org.eclipse.aether.util.graph.traverser.FatArtifactTraverser;
 import org.eclipse.aether.util.repository.SimpleArtifactDescriptorPolicy;
 
+import javax.inject.Inject;
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
@@ -62,6 +64,7 @@ import java.io.Writer;
 import java.nio.charset.StandardCharsets;
 import java.security.MessageDigest;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 /**
@@ -70,10 +73,15 @@ import java.util.List;
 public abstract class AbstractArtifactComponentTestCase
     extends PlexusTestCase
 {
+    @Inject
     protected ArtifactFactory artifactFactory;
 
+    @Inject
     protected ArtifactRepositoryFactory artifactRepositoryFactory;
 
+    @Inject
+    LegacySupport legacySupport;
+
     @Override
     protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
     {
@@ -87,14 +95,15 @@ public abstract class AbstractArtifactComponentTestCase
         throws Exception
     {
         super.setUp();
-        artifactFactory = lookup( ArtifactFactory.class );
-        artifactRepositoryFactory = lookup( ArtifactRepositoryFactory.class );
+
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
 
         RepositorySystemSession repoSession = initRepoSession();
         MavenSession session = new MavenSession( getContainer(), repoSession, new DefaultMavenExecutionRequest(),
                                                  new DefaultMavenExecutionResult() );
 
-        LegacySupport legacySupport = lookup( LegacySupport.class );
         legacySupport.setSession( session );
     }
 
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
index f929f48..30b1ab3 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/ArtifactDeployerTest.java
@@ -26,22 +26,17 @@ import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.codehaus.plexus.util.FileUtils;
 
+import javax.inject.Inject;
+
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  */
 public class ArtifactDeployerTest
     extends AbstractArtifactComponentTestCase
 {
+    @Inject
     private ArtifactDeployer artifactDeployer;
 
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        artifactDeployer = (ArtifactDeployer) lookup( ArtifactDeployer.ROLE );
-    }
-
     protected String component()
     {
         return "deployer";
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/SimpleArtifactMetadataSource.java b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/SimpleArtifactMetadataSource.java
index f6bebcb..8f6caa8 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/deployer/SimpleArtifactMetadataSource.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/deployer/SimpleArtifactMetadataSource.java
@@ -31,34 +31,35 @@ import org.apache.maven.repository.legacy.metadata.ArtifactMetadataSource;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
 import org.apache.maven.repository.legacy.metadata.ResolutionGroup;
 
+import javax.inject.Named;
+import javax.inject.Singleton;
+
 /** @author Jason van Zyl */
+@Named( "classpath" )
+@Singleton
 public class SimpleArtifactMetadataSource
     implements ArtifactMetadataSource
 {
     public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
                                      List<ArtifactRepository> remoteRepositories )
-        throws ArtifactMetadataRetrievalException
     {
         throw new UnsupportedOperationException( "Cannot retrieve metadata in this test case" );
     }
 
     public List<ArtifactVersion> retrieveAvailableVersions( Artifact artifact, ArtifactRepository localRepository,
                                                             List<ArtifactRepository> remoteRepositories )
-        throws ArtifactMetadataRetrievalException
     {
-        return Collections.<ArtifactVersion>singletonList( new DefaultArtifactVersion( "10.1.3" ) );
+        return Collections.singletonList( new DefaultArtifactVersion( "10.1.3" ) );
     }
 
     public List<ArtifactVersion> retrieveAvailableVersionsFromDeploymentRepository( Artifact artifact,
                                                                                     ArtifactRepository localRepository,
                                                                                     ArtifactRepository remoteRepository )
-        throws ArtifactMetadataRetrievalException
     {
-        return Collections.<ArtifactVersion>singletonList( new DefaultArtifactVersion( "10.1.3" ) );
+        return Collections.singletonList( new DefaultArtifactVersion( "10.1.3" ) );
     }
 
     public ResolutionGroup retrieve( MetadataResolutionRequest request )
-        throws ArtifactMetadataRetrievalException
     {
         return retrieve( request.getArtifact(), request.getLocalRepository(), request.getRemoteRepositories() );
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
index a90c33b..cee9f5a 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/factory/DefaultArtifactFactoryTest.java
@@ -21,14 +21,25 @@ package org.apache.maven.artifact.factory;
 
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.versioning.VersionRange;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenSession;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
+import org.eclipse.aether.RepositorySystemSession;
+
+import javax.inject.Inject;
+import java.util.Collections;
 
 public class DefaultArtifactFactoryTest
     extends PlexusTestCase
 {
 
+    @Inject
+    ArtifactFactory factory;
+
     @Override
     protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
     {
@@ -37,10 +48,19 @@ public class DefaultArtifactFactoryTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
-    public void testPropagationOfSystemScopeRegardlessOfInheritedScope() throws Exception
+    @Override
+    protected void setUp()
+            throws Exception
     {
-        ArtifactFactory factory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+        super.setUp();
 
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
+    }
+
+    public void testPropagationOfSystemScopeRegardlessOfInheritedScope()
+    {
         Artifact artifact = factory.createDependencyArtifact( "test-grp", "test-artifact", VersionRange.createFromVersion("1.0"), "type", null, "system", "provided" );
         Artifact artifact2 = factory.createDependencyArtifact( "test-grp", "test-artifact-2", VersionRange.createFromVersion("1.0"), "type", null, "system", "test" );
         Artifact artifact3 = factory.createDependencyArtifact( "test-grp", "test-artifact-3", VersionRange.createFromVersion("1.0"), "type", null, "system", "runtime" );
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
index 21bfb2b..df519b3 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/installer/ArtifactInstallerTest.java
@@ -24,22 +24,17 @@ import java.io.File;
 import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 
+import javax.inject.Inject;
+
 /**
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  */
 public class ArtifactInstallerTest
     extends AbstractArtifactComponentTestCase
 {
+    @Inject
     private ArtifactInstaller artifactInstaller;
 
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-
-        artifactInstaller = (ArtifactInstaller) lookup( ArtifactInstaller.ROLE );
-    }
-
     protected String component()
     {
         return "installer";
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/metadata/TestMetadataSource.java b/maven-compat/src/test/java/org/apache/maven/artifact/metadata/TestMetadataSource.java
index e3e385e..f1973f9 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/metadata/TestMetadataSource.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/metadata/TestMetadataSource.java
@@ -28,14 +28,17 @@ import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
 
-@Component(role = ArtifactMetadataSource.class, hint="test")
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+@Named( "test" )
+@Singleton
 public class TestMetadataSource
     implements ArtifactMetadataSource
 {
-    @Requirement
+    @Inject
     private ArtifactFactory factory;
 
     public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
index 72a2017..00c1344 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/ArtifactResolverTest.java
@@ -36,6 +36,8 @@ import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.versioning.ArtifactVersion;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
 
+import javax.inject.Inject;
+
 // It would be cool if there was a hook that i could use to setup a test environment.
 // I want to setup a local/remote repositories for testing but i don't want to have
 // to change them when i change the layout of the repositories. So i want to generate
@@ -48,7 +50,8 @@ import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
 public class ArtifactResolverTest
     extends AbstractArtifactComponentTestCase
 {
-    private DefaultArtifactResolver artifactResolver;
+    @Inject
+    private ArtifactResolver artifactResolver;
 
     private Artifact projectArtifact;
 
@@ -58,8 +61,6 @@ public class ArtifactResolverTest
     {
         super.setUp();
 
-        artifactResolver = (DefaultArtifactResolver) lookup( ArtifactResolver.class );
-
         projectArtifact = createLocalArtifact( "project", "3.0" );
     }
 
@@ -67,7 +68,6 @@ public class ArtifactResolverTest
     protected void tearDown()
         throws Exception
     {
-        artifactFactory = null;
         projectArtifact = null;
         super.tearDown();
     }
@@ -193,7 +193,6 @@ public class ArtifactResolverTest
         {
             public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository,
                                              List<ArtifactRepository> remoteRepositories )
-                throws ArtifactMetadataRetrievalException
             {
                 Set<Artifact> dependencies = new HashSet<>();
 
@@ -203,7 +202,6 @@ public class ArtifactResolverTest
             public List<ArtifactVersion> retrieveAvailableVersions( Artifact artifact,
                                                                     ArtifactRepository localRepository,
                                                                     List<ArtifactRepository> remoteRepositories )
-                throws ArtifactMetadataRetrievalException
             {
                 throw new UnsupportedOperationException( "Cannot get available versions in this test case" );
             }
@@ -212,19 +210,16 @@ public class ArtifactResolverTest
                                                                                             Artifact artifact,
                                                                                             ArtifactRepository localRepository,
                                                                                             ArtifactRepository remoteRepository )
-                throws ArtifactMetadataRetrievalException
             {
                 throw new UnsupportedOperationException( "Cannot get available versions in this test case" );
             }
 
             public ResolutionGroup retrieve( MetadataResolutionRequest request )
-                throws ArtifactMetadataRetrievalException
             {
                 return retrieve( request.getArtifact(), request.getLocalRepository(), request.getRemoteRepositories() );
             }
 
             public List<ArtifactVersion> retrieveAvailableVersions( MetadataResolutionRequest request )
-                throws ArtifactMetadataRetrievalException
             {
                 return retrieveAvailableVersions( request.getArtifact(), request.getLocalRepository(), request.getRemoteRepositories() );
             }
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
index 914d9d1..9e221ee 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/resolver/DefaultArtifactResolverTest.java
@@ -25,10 +25,13 @@ import org.apache.maven.artifact.AbstractArtifactComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.resolver.DefaultArtifactResolver.DaemonThreadCreator;
 
+import javax.inject.Inject;
+
 public class DefaultArtifactResolverTest
     extends AbstractArtifactComponentTestCase
 {
-    private DefaultArtifactResolver artifactResolver;
+    @Inject
+    private ArtifactResolver artifactResolver;
 
     private Artifact projectArtifact;
 
@@ -37,9 +40,6 @@ public class DefaultArtifactResolverTest
         throws Exception
     {
         super.setUp();
-
-        artifactResolver = (DefaultArtifactResolver) lookup( ArtifactResolver.class );
-
         projectArtifact = createLocalArtifact( "project", "3.0" );
     }
 
@@ -47,7 +47,6 @@ public class DefaultArtifactResolverTest
     protected void tearDown()
         throws Exception
     {
-        artifactFactory = null;
         projectArtifact = null;
         super.tearDown();
     }
diff --git a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
index 45b4c00..ff0d3bb 100644
--- a/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/artifact/transform/TransformationManagerTest.java
@@ -15,20 +15,28 @@ package org.apache.maven.artifact.transform;
  * the License.
  */
 
+import java.util.Collections;
 import java.util.List;
 
+import org.apache.maven.repository.legacy.resolver.transform.ArtifactTransformation;
 import org.apache.maven.repository.legacy.resolver.transform.ArtifactTransformationManager;
 import org.apache.maven.repository.legacy.resolver.transform.LatestArtifactTransformation;
 import org.apache.maven.repository.legacy.resolver.transform.ReleaseArtifactTransformation;
 import org.apache.maven.repository.legacy.resolver.transform.SnapshotTransformation;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 
+import javax.inject.Inject;
+
 /** @author Jason van Zyl */
 public class TransformationManagerTest
     extends PlexusTestCase
 {
+    @Inject
+    ArtifactTransformationManager tm;
+
     @Override
     protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
     {
@@ -37,12 +45,20 @@ public class TransformationManagerTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
-    public void testTransformationManager()
-        throws Exception
+    @Override
+    protected void setUp()
+            throws Exception
     {
-        ArtifactTransformationManager tm = lookup( ArtifactTransformationManager.class );
+        super.setUp();
 
-        List tms = tm.getArtifactTransformations();
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
+    }
+
+    public void testTransformationManager()
+    {
+        List<ArtifactTransformation> tms = tm.getArtifactTransformations();
 
         assertEquals( 3, tms.size() );
 
diff --git a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
index 7431808..6b8caab 100644
--- a/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/profiles/manager/DefaultProfileManagerTest.java
@@ -19,28 +19,34 @@ package org.apache.maven.profiles.manager;
  * under the License.
  */
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.Activation;
 import org.apache.maven.model.ActivationProperty;
 import org.apache.maven.model.Profile;
 import org.apache.maven.profiles.DefaultProfileManager;
 import org.apache.maven.profiles.ProfileManager;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
+import org.eclipse.aether.RepositorySystemSession;
 
 public class DefaultProfileManagerTest
     extends PlexusTestCase
 {
 
     @Override
-    protected void customizeContainerConfiguration( ContainerConfiguration configuration )
+    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
     {
-        super.customizeContainerConfiguration( configuration );
-        configuration.setAutoWiring( true );
-        configuration.setClassPathScanning( PlexusConstants.SCANNING_ON );
+        super.customizeContainerConfiguration( containerConfiguration );
+        containerConfiguration.setAutoWiring( true );
+        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
     public void testShouldActivateDefaultProfile()
diff --git a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index 4caeb6f..d05aa8f 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -21,17 +21,25 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Arrays;
+import java.util.Collections;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.model.building.ModelBuildingException;
 import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
+import org.eclipse.aether.RepositorySystemSession;
+
+import javax.inject.Inject;
 
 /**
  * @author Jason van Zyl
@@ -41,6 +49,7 @@ public abstract class AbstractMavenProjectTestCase
 {
     protected ProjectBuilder projectBuilder;
 
+    @Inject
     protected RepositorySystem repositorySystem;
 
     @Override
@@ -51,11 +60,16 @@ public abstract class AbstractMavenProjectTestCase
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Override
     protected void setUp()
-        throws Exception
+            throws Exception
     {
         super.setUp();
 
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
+
         if ( getContainer().hasComponent( ProjectBuilder.class, "test" ) )
         {
             projectBuilder = lookup( ProjectBuilder.class, "test" );
@@ -65,8 +79,6 @@ public abstract class AbstractMavenProjectTestCase
             // default over to the main project builder...
             projectBuilder = lookup( ProjectBuilder.class );
         }
-
-        repositorySystem = lookup( RepositorySystem.class );
     }
 
     @Override
diff --git a/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java b/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java
index 90df8cb..f481359 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ClasspathArtifactResolver.java
@@ -25,7 +25,6 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 
-import org.codehaus.plexus.component.annotations.Component;
 import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.artifact.Artifact;
 import org.eclipse.aether.impl.ArtifactResolver;
@@ -34,10 +33,14 @@ import org.eclipse.aether.resolution.ArtifactResolutionException;
 import org.eclipse.aether.resolution.ArtifactResult;
 import org.eclipse.aether.transfer.ArtifactNotFoundException;
 
+import javax.inject.Named;
+import javax.inject.Singleton;
+
 /**
  * @author Benjamin Bentmann
  */
-@Component( role = ArtifactResolver.class, hint = "classpath" )
+@Named( "classpath" )
+@Singleton
 public class ClasspathArtifactResolver
     implements ArtifactResolver
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
index 10825d2..96f1fea 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/ProjectClasspathTest.java
@@ -20,12 +20,18 @@ package org.apache.maven.project;
  */
 
 import java.io.File;
+import java.util.Collections;
 
 import org.apache.maven.artifact.Artifact;
+import org.apache.maven.execution.DefaultMavenExecutionRequest;
+import org.apache.maven.execution.DefaultMavenExecutionResult;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.DefaultArtifactDescriptorReader;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
+import org.eclipse.aether.RepositorySystemSession;
 import org.eclipse.aether.impl.ArtifactDescriptorReader;
 import org.eclipse.aether.impl.ArtifactResolver;
 
@@ -42,16 +48,21 @@ public class ProjectClasspathTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
-    public void setUp()
-        throws Exception
+    @Override
+    protected void setUp()
+            throws Exception
     {
+        super.setUp();
+
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
+
         ArtifactResolver resolver = lookup( ArtifactResolver.class, "classpath" );
         DefaultArtifactDescriptorReader pomReader = (DefaultArtifactDescriptorReader)lookup(ArtifactDescriptorReader.class);
         pomReader.setArtifactResolver( resolver );
 
         projectBuilder = lookup( ProjectBuilder.class, "classpath" );
-
-        repositorySystem = lookup( RepositorySystem.class );
     }
 
     @Override
diff --git a/maven-compat/src/test/java/org/apache/maven/project/TestArtifactResolver.java b/maven-compat/src/test/java/org/apache/maven/project/TestArtifactResolver.java
index 9f389d6..94b30db 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/TestArtifactResolver.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/TestArtifactResolver.java
@@ -16,15 +16,21 @@ package org.apache.maven.project;
  */
 
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
-import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.artifact.resolver.DefaultArtifactResolver;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
 
-@Component(role=ArtifactResolver.class,hint="classpath")
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+@Named( "classpath" )
+@Singleton
 public class TestArtifactResolver
     extends DefaultArtifactResolver
 {
-    @Requirement(hint="classpath")
     private ArtifactMetadataSource source;
+
+    @Inject
+    public TestArtifactResolver(final @Named( "classpath" ) ArtifactMetadataSource source) {
+        this.source = source;
+    }
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java b/maven-compat/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
index 2818df0..1f37676 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/TestMavenRepositorySystem.java
@@ -15,16 +15,20 @@ package org.apache.maven.project;
  * the License.
  */
 
+import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
-import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.legacy.LegacyRepositorySystem;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
 
-@Component(role = RepositorySystem.class, hint = "classpath")
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
+import java.util.Map;
+
+@Named( "classpath" )
+@Singleton
 public class TestMavenRepositorySystem
     extends LegacyRepositorySystem
 {
-    @Requirement(hint="classpath")
+    @Inject
     private ArtifactResolver artifactResolver;
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/project/TestProjectBuilder.java b/maven-compat/src/test/java/org/apache/maven/project/TestProjectBuilder.java
index bb6a20d..18deb43 100644
--- a/maven-compat/src/test/java/org/apache/maven/project/TestProjectBuilder.java
+++ b/maven-compat/src/test/java/org/apache/maven/project/TestProjectBuilder.java
@@ -19,9 +19,12 @@ import java.io.File;
 import java.util.Collections;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
-import org.codehaus.plexus.component.annotations.Component;
 
-@Component(role=ProjectBuilder.class,hint="classpath")
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+@Named( "classpath" )
+@Singleton
 public class TestProjectBuilder
     extends DefaultProjectBuilder
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
index 4e8cdb0..5735db0 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/DefaultMirrorSelectorTest.java
@@ -21,18 +21,17 @@ package org.apache.maven.repository;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
-import org.codehaus.plexus.PlexusTestCase;
+import org.junit.Test;
+
+import static org.junit.Assert.assertFalse;
 
 public class DefaultMirrorSelectorTest
-    extends PlexusTestCase
 {
-
+    @Test
     public void testMirrorWithMirrorOfPatternContainingANegationIsNotSelected()
     {
         ArtifactRepository repository = new DefaultArtifactRepository( "snapshots.repo", "http://whatever", null );
         String pattern = "external:*, !snapshots.repo";
-        boolean matches = DefaultMirrorSelector.matchPattern( repository, pattern );
-        System.out.println( matches );
-        assertFalse( matches );
+        assertFalse( DefaultMirrorSelector.matchPattern( repository, pattern ) );
     }
 }
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
index 17dfcfc..65dbd89 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/LegacyRepositorySystemTest.java
@@ -17,6 +17,7 @@ package org.apache.maven.repository;
 
 import java.io.File;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
@@ -31,15 +32,19 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Repository;
 import org.apache.maven.model.RepositoryPolicy;
 import org.apache.maven.plugin.LegacySupport;
+import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.legacy.LegacyRepositorySystem;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
 
+import javax.inject.Inject;
+
 /**
  * Tests {@link LegacyRepositorySystem}.
  *
@@ -48,8 +53,9 @@ import org.eclipse.aether.repository.LocalRepository;
 public class LegacyRepositorySystemTest
     extends PlexusTestCase
 {
+    @Inject
     private RepositorySystem repositorySystem;
-
+    @Inject
     private ResolutionErrorHandler resolutionErrorHandler;
 
     @Override
@@ -62,20 +68,13 @@ public class LegacyRepositorySystemTest
 
     @Override
     protected void setUp()
-        throws Exception
+            throws Exception
     {
         super.setUp();
-        repositorySystem = lookup( RepositorySystem.class, "default" );
-        resolutionErrorHandler = lookup( ResolutionErrorHandler.class );
-    }
 
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        repositorySystem = null;
-        resolutionErrorHandler = null;
-        super.tearDown();
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
     }
 
     protected List<ArtifactRepository> getRemoteRepositories()
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
index 5764575..8492f7b 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/MirrorProcessorTest.java
@@ -20,35 +20,45 @@ package org.apache.maven.repository;
  */
 
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.repository.legacy.repository.ArtifactRepositoryFactory;
 import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.settings.Mirror;
+import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
+import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 
+import javax.inject.Inject;
+
 public class MirrorProcessorTest
     extends PlexusTestCase
 {
+    @Inject
     private DefaultMirrorSelector mirrorSelector;
+    @Inject
     private ArtifactRepositoryFactory repositorySystem;
 
-    protected void setUp()
-        throws Exception
+    @Override
+    protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
     {
-        mirrorSelector = (DefaultMirrorSelector) lookup( MirrorSelector.class );
-        repositorySystem = lookup( ArtifactRepositoryFactory.class );
+        super.customizeContainerConfiguration( containerConfiguration );
+        containerConfiguration.setAutoWiring( true );
+        containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
     @Override
-    protected void tearDown()
-        throws Exception
+    protected void setUp()
+            throws Exception
     {
-        mirrorSelector = null;
-        repositorySystem = null;
+        super.setUp();
 
-        super.tearDown();
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
     }
 
     public void testExternalURL()
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
index 3424ac1..9ddbe32 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/DefaultWagonManagerTest.java
@@ -22,6 +22,7 @@ package org.apache.maven.repository.legacy;
 import java.io.File;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 import org.apache.maven.artifact.Artifact;
@@ -44,22 +45,28 @@ import org.apache.maven.wagon.events.TransferListener;
 import org.apache.maven.wagon.observers.AbstractTransferListener;
 import org.apache.maven.wagon.observers.Debug;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.FileUtils;
 
+import javax.inject.Inject;
+
 /**
  * @author <a href="michal.maczka@dimatics.com">Michal Maczka</a>
  */
 public class DefaultWagonManagerTest
     extends PlexusTestCase
 {
-    private DefaultWagonManager wagonManager;
+    @Inject
+    private WagonManager wagonManager;
 
-    private TransferListener transferListener = new Debug();
+    private final TransferListener transferListener = new Debug();
 
+    @Inject
     private ArtifactFactory artifactFactory;
 
+    @Inject
     private ArtifactRepositoryFactory artifactRepositoryFactory;
 
     @Override
@@ -70,22 +77,15 @@ public class DefaultWagonManagerTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Override
     protected void setUp()
-        throws Exception
+            throws Exception
     {
         super.setUp();
-        wagonManager = (DefaultWagonManager) lookup( WagonManager.class );
-        artifactFactory = lookup( ArtifactFactory.class );
-        artifactRepositoryFactory = lookup( ArtifactRepositoryFactory.class );
-    }
 
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        wagonManager = null;
-        artifactFactory = null;
-        super.tearDown();
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
     }
 
     public void testUnnecessaryRepositoryLookup()
@@ -164,8 +164,7 @@ public class DefaultWagonManagerTest
     }
 
     public void testGetRemoteJar()
-        throws TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException, IOException,
-        AuthorizationException
+        throws TransferFailedException, ResourceDoesNotExistException, UnsupportedProtocolException, IOException
     {
         Artifact artifact = createTestArtifact( "target/test-data/get-remote-jar", "jar" );
 
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
index f34c05f..d5f281f 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/LegacyRepositorySystemTest.java
@@ -17,15 +17,19 @@ package org.apache.maven.repository.legacy;
 
 import java.io.File;
 import java.util.Arrays;
+import java.util.Collections;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.artifact.repository.Authentication;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.settings.Server;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 
+import javax.inject.Inject;
+
 /**
  * Tests {@link LegacyRepositorySystem}.
  *
@@ -34,6 +38,7 @@ import org.codehaus.plexus.PlexusTestCase;
 public class LegacyRepositorySystemTest
     extends PlexusTestCase
 {
+    @Inject
     private RepositorySystem repositorySystem;
 
     @Override
@@ -46,18 +51,13 @@ public class LegacyRepositorySystemTest
 
     @Override
     protected void setUp()
-        throws Exception
+            throws Exception
     {
         super.setUp();
-        repositorySystem = lookup( RepositorySystem.class, "default" );
-    }
 
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        repositorySystem = null;
-        super.tearDown();
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
     }
 
     public void testThatLocalRepositoryWithSpacesIsProperlyHandled()
@@ -69,7 +69,6 @@ public class LegacyRepositorySystemTest
     }
 
     public void testAuthenticationHandling()
-        throws Exception
     {
         Server server = new Server();
         server.setId( "repository" );
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java
index 051f3e4..edf43aa 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/PerLookupWagon.java
@@ -20,12 +20,14 @@ package org.apache.maven.repository.legacy;
  */
 
 import org.apache.maven.wagon.Wagon;
-import org.codehaus.plexus.component.annotations.Component;
+
+import javax.inject.Named;
+import javax.inject.Singleton;
 
 /**
  * Wagon with per-lookup instantiation strategy.
  */
-@Component( role = Wagon.class, hint = "perlookup", instantiationStrategy = "per-lookup" )
+@Named( "perlookup" )
 public class PerLookupWagon
     extends WagonMock
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/StringWagon.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/StringWagon.java
index fde759e..00be162 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/StringWagon.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/StringWagon.java
@@ -31,13 +31,15 @@ import org.apache.maven.wagon.OutputData;
 import org.apache.maven.wagon.ResourceDoesNotExistException;
 import org.apache.maven.wagon.StreamWagon;
 import org.apache.maven.wagon.TransferFailedException;
-import org.apache.maven.wagon.Wagon;
 import org.apache.maven.wagon.authentication.AuthenticationException;
 import org.apache.maven.wagon.authorization.AuthorizationException;
 import org.apache.maven.wagon.resource.Resource;
-import org.codehaus.plexus.component.annotations.Component;
 
-@Component(role=Wagon.class,hint="string")
+import javax.inject.Named;
+import javax.inject.Singleton;
+
+@Named( "string" )
+@Singleton
 public class StringWagon
     extends StreamWagon
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonA.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonA.java
index 601eefa..dbab864 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonA.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonA.java
@@ -1,8 +1,4 @@
 package org.apache.maven.repository.legacy;
-
-import org.apache.maven.wagon.Wagon;
-import org.codehaus.plexus.component.annotations.Component;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -21,6 +17,8 @@ import org.codehaus.plexus.component.annotations.Component;
  * specific language governing permissions and limitations
  * under the License.
  */
+import javax.inject.Named;
+import javax.inject.Singleton;
 
 /**
  * Wagon for testing, for protocol <code>a</code>
@@ -28,7 +26,8 @@ import org.codehaus.plexus.component.annotations.Component;
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  */
-@Component(role=Wagon.class,hint="a")
+@Named( "a" )
+@Singleton
 public class WagonA
     extends WagonMock
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonB.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonB.java
index ecaef64..c083811 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonB.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonB.java
@@ -1,8 +1,5 @@
 package org.apache.maven.repository.legacy;
 
-import org.apache.maven.wagon.Wagon;
-import org.codehaus.plexus.component.annotations.Component;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -22,13 +19,17 @@ import org.codehaus.plexus.component.annotations.Component;
  * under the License.
  */
 
+import javax.inject.Named;
+import javax.inject.Singleton;
+
 /**
  * Wagon for testing, for protocols <code>b1</code> and <code>b2</code>
  *
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  */
-@Component(role=Wagon.class,hint="b")
+@Named( "b" )
+@Singleton
 public class WagonB
     extends WagonMock
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonC.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonC.java
index 29316ed..29aa1de 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonC.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/WagonC.java
@@ -1,8 +1,5 @@
 package org.apache.maven.repository.legacy;
 
-import org.apache.maven.wagon.Wagon;
-import org.codehaus.plexus.component.annotations.Component;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -22,13 +19,17 @@ import org.codehaus.plexus.component.annotations.Component;
  * under the License.
  */
 
+import javax.inject.Named;
+import javax.inject.Singleton;
+
 /**
  * Wagon for testing, for protocol <code>c</code>
  *
  * @author <a href="mailto:carlos@apache.org">Carlos Sanchez</a>
  * @author <a href="mailto:jason@maven.org">Jason van Zyl</a>
  */
-@Component(role=Wagon.class,hint="c")
+@Named( "c" )
+@Singleton
 public class WagonC
     extends WagonMock
 {
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
index 1b4f4f4..54ae26a 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/legacy/resolver/conflict/AbstractConflictResolverTest.java
@@ -27,9 +27,11 @@ import org.apache.maven.artifact.versioning.InvalidVersionSpecificationException
 import org.apache.maven.artifact.versioning.VersionRange;
 import org.apache.maven.repository.legacy.resolver.conflict.ConflictResolver;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 
+import javax.inject.Inject;
 import java.util.Collections;
 
 /**
@@ -54,6 +56,7 @@ public abstract class AbstractConflictResolverTest
 
     private final String roleHint;
 
+    @Inject
     private ArtifactFactory artifactFactory;
 
     private ConflictResolver conflictResolver;
@@ -76,14 +79,16 @@ public abstract class AbstractConflictResolverTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
-    /*
-     * @see junit.framework.TestCase#setUp()
-     */
-    protected void setUp() throws Exception
+    @Override
+    protected void setUp()
+            throws Exception
     {
         super.setUp();
 
-        artifactFactory = (ArtifactFactory) lookup( ArtifactFactory.ROLE );
+        ((DefaultPlexusContainer)getContainer())
+                .addPlexusInjector( Collections.emptyList(),
+                        binder ->  binder.requestInjection( this ) );
+
         conflictResolver = (ConflictResolver) lookup( ConflictResolver.ROLE, roleHint );
 
         a1 = createArtifact( "a", "1.0" );
@@ -100,7 +105,6 @@ public abstract class AbstractConflictResolverTest
         a2 = null;
         b1 = null;
 
-        artifactFactory = null;
         conflictResolver = null;
 
         super.tearDown();
diff --git a/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java b/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java
index 2293e21..fbb9035 100644
--- a/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java
+++ b/maven-compat/src/test/java/org/apache/maven/repository/metadata/TestMetadataSource.java
@@ -27,18 +27,20 @@ import org.apache.maven.repository.legacy.metadata.ArtifactMetadataRetrievalExce
 import org.apache.maven.repository.legacy.metadata.ArtifactMetadataSource;
 import org.apache.maven.repository.legacy.metadata.MetadataResolutionRequest;
 import org.apache.maven.repository.legacy.metadata.ResolutionGroup;
-import org.codehaus.plexus.component.annotations.Component;
-import org.codehaus.plexus.component.annotations.Requirement;
 
+import javax.inject.Inject;
+import javax.inject.Named;
+import javax.inject.Singleton;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 
-@Component(role = ArtifactMetadataSource.class)
+@Named
+@Singleton
 public class TestMetadataSource
     implements ArtifactMetadataSource
 {
-    @Requirement
+    @Inject
     private ArtifactFactory factory;
 
     public ResolutionGroup retrieve( Artifact artifact, ArtifactRepository localRepository, List<ArtifactRepository> remoteRepositories )


[maven] 04/04: Add Java 17 to CI tests

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MNG-6909v2
in repository https://gitbox.apache.org/repos/asf/maven.git

commit 35c28424601bc30af72f53350980df0f139dffa0
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Fri Jan 8 03:54:47 2021 +0100

    Add Java 17 to CI tests
---
 Jenkinsfile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Jenkinsfile b/Jenkinsfile
index ba9c3c8..3b11fc2 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -23,7 +23,7 @@ def buildOs = 'linux'
 def buildJdk = '8'
 def buildMvn = '3.6.3'
 def runITsOses = ['linux', 'windows']
-def runITsJdks = ['8', '11']
+def runITsJdks = ['8', '11', '17']
 def runITsMvn = '3.6.3'
 def runITscommand = "mvn clean install -Prun-its,embedded -B -U -V" // -DmavenDistro=... -Dmaven.test.failure.ignore=true
 def tests


[maven] 01/04: [MNG-6909] Convert to JSR330 in tests - maven-core

Posted by sl...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch MNG-6909v2
in repository https://gitbox.apache.org/repos/asf/maven.git

commit b877445cb987921d684d130ba16a35cd20807ea8
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sat Jan 2 23:06:37 2021 +0100

    [MNG-6909] Convert to JSR330 in tests - maven-core
    
    Closes #346
---
 maven-core/pom.xml                                 |  5 +++
 .../maven/AbstractCoreMavenComponentTestCase.java  | 27 +++++++------
 .../java/org/apache/maven/DefaultMavenTest.java    | 31 ++++++++-------
 .../src/test/java/org/apache/maven/MavenTest.java  | 35 +++++++++--------
 .../maven/ProjectDependenciesResolverTest.java     | 20 ++--------
 .../maven/lifecycle/DefaultLifecyclesTest.java     | 23 ++++++-----
 .../lifecycle/LifecycleExecutorSubModulesTest.java | 44 +++++++---------------
 .../maven/lifecycle/LifecycleExecutorTest.java     | 34 +++--------------
 .../internal/LifecycleDependencyResolverTest.java  | 15 ++------
 .../org/apache/maven/plugin/PluginManagerTest.java | 19 ++--------
 .../PluginParameterExpressionEvaluatorTest.java    | 10 ++---
 .../project/AbstractMavenProjectTestCase.java      | 16 +++++++-
 .../apache/maven/project/PomConstructionTest.java  | 18 ++++++++-
 .../project/artifact/MavenMetadataSourceTest.java  | 20 ++++++++--
 .../internal/DefaultRuntimeInformationTest.java    | 27 ++++++++++---
 .../settings/PomConstructionWithSettingsTest.java  | 18 +++++++--
 .../java/org/apache/maven/cli/MavenCliTest.java    | 11 +-----
 17 files changed, 185 insertions(+), 188 deletions(-)

diff --git a/maven-core/pom.xml b/maven-core/pom.xml
index 7c965ce..661ae9b 100644
--- a/maven-core/pom.xml
+++ b/maven-core/pom.xml
@@ -132,6 +132,11 @@ under the License.
       <artifactId>commons-lang3</artifactId>
     </dependency>
     <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-simple</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>commons-jxpath</groupId>
       <artifactId>commons-jxpath</artifactId>
       <scope>test</scope>
diff --git a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
index 8df987e..de0f99b 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -22,6 +22,7 @@ package org.apache.maven;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Properties;
 
@@ -45,37 +46,39 @@ import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.util.FileUtils;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
 
+import javax.inject.Inject;
+
 public abstract class AbstractCoreMavenComponentTestCase
     extends PlexusTestCase
 {
-    @Requirement
+    @Inject
     protected RepositorySystem repositorySystem;
 
-    @Requirement
+    @Inject
     protected org.apache.maven.project.ProjectBuilder projectBuilder;
 
-    protected void setUp()
-        throws Exception
+    @Override
+    protected void setUp() throws Exception
     {
-        repositorySystem = lookup( RepositorySystem.class );
-        projectBuilder = lookup( org.apache.maven.project.ProjectBuilder.class );
+        super.setUp();
+        getContainer();
     }
 
     @Override
-    protected void tearDown()
-        throws Exception
+    protected synchronized void setupContainer()
     {
-        repositorySystem = null;
-        projectBuilder = null;
-        super.tearDown();
+        super.setupContainer();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
     }
 
     abstract protected String getProjectsDirectory();
diff --git a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
index 1360d8e..c63acbc 100644
--- a/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/DefaultMavenTest.java
@@ -1,17 +1,5 @@
 package org.apache.maven;
 
-import org.apache.maven.artifact.Artifact;
-import org.apache.maven.artifact.DefaultArtifact;
-import org.apache.maven.execution.MavenExecutionRequest;
-import org.apache.maven.execution.MavenExecutionResult;
-import org.apache.maven.project.MavenProject;
-import org.apache.maven.project.MavenProjectHelper;
-
-import java.io.File;
-import java.nio.file.Files;
-
-import static java.util.Arrays.asList;
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -30,14 +18,31 @@ import static java.util.Arrays.asList;
  * specific language governing permissions and limitations
  * under the License.
  */
+
+import org.apache.maven.artifact.Artifact;
+import org.apache.maven.artifact.DefaultArtifact;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionResult;
+import org.apache.maven.project.MavenProject;
+import org.apache.maven.project.MavenProjectHelper;
+
+import java.io.File;
+import java.nio.file.Files;
+
+import javax.inject.Inject;
+
+import static java.util.Arrays.asList;
+
 public class DefaultMavenTest
     extends AbstractCoreMavenComponentTestCase
 {
 
+    @Inject
+    private Maven maven;
+
     public void testThatErrorDuringProjectDependencyGraphCreationAreStored()
             throws Exception
     {
-        Maven maven = getContainer().lookup( Maven.class );
         MavenExecutionRequest request = createMavenExecutionRequest( getProject( "cyclic-reference" ) ).setGoals( asList("validate") );
 
         MavenExecutionResult result = maven.execute( request );
diff --git a/maven-core/src/test/java/org/apache/maven/MavenTest.java b/maven-core/src/test/java/org/apache/maven/MavenTest.java
index 3e24860..711199a 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenTest.java
@@ -17,32 +17,31 @@ package org.apache.maven;
 
 
 import org.apache.maven.exception.ExceptionHandler;
-import org.codehaus.plexus.component.annotations.Requirement;
+import org.apache.maven.exception.ExceptionSummary;
+import org.apache.maven.execution.MavenExecutionRequest;
+import org.apache.maven.execution.MavenExecutionResult;
+import org.codehaus.plexus.DefaultPlexusContainer;
+
+import javax.inject.Inject;
+import java.io.File;
+import java.util.Collections;
 
 public class MavenTest
     extends AbstractCoreMavenComponentTestCase
 {
-    @Requirement
+    @Inject
     private Maven maven;
 
-    @Requirement
+    @Inject
     private ExceptionHandler exceptionHandler;
 
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        maven = lookup( Maven.class );
-        exceptionHandler = lookup( ExceptionHandler.class );
-    }
-
     @Override
-    protected void tearDown()
-        throws Exception
+    protected synchronized void setupContainer()
     {
-        maven = null;
-        exceptionHandler = null;
-        super.tearDown();
+        super.setupContainer();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
     }
 
     protected String getProjectsDirectory()
@@ -53,7 +52,7 @@ public class MavenTest
     public void testLifecycleExecutionUsingADefaultLifecyclePhase()
         throws Exception
     {
-        /*
+/*
         File pom = getProject( "project-with-additional-lifecycle-elements" );
         MavenExecutionRequest request = createMavenExecutionRequest( pom );
         MavenExecutionResult result = maven.execute( request );
@@ -64,6 +63,6 @@ public class MavenTest
             es.getException().printStackTrace();
             fail( "Maven did not execute correctly." );
         }
-        */
+*/
     }
 }
diff --git a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
index 0bc2978..d3b2eaa 100644
--- a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
@@ -27,29 +27,15 @@ import java.util.Set;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Requirement;
+
+import javax.inject.Inject;
 
 public class ProjectDependenciesResolverTest
     extends AbstractCoreMavenComponentTestCase
 {
-    @Requirement
+    @Inject
     private ProjectDependenciesResolver resolver;
 
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        resolver = lookup( ProjectDependenciesResolver.class );
-    }
-
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        resolver = null;
-        super.tearDown();
-    }
-
     protected String getProjectsDirectory()
     {
         return "src/test/projects/project-dependencies-resolver";
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
index dfc5a8a..28ffeda 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/DefaultLifecyclesTest.java
@@ -27,9 +27,13 @@ import java.util.List;
 import java.util.stream.Collectors;
 
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
-import org.codehaus.plexus.component.annotations.Requirement;
+
+import javax.inject.Inject;
+import java.util.Collections;
+import java.util.List;
 
 /**
  * @author Kristian Rosenvold
@@ -38,7 +42,7 @@ import org.codehaus.plexus.component.annotations.Requirement;
 public class DefaultLifecyclesTest
     extends PlexusTestCase
 {
-    @Requirement
+    @Inject
     private DefaultLifecycles defaultLifeCycles;
 
     @Override
@@ -49,19 +53,20 @@ public class DefaultLifecyclesTest
         configuration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
-    protected void setUp()
-        throws Exception
+    @Override
+    protected void setUp() throws Exception
     {
         super.setUp();
-        defaultLifeCycles = lookup( DefaultLifecycles.class );
+        getContainer();
     }
 
     @Override
-    protected void tearDown()
-        throws Exception
+    protected synchronized void setupContainer()
     {
-        defaultLifeCycles = null;
-        super.tearDown();
+        super.setupContainer();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
     }
 
     public void testDefaultLifecycles()
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
index df585fb..dbf242e 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorSubModulesTest.java
@@ -23,10 +23,11 @@ import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
 import org.apache.maven.lifecycle.internal.LifecycleModuleBuilder;
 import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
 import org.apache.maven.lifecycle.internal.MojoExecutor;
-import org.codehaus.plexus.component.annotations.Requirement;
+
+import javax.inject.Inject;
 
 /**
- * Just asserts that it's able to create those components. Handy when plexus gets a nervous breakdown.
+ * Just asserts that it's able to create those components. Handy when CDI container gets a nervous breakdown.
  *
  * @author Kristian Rosenvold
  */
@@ -34,49 +35,29 @@ import org.codehaus.plexus.component.annotations.Requirement;
 public class LifecycleExecutorSubModulesTest
     extends AbstractCoreMavenComponentTestCase
 {
-    @Requirement
+    @Inject
     private DefaultLifecycles defaultLifeCycles;
 
-    @Requirement
+    @Inject
     private MojoExecutor mojoExecutor;
 
-    @Requirement
+    @Inject
     private LifecycleModuleBuilder lifeCycleBuilder;
 
-    @Requirement
+    @Inject
     private LifecycleDependencyResolver lifeCycleDependencyResolver;
 
-    @Requirement
+    @Inject
     private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator;
 
-    @Requirement
+    @Inject
     private LifeCyclePluginAnalyzer lifeCyclePluginAnalyzer;
 
-    @Requirement
+    @Inject
     private LifecycleTaskSegmentCalculator lifeCycleTaskSegmentCalculator;
 
-
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        defaultLifeCycles = lookup( DefaultLifecycles.class );
-        mojoExecutor = lookup( MojoExecutor.class );
-        lifeCycleBuilder = lookup( LifecycleModuleBuilder.class );
-        lifeCycleDependencyResolver = lookup( LifecycleDependencyResolver.class );
-        lifeCycleExecutionPlanCalculator = lookup( LifecycleExecutionPlanCalculator.class );
-        lifeCyclePluginAnalyzer = lookup( LifeCyclePluginAnalyzer.class );
-        lifeCycleTaskSegmentCalculator = lookup( LifecycleTaskSegmentCalculator.class );
-        lookup( ExceptionHandler.class );
-    }
-
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        defaultLifeCycles = null;
-        super.tearDown();
-    }
+    @Inject
+    private ExceptionHandler exceptionHandler;
 
     protected String getProjectsDirectory()
     {
@@ -93,6 +74,7 @@ public class LifecycleExecutorSubModulesTest
         assertNotNull( lifeCycleExecutionPlanCalculator );
         assertNotNull( lifeCyclePluginAnalyzer );
         assertNotNull( lifeCycleTaskSegmentCalculator );
+        assertNotNull( exceptionHandler );
     }
 
 }
\ No newline at end of file
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
index 205538a..d4a7e9b 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/LifecycleExecutorTest.java
@@ -26,7 +26,6 @@ import java.util.HashSet;
 import java.util.List;
 
 import org.apache.maven.AbstractCoreMavenComponentTestCase;
-import org.apache.maven.exception.ExceptionHandler;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.execution.MojoExecutionEvent;
 import org.apache.maven.execution.MojoExecutionListener;
@@ -37,7 +36,6 @@ import org.apache.maven.lifecycle.internal.DefaultLifecycleTaskSegmentCalculator
 import org.apache.maven.lifecycle.internal.ExecutionPlanItem;
 import org.apache.maven.lifecycle.internal.LifecycleExecutionPlanCalculator;
 import org.apache.maven.lifecycle.internal.LifecycleTask;
-import org.apache.maven.lifecycle.internal.LifecycleTaskSegmentCalculator;
 import org.apache.maven.lifecycle.internal.MojoDescriptorCreator;
 import org.apache.maven.lifecycle.internal.TaskSegment;
 import org.apache.maven.model.Plugin;
@@ -46,45 +44,25 @@ import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoNotFoundException;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
 import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Requirement;
 import org.codehaus.plexus.util.xml.Xpp3Dom;
 
+import javax.inject.Inject;
+
 public class LifecycleExecutorTest
     extends AbstractCoreMavenComponentTestCase
 {
-    @Requirement
+    @Inject
     private DefaultLifecycleExecutor lifecycleExecutor;
 
-    @Requirement
+    @Inject
     private DefaultLifecycleTaskSegmentCalculator lifeCycleTaskSegmentCalculator;
 
-    @Requirement
+    @Inject
     private LifecycleExecutionPlanCalculator lifeCycleExecutionPlanCalculator;
 
-    @Requirement
+    @Inject
     private MojoDescriptorCreator mojoDescriptorCreator;
 
-
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        lifecycleExecutor = (DefaultLifecycleExecutor) lookup( LifecycleExecutor.class );
-        lifeCycleTaskSegmentCalculator =
-            (DefaultLifecycleTaskSegmentCalculator) lookup( LifecycleTaskSegmentCalculator.class );
-        lifeCycleExecutionPlanCalculator = lookup( LifecycleExecutionPlanCalculator.class );
-        mojoDescriptorCreator = lookup( MojoDescriptorCreator.class );
-        lookup( ExceptionHandler.class );
-    }
-
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        lifecycleExecutor = null;
-        super.tearDown();
-    }
-
     protected String getProjectsDirectory()
     {
         return "src/test/projects/lifecycle-executor";
diff --git a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
index 89257d1..de02428 100644
--- a/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/lifecycle/internal/LifecycleDependencyResolverTest.java
@@ -30,12 +30,12 @@ import org.apache.maven.AbstractCoreMavenComponentTestCase;
 import org.apache.maven.artifact.Artifact;
 import org.apache.maven.execution.MavenSession;
 import org.apache.maven.project.MavenProject;
-import org.codehaus.plexus.component.annotations.Requirement;
-import org.junit.Test;
+
+import javax.inject.Inject;
 
 public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentTestCase
 {
-    @Requirement
+    @Inject
     private LifecycleDependencyResolver resolver;
 
     @Override
@@ -44,15 +44,6 @@ public class LifecycleDependencyResolverTest extends AbstractCoreMavenComponentT
         return null;
     }
 
-    @Override
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        resolver = lookup( LifecycleDependencyResolver.class );
-    }
-
-    @Test
     public void testCachedReactorProjectDependencies() throws Exception
     {
         MavenSession session = createMavenSession( new File( "src/test/projects/lifecycle-dependency-resolver/pom.xml" ), new Properties(), true );
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
index 8ef5c84..b4b3b3a 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginManagerTest.java
@@ -31,29 +31,16 @@ 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.Requirement;
 import org.codehaus.plexus.component.repository.ComponentDescriptor;
 
+import javax.inject.Inject;
+
 public class PluginManagerTest
     extends AbstractCoreMavenComponentTestCase
 {
-    @Requirement
+    @Inject
     private DefaultBuildPluginManager pluginManager;
 
-    protected void setUp()
-        throws Exception
-    {
-        super.setUp();
-        pluginManager = (DefaultBuildPluginManager) lookup( BuildPluginManager.class );
-    }
-
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        pluginManager = null;
-        super.tearDown();
-    }
 
     protected String getProjectsDirectory()
     {
diff --git a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
index 04a7ee5..e579d69 100644
--- a/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
+++ b/maven-core/src/test/java/org/apache/maven/plugin/PluginParameterExpressionEvaluatorTest.java
@@ -47,6 +47,8 @@ import org.codehaus.plexus.PlexusContainer;
 import org.codehaus.plexus.component.configurator.expression.ExpressionEvaluator;
 import org.codehaus.plexus.util.dag.CycleDetectedException;
 
+import javax.inject.Inject;
+
 /**
  * @author Jason van Zyl
  */
@@ -55,15 +57,9 @@ public class PluginParameterExpressionEvaluatorTest
 {
     private static final String FS = File.separator;
 
+    @Inject
     private RepositorySystem factory;
 
-    public void setUp()
-        throws Exception
-    {
-        super.setUp();
-        factory = lookup( RepositorySystem.class );
-    }
-
     @Override
     protected void tearDown()
         throws Exception
diff --git a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
index ac3954d..1456ead 100644
--- a/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/project/AbstractMavenProjectTestCase.java
@@ -21,6 +21,7 @@ import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
 import java.util.Arrays;
+import java.util.Collections;
 
 import org.apache.maven.artifact.repository.ArtifactRepository;
 import org.apache.maven.model.building.ModelBuildingException;
@@ -28,10 +29,13 @@ import org.apache.maven.model.building.ModelProblem;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 
+import javax.inject.Inject;
+
 /**
  * @author Jason van Zyl
  */
@@ -40,6 +44,7 @@ public abstract class AbstractMavenProjectTestCase
 {
     protected ProjectBuilder projectBuilder;
 
+    @Inject
     protected RepositorySystem repositorySystem;
 
     @Override
@@ -50,6 +55,15 @@ public abstract class AbstractMavenProjectTestCase
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Override
+    protected synchronized void setupContainer()
+    {
+        super.setupContainer();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
+    }
+
     protected void setUp()
         throws Exception
     {
@@ -64,8 +78,6 @@ public abstract class AbstractMavenProjectTestCase
             // default over to the main project builder...
             projectBuilder = lookup( ProjectBuilder.class );
         }
-
-        repositorySystem = lookup( RepositorySystem.class );
     }
 
     @Override
diff --git a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index a078a81..e953dbc 100644
--- a/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
@@ -22,6 +22,7 @@ package org.apache.maven.project;
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -34,12 +35,15 @@ import org.apache.maven.project.harness.PomTestWrapper;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
 
+import javax.inject.Inject;
+
 import static org.hamcrest.Matchers.*;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertThat;
@@ -53,13 +57,24 @@ public class PomConstructionTest
 
     private static String BASE_MIXIN_DIR = BASE_DIR + "/resources-mixins";
 
+    @Inject
     private DefaultProjectBuilder projectBuilder;
 
+    @Inject
     private RepositorySystem repositorySystem;
 
     private File testDirectory;
 
     @Override
+    protected synchronized void setupContainer()
+    {
+        super.setupContainer();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
+    }
+
+    @Override
     protected void customizeContainerConfiguration( ContainerConfiguration containerConfiguration )
     {
         super.customizeContainerConfiguration( containerConfiguration );
@@ -70,10 +85,9 @@ public class PomConstructionTest
     protected void setUp()
         throws Exception
     {
+        getContainer();
         testDirectory = new File( getBasedir(), BASE_POM_DIR );
         new File( getBasedir(), BASE_MIXIN_DIR );
-        projectBuilder = (DefaultProjectBuilder) lookup( ProjectBuilder.class );
-        repositorySystem = lookup( RepositorySystem.class );
     }
 
     @Override
diff --git a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
index 05d7d3e..beaa149 100644
--- a/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
+++ b/maven-core/src/test/java/org/apache/maven/project/artifact/MavenMetadataSourceTest.java
@@ -20,20 +20,34 @@ package org.apache.maven.project.artifact;
  */
 
 import org.apache.maven.repository.RepositorySystem;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusTestCase;
 import org.junit.Ignore;
 
+import javax.inject.Inject;
+import java.util.Collections;
+
 @Ignore
 public class MavenMetadataSourceTest
     extends PlexusTestCase
 {
+    @Inject
     private RepositorySystem repositorySystem;
 
-    protected void setUp()
-        throws Exception
+    @Override
+    protected synchronized void setupContainer()
+    {
+        super.setupContainer();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
+    }
+
+    @Override
+    protected void setUp() throws Exception
     {
         super.setUp();
-        repositorySystem = lookup( RepositorySystem.class );
+        getContainer();
     }
 
     @Override
diff --git a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
index 68fbcb1..9e5d6ea 100644
--- a/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
+++ b/maven-core/src/test/java/org/apache/maven/rtinfo/internal/DefaultRuntimeInformationTest.java
@@ -21,12 +21,18 @@ package org.apache.maven.rtinfo.internal;
 
 import org.apache.maven.rtinfo.RuntimeInformation;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 
+import javax.inject.Inject;
+import java.util.Collections;
+
 public class DefaultRuntimeInformationTest
     extends PlexusTestCase
 {
+    @Inject
+    RuntimeInformation rtInfo;
 
     @Override
     protected void customizeContainerConfiguration(
@@ -37,21 +43,30 @@ public class DefaultRuntimeInformationTest
         configuration.setClassPathScanning(PlexusConstants.SCANNING_INDEX);
     }
 
-    public void testGetMavenVersion()
-        throws Exception
+    @Override
+    protected void setUp() throws Exception
+    {
+        super.setUp();
+        getContainer();
+    }
+    @Override
+    protected synchronized void setupContainer()
     {
-        RuntimeInformation rtInfo = lookup( RuntimeInformation.class );
+        super.setupContainer();
 
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
+    }
+
+    public void testGetMavenVersion()
+    {
         String mavenVersion = rtInfo.getMavenVersion();
         assertNotNull( mavenVersion );
         assertTrue( mavenVersion.length() > 0 );
     }
 
     public void testIsMavenVersion()
-        throws Exception
     {
-        RuntimeInformation rtInfo = lookup( RuntimeInformation.class );
-
         assertTrue( rtInfo.isMavenVersion( "2.0" ) );
         assertFalse( rtInfo.isMavenVersion( "9.9" ) );
 
diff --git a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
index 78d0da8..4d66b0f 100644
--- a/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
+++ b/maven-core/src/test/java/org/apache/maven/settings/PomConstructionWithSettingsTest.java
@@ -23,13 +23,13 @@ import org.apache.maven.artifact.repository.layout.DefaultRepositoryLayout;
 import org.apache.maven.model.Profile;
 import org.apache.maven.project.DefaultProjectBuilder;
 import org.apache.maven.project.DefaultProjectBuildingRequest;
-import org.apache.maven.project.ProjectBuilder;
 import org.apache.maven.project.ProjectBuildingRequest;
 import org.apache.maven.project.harness.PomTestWrapper;
 import org.apache.maven.repository.RepositorySystem;
 import org.apache.maven.repository.internal.MavenRepositorySystemUtils;
 import org.apache.maven.settings.io.xpp3.SettingsXpp3Reader;
 import org.codehaus.plexus.ContainerConfiguration;
+import org.codehaus.plexus.DefaultPlexusContainer;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.PlexusTestCase;
 import org.codehaus.plexus.util.ReaderFactory;
@@ -38,9 +38,11 @@ import org.eclipse.aether.DefaultRepositorySystemSession;
 import org.eclipse.aether.internal.impl.SimpleLocalRepositoryManagerFactory;
 import org.eclipse.aether.repository.LocalRepository;
 
+import javax.inject.Inject;
 import java.io.File;
 import java.io.IOException;
 import java.io.Reader;
+import java.util.Collections;
 
 public class PomConstructionWithSettingsTest
     extends PlexusTestCase
@@ -49,8 +51,10 @@ public class PomConstructionWithSettingsTest
 
     private static final String BASE_POM_DIR = BASE_DIR + "/resources-settings";
 
+    @Inject
     private DefaultProjectBuilder projectBuilder;
 
+    @Inject
     private RepositorySystem repositorySystem;
 
     private File testDirectory;
@@ -63,12 +67,20 @@ public class PomConstructionWithSettingsTest
         containerConfiguration.setClassPathScanning( PlexusConstants.SCANNING_INDEX );
     }
 
+    @Override
+    protected synchronized void setupContainer()
+    {
+        super.setupContainer();
+
+        ( (DefaultPlexusContainer) getContainer() ).addPlexusInjector( Collections.emptyList(),
+                binder -> binder.requestInjection( this ) );
+    }
+
     protected void setUp()
         throws Exception
     {
+        getContainer();
         testDirectory = new File( getBasedir(), BASE_POM_DIR );
-        projectBuilder = (DefaultProjectBuilder) lookup( ProjectBuilder.class );
-        repositorySystem = lookup( RepositorySystem.class );
     }
 
     @Override
diff --git a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
index e60ee9d..491fb0b 100644
--- a/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
+++ b/maven-embedder/src/test/java/org/apache/maven/cli/MavenCliTest.java
@@ -386,15 +386,8 @@ public class MavenCliTest
                 super.customizeContainer(container);
                 container.addComponent(mock(Maven.class), "org.apache.maven.Maven");
 
-                ((DefaultPlexusContainer)container).addPlexusInjector(Collections.<PlexusBeanModule>emptyList(),
-                        new Module()
-                        {
-                            public void configure( final Binder binder )
-                            {
-                                binder.bind( EventSpyDispatcher.class ).toInstance( eventSpyDispatcherMock );
-                            }
-                        }
-                    );
+                ( (DefaultPlexusContainer) container ).addPlexusInjector( Collections.emptyList(),
+                        binder -> binder.bind( EventSpyDispatcher.class ).toInstance( eventSpyDispatcherMock ) );
             }
         };