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() ); + } }