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/12/28 13:23:39 UTC

[maven-invoker] branch MSHARED-577 updated (f10cb4c -> 36b7b2d)

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

slachiewicz pushed a change to branch MSHARED-577
in repository https://gitbox.apache.org/repos/asf/maven-invoker.git.


 discard f10cb4c  [MSHARED-577] Remove M2_HOME
     new 36b7b2d  [MSHARED-577] Remove M2_HOME

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   (f10cb4c)
            \
             N -- N -- N   refs/heads/MSHARED-577 (36b7b2d)

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 1 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:
 .../org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


[maven-invoker] 01/01: [MSHARED-577] Remove M2_HOME

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

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

commit 36b7b2d12bc7cf8b7652138121fe6d3ea150beaa
Author: Sylwester Lachiewicz <sl...@apache.org>
AuthorDate: Sun Feb 23 15:51:35 2020 +0100

    [MSHARED-577] Remove M2_HOME
---
 pom.xml                                            |  1 +
 .../org/apache/maven/shared/invoker/Invoker.java   |  2 +-
 .../shared/invoker/MavenCommandLineBuilder.java    | 29 +++++++++-------------
 src/site/apt/usage.apt                             |  2 +-
 .../maven/shared/invoker/DefaultInvokerTest.java   | 11 ++------
 .../invoker/MavenCommandLineBuilderTest.java       | 14 ++++-------
 .../resources/test-build-should-succeed/pom.xml    |  2 +-
 .../resources/test-build-should-timeout/pom.xml    |  2 +-
 src/test/resources/test-space-properties/pom.xml   |  6 ++---
 9 files changed, 27 insertions(+), 42 deletions(-)

diff --git a/pom.xml b/pom.xml
index b8ad5f9..3443b79 100644
--- a/pom.xml
+++ b/pom.xml
@@ -94,6 +94,7 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-surefire-plugin</artifactId>
+        <version>3.0.0-M4</version>
         <configuration>
           <redirectTestOutputToFile>true</redirectTestOutputToFile>
           <systemProperties>
