in maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/AbstractSurefireMojo.java [1163:1209]
SurefireProperties setupProperties() {
SurefireProperties sysPropsFromFile = null;
try {
sysPropsFromFile = SurefireProperties.loadProperties(getSystemPropertiesFile());
} catch (IOException e) {
String msg = "The file '" + getSystemPropertiesFile().getAbsolutePath() + "' can't be read.";
if (getConsoleLogger().isDebugEnabled()) {
getConsoleLogger().debug(msg, e);
} else {
getConsoleLogger().warning(msg);
}
}
SurefireProperties result = calculateEffectiveProperties(
getSystemProperties(),
getSystemPropertyVariables(),
promoteUserPropertiesToSystemProperties ? getUserProperties() : new Properties(),
sysPropsFromFile);
result.setProperty("basedir", getBasedir().getAbsolutePath());
result.setProperty("localRepository", getLocalRepositoryPath());
if (isForking()) {
for (Object o : result.propertiesThatCannotBeSetASystemProperties()) {
if (getArgLine() == null || !getArgLine().contains("-D" + o + "=")) {
getConsoleLogger()
.warning(o + " cannot be set as system property, use <argLine>-D" + o
+ "=...</argLine> instead");
}
}
for (Object systemPropertyMatchingArgLine : systemPropertiesMatchingArgLine(result)) {
getConsoleLogger()
.warning("The system property "
+ systemPropertyMatchingArgLine
+ " is configured twice! "
+ "The property appears in <argLine/> and any of <systemPropertyVariables/>, "
+ "<systemProperties/> or user property.");
}
} else {
result.setProperty("user.dir", getWorkingDirectory().getAbsolutePath());
}
if (getConsoleLogger().isDebugEnabled()) {
showToLog(result, getConsoleLogger());
}
return result;
}