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