diff --git a/src/main/java/org/apache/maven/shared/invoker/Invoker.java b/src/main/java/org/apache/maven/shared/invoker/Invoker.java
index 369be70..63f2fdd 100644
--- a/src/main/java/org/apache/maven/shared/invoker/Invoker.java
+++ b/src/main/java/org/apache/maven/shared/invoker/Invoker.java
@@ -80,7 +80,7 @@ public interface Invoker
     /**
      * Sets the path to the base directory of the Maven installation used to invoke Maven. This parameter may be left
      * unspecified to use the default Maven installation which will be discovered by evaluating the system property
-     * <code>maven.home</code> and the environment variable <code>M2_HOME</code>.
+     * <code>maven.home</code>.
      * 
      * @param mavenHome The path to the base directory of the Maven installation, may be <code>null</code> to use the
      *            default Maven installation.
diff --git a/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java b/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java
index 57021a0..82a08e0 100644
--- a/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java
+++ b/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java
@@ -30,6 +30,7 @@ import org.apache.maven.shared.invoker.InvocationRequest.CheckSumPolicy;
 import org.apache.maven.shared.invoker.InvocationRequest.ReactorFailureBehavior;
 import org.apache.maven.shared.utils.Os;
 import org.apache.maven.shared.utils.StringUtils;
+import org.apache.maven.shared.utils.cli.CommandLineException;
 import org.apache.maven.shared.utils.cli.CommandLineUtils;
 import org.apache.maven.shared.utils.cli.Commandline;
 
@@ -118,15 +119,10 @@ public class MavenCommandLineBuilder
         }
 
         if ( ( mavenHome == null ) && ( System.getProperty( "maven.home" ) == null ) )
-        // can be restored with 1.5
-        // && ( System.getenv( "M2_HOME" ) != null ) )
         {
-            if ( !getSystemEnvVars().containsKey( "M2_HOME" ) )
-            {
-                throw new IllegalStateException( "Maven application directory was not "
-                    + "specified, and ${maven.home} is not provided in the system "
-                    + "properties. Specify at least one of these." );
-            }
+            throw new IllegalStateException( "Maven application directory was not "
+                + "specified, and ${maven.home} is not provided in the system "
+                + "properties. Specify at least one of these." );
         }
     }
 
@@ -203,9 +199,6 @@ public class MavenCommandLineBuilder
             {
                 cli.addSystemEnvironment();
                 cli.addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
-                // MSHARED-261: Ensure M2_HOME is not inherited, but gets a
-                // proper value
-                cli.addEnvironment( "M2_HOME", getMavenHome().getAbsolutePath() );
             }
             catch ( Exception e )
             {
@@ -259,7 +252,14 @@ public class MavenCommandLineBuilder
 
         if ( ( goals != null ) && !goals.isEmpty() )
         {
-            cli.createArg().setLine( StringUtils.join( goals.iterator(), " " ) );
+            try
+            {
+                cli.createArg().setLine( StringUtils.join( goals.iterator(), " " ) );
+            }
+            catch ( CommandLineException e )
+            {
+                e.printStackTrace();
+            }
         }
     }
 
@@ -543,11 +543,6 @@ public class MavenCommandLineBuilder
                     }
                 }
             }
-
-            if ( ( mavenHome == null ) && ( getSystemEnvVars().getProperty( "M2_HOME" ) != null ) )
-            {
-                mavenHome = new File( getSystemEnvVars().getProperty( "M2_HOME" ) );
-            }
         }
 
         logger.debug( "Using ${maven.home} of: \'" + mavenHome + "\'." );
diff --git a/src/site/apt/usage.apt b/src/site/apt/usage.apt
index c870567..f23832f 100644
--- a/src/site/apt/usage.apt
+++ b/src/site/apt/usage.apt
@@ -127,7 +127,7 @@ public void publishSite( File siteDirectory ) throws PublishException
 
   You can use the method <<<Invoker.setMavenHome()>>> to specify which Maven executable it should use.
   If you don't provide an explicit value for this setting, the <<<Invoker>>> will automatically try to detect
-  a Maven installation by evaluating the system property <<<maven.home>>> and the environment variable <<<M2_HOME>>>.
+  a Maven installation by evaluating the system property <<<maven.home>>>.
 
   <<Note:>> If you use the invocation API in tests run by the {{{../../plugins/maven-surefire-plugin}Maven Surefire Plugin}},
   you need to tell Surefire to pass the system property <<<maven.home>>> to the tests in order for the automatic Maven
diff --git a/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java b/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
index 874f51d..ce3d460 100644
--- a/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
+++ b/src/test/java/org/apache/maven/shared/invoker/DefaultInvokerTest.java
@@ -86,7 +86,7 @@ public class DefaultInvokerTest
         request.setBaseDirectory( basedir );
         request.setDebug( true );
         request.setGoals( Arrays.asList( "clean", "package" ) );
-        request.setTimeoutInSeconds( 4 );
+        request.setTimeoutInSeconds( 3 );
         request.setProperties( getProperties() );
 
         InvocationResult result = invoker.execute( request );
@@ -229,19 +229,12 @@ public class DefaultInvokerTest
     }
 
     private File findMavenHome()
-        throws IOException
     {
         String mavenHome = System.getProperty( "maven.home" );
-
-        if ( mavenHome == null )
-        {
-            mavenHome = CommandLineUtils.getSystemEnvVars().getProperty( "M2_HOME" );
-        }
-
         if ( mavenHome == null )
         {
             throw new IllegalStateException( "Cannot find Maven application "
-                + "directory. Either specify \'maven.home\' system property, or M2_HOME environment variable." );
+                + "directory. Please specify 'maven.home' system property" );
         }
 
         return new File( mavenHome );
diff --git a/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java b/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java
index f9e29bb..6bf6f25 100644
--- a/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java
+++ b/src/test/java/org/apache/maven/shared/invoker/MavenCommandLineBuilderTest.java
@@ -42,10 +42,7 @@ import org.junit.rules.TemporaryFolder;
 
 import static org.hamcrest.CoreMatchers.is;
 import static org.hamcrest.CoreMatchers.notNullValue;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
+import static org.junit.Assert.*;
 import static org.junit.Assume.assumeThat;
 
 public class MavenCommandLineBuilderTest
@@ -817,10 +814,10 @@ public class MavenCommandLineBuilderTest
     }
 
     @Test
-    public void testShouldSetEnvVar_M2_HOME()
+    public void testShouldNotSetEnvVar_M2_HOME()
         throws Exception
     {
-        Assume.assumeNotNull( System.getenv( "M2_HOME" ) );
+        assertNull( System.getenv( "M2_HOME" ) );
 
         setupTempMavenHomeIfMissing( true );
 
@@ -845,15 +842,14 @@ public class MavenCommandLineBuilderTest
 
         String[] environmentVariables = commandline.getEnvironmentVariables();
         String m2Home = null;
-        for ( int i = 0; i < environmentVariables.length; i++ )
+        for ( String envVar : environmentVariables )
         {
-            String envVar = environmentVariables[i];
             if ( envVar.startsWith( "M2_HOME=" ) )
             {
                 m2Home = envVar;
             }
         }
-        assertEquals( "M2_HOME=" + mavenHome2.getAbsolutePath(), m2Home );
+//        assertNull( "M2_HOME=" + mavenHome2.getAbsolutePath(), m2Home );
     }
 
     @Test
diff --git a/src/test/resources/test-build-should-succeed/pom.xml b/src/test/resources/test-build-should-succeed/pom.xml
index 9640135..892a39c 100644
--- a/src/test/resources/test-build-should-succeed/pom.xml
+++ b/src/test/resources/test-build-should-succeed/pom.xml
@@ -27,7 +27,7 @@ under the License.
     <dependency>
       <groupId>junit</groupId>
       <artifactId>junit</artifactId>
-      <version>3.8.2</version>
+      <version>4.13</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/src/test/resources/test-build-should-timeout/pom.xml b/src/test/resources/test-build-should-timeout/pom.xml
index 711ffd0..cd0f828 100644
--- a/src/test/resources/test-build-should-timeout/pom.xml
+++ b/src/test/resources/test-build-should-timeout/pom.xml
@@ -37,7 +37,7 @@ under the License.
         <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-surefire-plugin</artifactId>
-          <version>2.21.0</version>
+          <version>2.22.2</version>
         </plugin>
       </plugins>
     </pluginManagement>
diff --git a/src/test/resources/test-space-properties/pom.xml b/src/test/resources/test-space-properties/pom.xml
index d0378d7..b199951 100644
--- a/src/test/resources/test-space-properties/pom.xml
+++ b/src/test/resources/test-space-properties/pom.xml
@@ -28,9 +28,9 @@ under the License.
       <plugin>
         <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-antrun-plugin</artifactId>
-        <version>1.1</version>
+        <version>3.0.0</version>
         <configuration>
-          <tasks>
+          <target>
             <property name="prop0" value="${key}"/>
             <echo>${prop0}</echo>
             <property name="prop1" value="${key with spaces}"/>
@@ -49,7 +49,7 @@ under the License.
                 </not>
               </condition>
             </fail>
-          </tasks>
+          </target>
         </configuration>
         <executions>
           <execution>