You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by be...@apache.org on 2008/09/19 23:35:46 UTC

svn commit: r697253 - in /maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it: Verifier.java util/cli/CommandLineUtils.java

Author: bentmann
Date: Fri Sep 19 14:35:46 2008
New Revision: 697253

URL: http://svn.apache.org/viewvc?rev=697253&view=rev
Log:
o Cached path to default Maven home (no need to parse env from shell over and over within the same process)

Modified:
    maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java
    maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/CommandLineUtils.java

Modified: maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java?rev=697253&r1=697252&r2=697253&view=diff
==============================================================================
--- maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java (original)
+++ maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/Verifier.java Fri Sep 19 14:35:46 2008
@@ -106,7 +106,7 @@
 
     private boolean forkJvm = true;
 
-    private String defaultMavenHome;
+    private static String defaultMavenHome;
 
     public Verifier( String basedir, String settingsFile )
         throws VerificationException
@@ -147,14 +147,17 @@
     private void findDefaultMavenHome()
         throws VerificationException
     {
-        try
-        {
-            Properties envVars = CommandLineUtils.getSystemEnvVars();
-            defaultMavenHome = envVars.getProperty( "M2_HOME" );
-        }
-        catch ( IOException e )
+        if ( defaultMavenHome == null )
         {
-            throw new VerificationException( "Cannot read system environment variables.", e );
+            try
+            {
+                Properties envVars = CommandLineUtils.getSystemEnvVars();
+                defaultMavenHome = envVars.getProperty( "M2_HOME" );
+            }
+            catch ( IOException e )
+            {
+                throw new VerificationException( "Cannot read system environment variables.", e );
+            }
         }
     }
 
@@ -905,7 +908,7 @@
         // Use a strategy for finding the maven executable, John has a simple method like this
         // but a little strategy + chain of command would be nicer.
 
-        String mavenHome = System.getProperty( "maven.home" );
+        String mavenHome = System.getProperty( "maven.home", defaultMavenHome );
 
         if ( mavenHome != null )
         {
@@ -913,13 +916,6 @@
         }
         else
         {
-            mavenHome = defaultMavenHome;
-
-            if ( mavenHome != null )
-            {
-                return mavenHome + "/bin/mvn";
-            }
-
             File f = new File( System.getProperty( "user.home" ), "m2/bin/mvn" );
 
             if ( f.exists() )
@@ -1190,7 +1186,6 @@
                 return status;
             }
         }
-        ;
 
         try
         {

Modified: maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/CommandLineUtils.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/CommandLineUtils.java?rev=697253&r1=697252&r2=697253&view=diff
==============================================================================
--- maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/CommandLineUtils.java (original)
+++ maven/shared/trunk/maven-verifier/src/main/java/org/apache/maven/it/util/cli/CommandLineUtils.java Fri Sep 19 14:35:46 2008
@@ -31,6 +31,7 @@
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Iterator;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Properties;
 
@@ -198,7 +199,7 @@
 
         Runtime r = Runtime.getRuntime();
 
-        String os = System.getProperty( "os.name" ).toLowerCase();
+        String os = System.getProperty( "os.name" ).toLowerCase( Locale.ENGLISH );
 
         //If this is windows set the shell to command.com or cmd.exe with correct arguments.
         if ( os.indexOf( "windows" ) != -1 )