in src/main/java/org/apache/maven/shared/verifier/ForkedLauncher.java [90:138]
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();
}
}