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 2020/05/20 13:06:51 UTC

[maven] branch MNG-6909 updated: [MNG-6909] Use CDI for tests - maven-core

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

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


The following commit(s) were added to refs/heads/MNG-6909 by this push:
     new a757068  [MNG-6909] Use CDI for tests - maven-core
a757068 is described below

commit a7570683ee9148f144180adf587d983607428f29
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Wed May 20 14:56:44 2020 +0200

    [MNG-6909] Use CDI for tests - maven-core
---
 .../maven/AbstractCoreMavenComponentTestCase.java  | 20 ++++++++--------
 .../src/test/java/org/apache/maven/MavenTest.java  | 13 ++++++----
 .../maven/ProjectDependenciesResolverTest.java     |  8 -------
 .../maven/lifecycle/DefaultLifecyclesTest.java     | 18 ++++++++------
 .../org/apache/maven/plugin/PluginManagerTest.java |  7 ------
 .../project/AbstractMavenProjectTestCase.java      | 17 +++++++++++--
 .../apache/maven/project/PomConstructionTest.java  | 19 +++++++++++++--
 .../project/artifact/MavenMetadataSourceTest.java  | 21 +++++++++++++---
 .../internal/DefaultRuntimeInformationTest.java    | 28 +++++++++++++++++-----
 .../settings/PomConstructionWithSettingsTest.java  | 19 ++++++++++++---
 10 files changed, 117 insertions(+), 53 deletions(-)

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 d9530bc..20129a4 100644
--- a/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
+++ b/maven-core/src/test/java/org/apache/maven/AbstractCoreMavenComponentTestCase.java
@@ -65,21 +65,21 @@ public abstract class AbstractCoreMavenComponentTestCase
     @Inject
     protected org.apache.maven.project.ProjectBuilder projectBuilder;
 
-    protected void setUp()
-        throws Exception
+    @Override
+    protected void setUp() throws Exception
     {
-        ((DefaultPlexusContainer)getContainer())
-                .addPlexusInjector( Collections.emptyList(),
-                        binder ->  binder.requestInjection( this ) );
+        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/MavenTest.java b/maven-core/src/test/java/org/apache/maven/MavenTest.java
index a2c8fba..d7b764d 100644
--- a/maven-core/src/test/java/org/apache/maven/MavenTest.java
+++ b/maven-core/src/test/java/org/apache/maven/MavenTest.java
@@ -17,8 +17,10 @@ package org.apache.maven;
 
 
 import org.apache.maven.exception.ExceptionHandler;
+import org.codehaus.plexus.DefaultPlexusContainer;
 
 import javax.inject.Inject;
+import java.util.Collections;
 
 public class MavenTest
     extends AbstractCoreMavenComponentTestCase
@@ -30,12 +32,13 @@ public class MavenTest
     private ExceptionHandler exceptionHandler;
 
     @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()
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 dabb192..d3b2eaa 100644
--- a/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
+++ b/maven-core/src/test/java/org/apache/maven/ProjectDependenciesResolverTest.java
@@ -36,14 +36,6 @@ public class ProjectDependenciesResolverTest
     @Inject
     private ProjectDependenciesResolver resolver;
 
-    @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 ecdf988..373f62b 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
@@ -15,10 +15,12 @@
 package org.apache.maven.lifecycle;
 
 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;
 import java.util.List;
 
 /**
@@ -40,19 +42,21 @@ 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 testLifecycle()
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 58e71fe..24dcce1 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
@@ -41,13 +41,6 @@ public class PluginManagerTest
     @Inject
     private DefaultBuildPluginManager pluginManager;
 
-    @Override
-    protected void tearDown()
-        throws Exception
-    {
-        pluginManager = null;
-        super.tearDown();
-    }
 
     protected String getProjectsDirectory()
     {
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..aaf0733 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,16 @@ 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 +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-core/src/test/java/org/apache/maven/project/PomConstructionTest.java b/maven-core/src/test/java/org/apache/maven/project/PomConstructionTest.java
index ccc03d0..3db4277 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,25 @@ 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 +86,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..2f25c60 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,35 @@ 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..9709d19 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,31 @@ 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..8316278 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,21 @@ 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