in src/main/java/org/apache/maven/shared/verifier/ForkedLauncher.java [103:158]
public int run( String[] cliArgs, Properties systemProperties, Map<String, String> envVars,
String workingDirectory, File logFile )
throws IOException, LauncherException
{
Commandline cmd = new Commandline();
cmd.setExecutable( executable );
if ( mavenHome != null )
{
cmd.addEnvironment( "M2_HOME", mavenHome );
}
if ( envVars != null )
{
for ( Map.Entry<String, String> envVar : envVars.entrySet() )
{
cmd.addEnvironment( envVar.getKey(), envVar.getValue() );
}
}
cmd.addEnvironment( "MAVEN_TERMINATE_CMD", "on" );
cmd.setWorkingDirectory( workingDirectory );
for ( Object o : systemProperties.keySet() )
{
String key = (String) o;
String value = systemProperties.getProperty( key );
cmd.createArg().setValue( "-D" + key + "=" + value );
}
for ( String cliArg : cliArgs )
{
cmd.createArg().setValue( cliArg );
}
Writer logWriter = new FileWriter( logFile );
StreamConsumer out = new WriterStreamConsumer( logWriter );
StreamConsumer err = new WriterStreamConsumer( logWriter );
try
{
return CommandLineUtils.executeCommandLine( cmd, out, err );
}
catch ( CommandLineException e )
{
throw new LauncherException( "Failed to run Maven: " + cmd, e );
}
finally
{
logWriter.close();
}
}