public int run()

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