in src/main/java/org/apache/maven/plugins/invoker/InvokerProperties.java [385:454]
public void configureInvocation(InvocationRequest request, int index) {
get(InvocationProperty.PROJECT, index).ifPresent(project -> {
File file = new File(request.getBaseDirectory(), project);
if (file.isFile()) {
request.setBaseDirectory(file.getParentFile());
request.setPomFile(file);
} else {
request.setBaseDirectory(file);
request.setPomFile(null);
}
});
setIfNotNull(
request::setGoals,
get(InvocationProperty.GOALS, index)
.map(s -> StringUtils.split(s, ", \t\n\r\f"))
.map(Arrays::asList)
.filter(l -> !l.isEmpty())
.orElse(defaultGoals));
setIfNotNull(
request::setProfiles,
get(InvocationProperty.PROFILES, index)
.map(s -> StringUtils.split(s, ", \t\n\r\f"))
.map(Arrays::asList)
.filter(l -> !l.isEmpty())
.orElse(defaultProfiles));
setIfNotNull(
request::setMavenExecutable,
get(InvocationProperty.MAVEN_EXECUTABLE, index).map(File::new).orElse(defaultMavenExecutable));
setIfNotNull(
request::setMavenOpts, get(InvocationProperty.MAVEN_OPTS, index).orElse(defaultMavenOpts));
get(InvocationProperty.FAILURE_BEHAVIOR, index)
.map(InvocationRequest.ReactorFailureBehavior::valueOfByLongOption)
.ifPresent(request::setReactorFailureBehavior);
get(InvocationProperty.NON_RECURSIVE, index)
.map(Boolean::parseBoolean)
.map(b -> !b)
.ifPresent(request::setRecursive);
get(InvocationProperty.OFFLINE, index).map(Boolean::parseBoolean).ifPresent(request::setOffline);
setIfNotNull(
request::setDebug,
get(InvocationProperty.DEBUG, index).map(Boolean::parseBoolean).orElse(defaultDebug));
setIfNotNull(
request::setQuiet,
get(InvocationProperty.QUIET, index).map(Boolean::parseBoolean).orElse(defaultQuiet));
setIfNotNull(
request::setTimeoutInSeconds,
get(InvocationProperty.TIMEOUT_IN_SECONDS, index)
.map(Integer::parseInt)
.orElse(defaultTimeoutInSeconds));
setIfNotNull(
request::setUpdateSnapshots,
get(InvocationProperty.UPDATE_SNAPSHOTS, index)
.map(Boolean::parseBoolean)
.orElse(defaultUpdateSnapshots));
Optional.ofNullable(defaultEnvironmentVariables).ifPresent(evn -> evn.forEach(request::addShellEnvironment));
getEnvironmentVariables(index).forEach(request::addShellEnvironment);
}