Author: rfscholte
Date: Mon Oct 29 21:23:03 2012
New Revision: 1403537

URL: http://svn.apache.org/viewvc?rev=1403537&view=rev
Log:
[MRELEASE-755] When passing arguments to underlying maven executions not all 
maven options are accepted

Modified:
    
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java
    
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/InvokerMavenExecutorTest.java

Modified: 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java?rev=1403537&r1=1403536&r2=1403537&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java
 (original)
+++ 
maven/release/trunk/maven-release-manager/src/main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java
 Mon Oct 29 21:23:03 2012
@@ -91,6 +91,8 @@ public class InvokerMavenExecutor
 
     private static final char ALTERNATE_USER_SETTINGS = 's';
 
+    private static final String ALTERNATE_GLOBAL_SETTINGS = "gs";
+
     private static final String FAIL_FAST = "ff";
 
     private static final String FAIL_AT_END = "fae";
@@ -155,6 +157,9 @@ public class InvokerMavenExecutor
         OPTIONS.addOption( OptionBuilder.withLongOpt( "settings" 
).withDescription(
             "Alternate path for the user settings file" ).hasArg().create( 
ALTERNATE_USER_SETTINGS ) );
 
+        OPTIONS.addOption( OptionBuilder.withLongOpt( "global-settings" 
).withDescription(
+            " Alternate path for the global settings file" ).hasArg().create( 
ALTERNATE_GLOBAL_SETTINGS ) );
+
         OPTIONS.addOption( OptionBuilder.withLongOpt( "fail-fast" 
).withDescription(
             "Stop at first failure in reactorized builds" ).create( FAIL_FAST 
) );
 
@@ -312,6 +317,11 @@ public class InvokerMavenExecutor
             {
                 req.setUserSettingsFile( new File( cli.getOptionValue( 
ALTERNATE_USER_SETTINGS ) ) );
             }
+            
+            if ( cli.hasOption( ALTERNATE_GLOBAL_SETTINGS ) )
+            {
+                req.setGlobalSettingsFile( new File( cli.getOptionValue( 
ALTERNATE_GLOBAL_SETTINGS ) ) );
+            }
 
             if ( cli.hasOption( FAIL_AT_END ) )
             {

Modified: 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/InvokerMavenExecutorTest.java
URL: 
http://svn.apache.org/viewvc/maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/InvokerMavenExecutorTest.java?rev=1403537&r1=1403536&r2=1403537&view=diff
==============================================================================
--- 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/InvokerMavenExecutorTest.java
 (original)
+++ 
maven/release/trunk/maven-release-manager/src/test/java/org/apache/maven/shared/release/exec/InvokerMavenExecutorTest.java
 Mon Oct 29 21:23:03 2012
@@ -32,4 +32,20 @@ public class InvokerMavenExecutorTest
         assertEquals( "5", req.getThreads() );
         
     }
+
+    @Test
+    public void testGlobalSettings() throws Exception
+    {
+        InvokerMavenExecutor executor = new InvokerMavenExecutor();
+        Logger logger = mock( Logger.class );
+        executor.enableLogging( logger );
+        
+        InvocationRequest req = new DefaultInvocationRequest();
+        executor.setupRequest( req, null, "-gs custom-settings.xml" );
+        assertEquals( "custom-settings.xml", 
req.getGlobalSettingsFile().getPath() );
+
+        req = new DefaultInvocationRequest();
+        executor.setupRequest( req, null, "--global-settings 
other-settings.xml" );
+        assertEquals( "other-settings.xml", 
req.getGlobalSettingsFile().getPath() );
+    }
 }


Reply via email to