public void configureInvocation()

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