in core-it-support/maven-it-helper/src/main/java/org/apache/maven/it/AbstractMavenIntegrationTestCase.java [440:505]
protected Verifier newVerifier(String basedir, String settings, boolean debug) throws VerificationException {
Verifier verifier = new Verifier(basedir, debug);
verifier.setAutoclean(false);
if (settings != null) {
File settingsFile;
if (settings.length() > 0) {
settingsFile = new File("settings-" + settings + ".xml");
} else {
settingsFile = new File("settings.xml");
}
if (!settingsFile.isAbsolute()) {
String settingsDir = System.getProperty("maven.it.global-settings.dir", "");
if (settingsDir.length() > 0) {
settingsFile = new File(settingsDir, settingsFile.getPath());
} else {
//
// Make is easier to run ITs from m2e in Maven IT mode without having to set any additional
// properties.
//
settingsFile = new File("target/test-classes", settingsFile.getPath());
}
}
String path = settingsFile.getAbsolutePath();
// dedicated CLI option only available since MNG-3914
if (matchesVersionRange("[2.1.0,)")) {
verifier.addCliArgument("--global-settings");
if (path.indexOf(' ') < 0) {
verifier.addCliArgument(path);
} else {
verifier.addCliArgument('"' + path + '"');
}
} else {
verifier.getSystemProperties().put("org.apache.maven.global-settings", path);
}
}
try {
// Java7 TLS protocol
if (VersionRange.createFromVersionSpec("(,1.8.0)").containsVersion(getJavaVersion())) {
verifier.addCliArgument("-Dhttps.protocols=TLSv1.2");
}
// auto set source+target to lowest reasonable java version
// Java9 requires at least 1.6
if (VersionRange.createFromVersionSpec("[9,12)").containsVersion(getJavaVersion())) {
verifier.getSystemProperties().put("maven.compiler.source", "1.8");
verifier.getSystemProperties().put("maven.compiler.target", "1.8");
verifier.getSystemProperties().put("maven.compiler.release", "8");
}
// Java12 requires at least 7
if (VersionRange.createFromVersionSpec("[12,)").containsVersion(getJavaVersion())) {
verifier.getSystemProperties().put("maven.compiler.source", "8");
verifier.getSystemProperties().put("maven.compiler.target", "8");
verifier.getSystemProperties().put("maven.compiler.release", "8");
}
} catch (InvalidVersionSpecificationException e) {
// noop
}
return verifier;
}