public String getMavenVersion()

in src/main/java/org/apache/maven/shared/verifier/ForkedLauncher.java [145:169]


    public String getMavenVersion() throws IOException, LauncherException {
        File logFile;
        try {
            logFile = Files.createTempFile("maven", "log").toFile();
        } catch (IOException e) {
            throw new LauncherException("Error creating temp file", e);
        }

        // disable EMMA runtime controller port allocation, should be harmless if EMMA is not used
        Map<String, String> envVars = Collections.singletonMap("MAVEN_OPTS", "-Demma.rt.control=false");
        run(new String[] {"--version"}, new Properties(), envVars, null, logFile);

        List<String> logLines = FileUtils.loadFile(logFile);
        // noinspection ResultOfMethodCallIgnored
        logFile.delete();

        String version = extractMavenVersion(logLines);

        if (version == null) {
            throw new LauncherException("Illegal Maven output: String 'Maven' not found in the following output:\n"
                    + StringUtils.join(logLines.iterator(), "\n"));
        } else {
            return version;
        }
    }