Author: olamy Date: Sun Mar 30 14:45:19 2008 New Revision: 642822 URL: http://svn.apache.org/viewvc?rev=642822&view=rev Log: [MINVOKER-27] Allow to set MAVEN_OPTS when invoking Maven start implementation in the maven-invoker component
Modified: maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java Modified: maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java?rev=642822&r1=642821&r2=642822&view=diff ============================================================================== --- maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java (original) +++ maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/DefaultInvocationRequest.java Sun Mar 30 14:45:19 2008 @@ -21,7 +21,10 @@ import java.io.File; import java.io.InputStream; +import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.Properties; public class DefaultInvocationRequest @@ -50,6 +53,8 @@ private File javaHome; private List profiles; private boolean nonPluginUpdates; + private Map shellEnvironments; + private String mavenOpts; public InvocationRequest activateReactor( String[] includes, String[] excludes ) { @@ -303,4 +308,29 @@ return this; } + public InvocationRequest addShellEnvironment( String name, String value ) + { + if (this.shellEnvironmentInherited) + { + this.shellEnvironments = new HashMap(); + } + this.shellEnvironments.put( name, value ); + return this; + } + + public Map getShellEnvironments() + { + return shellEnvironments == null ? Collections.EMPTY_MAP : shellEnvironments; + } + + public String getMavenOpts() + { + return mavenOpts; + } + + public InvocationRequest setMavenOpts( String mavenOpts ) + { + this.mavenOpts = mavenOpts; + return this; + } } Modified: maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java?rev=642822&r1=642821&r2=642822&view=diff ============================================================================== --- maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java (original) +++ maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/InvocationRequest.java Sun Mar 30 14:45:19 2008 @@ -22,6 +22,7 @@ import java.io.File; import java.io.InputStream; import java.util.List; +import java.util.Map; import java.util.Properties; /** @@ -74,6 +75,10 @@ String getGlobalChecksumPolicy(); List getProfiles(); + + Map getShellEnvironments(); + + String getMavenOpts(); // ---------------------------------------------------------------------- // Reactor Failure Mode @@ -142,4 +147,8 @@ InvocationRequest setNonPluginUpdates( boolean nonPluginUpdates); InvocationRequest setRecursive( boolean recursive ); + + InvocationRequest addShellEnvironment( String name, String value ); + + InvocationRequest setMavenOpts( String mavenOpts ); } Modified: maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java?rev=642822&r1=642821&r2=642822&view=diff ============================================================================== --- maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java (original) +++ maven/shared/trunk/maven-invoker/src/main/java/org/apache/maven/shared/invoker/MavenCommandLineBuilder.java Sun Mar 30 14:45:19 2008 @@ -182,6 +182,18 @@ { cli.addEnvironment( "JAVA_HOME", request.getJavaHome().getAbsolutePath() ); } + + if ( request.getMavenOpts() != null ) + { + cli.addEnvironment( "MAVEN_OPTS", request.getMavenOpts() ); + } + + for (Iterator iterator = request.getShellEnvironments().keySet().iterator();iterator.hasNext();) + { + String key = (String) iterator.next(); + String value = (String) request.getShellEnvironments().get( key ); + cli.addEnvironment( key, value ); + } } protected void setProfiles( InvocationRequest request, Commandline cli )