in src/main/java/org/apache/maven/shared/verifier/Verifier.java [1105:1154]
public void execute() throws VerificationException {
List<String> args = new ArrayList<>();
Collections.addAll(args, defaultCliArguments);
if (this.mavenDebug) {
args.add("-X");
}
/*
* NOTE: Unless explicitly requested by the caller, the forked builds should use the current local
* repository. Otherwise, the forked builds would in principle leave the sandbox environment which has been
* setup for the current build. In particular, using "maven.repo.local" will make sure the forked builds use
* the same local repo as the parent build even if a custom user settings is provided.
*/
boolean useMavenRepoLocal = Boolean.valueOf(verifierProperties.getProperty("use.mavenRepoLocal", "true"));
if (useMavenRepoLocal) {
args.add("-Dmaven.repo.local=" + localRepo);
}
if (autoclean) {
args.add(CLEAN_CLI_ARGUMENT);
}
for (String cliArgument : cliArguments) {
args.add(cliArgument.replace("${basedir}", getBasedir()));
}
int ret;
File logFile = getLogFile();
try {
MavenLauncher launcher = getMavenLauncher(environmentVariables);
String[] cliArgs = args.toArray(new String[0]);
ret = launcher.run(cliArgs, systemProperties, getBasedir(), logFile);
} catch (LauncherException e) {
throw new VerificationException("Failed to execute Maven", e);
} catch (IOException e) {
throw new VerificationException(e);
}
if (ret > 0) {
throw new VerificationException("Exit code was non-zero: " + ret + "; command line and log = \n"
+ new File(mavenHome, "bin/mvn") + " "
+ StringUtils.join(args.iterator(), " ") + "\n" + getLogContents(logFile));
}
}