You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by rf...@apache.org on 2015/03/29 16:49:16 UTC

svn commit: r1669915 - in /maven/release/trunk/maven-release-manager/src: main/java/org/apache/maven/shared/release/exec/InvokerMavenExecutor.java test/java/org/apache/maven/shared/release/exec/InvokerMavenExecutorTest.java

Author: rfscholte
Date: Sun Mar 29 14:49:16 2015
New Revision: 1669915

URL: http://svn.apache.org/r1669915
Log:
[MRELEASE-879] Custom toolchain configuration is not passed to forked Maven executions

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=1669915&r1=1669914&r2=1669915&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 Sun Mar 29 14:49:16 2015
@@ -103,6 +103,8 @@ public class InvokerMavenExecutor
 
     private static final String BATCH_MODE = "B";
     
+    public static final char ALTERNATE_USER_TOOLCHAINS = 't';
+    
     static
     {
         OPTIONS.addOption(
@@ -176,6 +178,9 @@ public class InvokerMavenExecutor
         
         OPTIONS.addOption( OptionBuilder.withLongOpt( "batch-mode" ).withDescription( 
             "Run in non-interactive (batch) mode" ).create( BATCH_MODE ) );
+        
+        OPTIONS.addOption( OptionBuilder.withLongOpt( "toolchains" ).withDescription( 
+            "Alternate path for the user toolchains file" ).hasArg().create( ALTERNATE_USER_TOOLCHAINS ) );
     }
 
     // TODO: Configuring an invocation request from a command line could as well be part of the Invoker API
@@ -323,6 +328,12 @@ public class InvokerMavenExecutor
             {
                 req.setInteractive( false );
             }
+            
+            if( cli.hasOption( ALTERNATE_USER_TOOLCHAINS ) )
+            {
+                req.setToolchainsFile( new File( cli.getOptionValue( ALTERNATE_USER_TOOLCHAINS ) ) );
+            }
+            
         }
         catch ( Exception e )
         {

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=1669915&r1=1669914&r2=1669915&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 Sun Mar 29 14:49:16 2015
@@ -104,6 +104,26 @@ public class InvokerMavenExecutorTest
     }
 
     @Test
+    public void testUserToolchains()
+        throws Exception
+    {
+        Logger logger = mock( Logger.class );
+        executor.enableLogging( logger );
+
+        InvocationRequest req = new DefaultInvocationRequest();
+        executor.setupRequest( req, null, "-t mytoolchains.xml" );
+        assertEquals( new File( "mytoolchains.xml" ), req.getToolchainsFile() );
+
+        req = new DefaultInvocationRequest();
+        executor.setupRequest( req, null, "-tmytoolchains.xml" );
+        assertEquals( new File( "mytoolchains.xml" ), req.getToolchainsFile() );
+
+        req = new DefaultInvocationRequest();
+        executor.setupRequest( req, null, "\"-tmytoolchains.xml\"" );
+        assertEquals( new File( "mytoolchains.xml" ), req.getToolchainsFile() );
+    }
+    
+    @Test
     public void testGlobalSettings()
         throws Exception
     {