public void execute()

in src/main/java/org/apache/maven/plugins/install/InstallMojo.java [132:160]


    public void execute() {
        if (skip) {
            log.info("Skipping artifact installation");
            putState(State.SKIPPED);
        } else {
            if (!installAtEnd) {
                installProject(processProject(project));
                putState(State.INSTALLED);
            } else {
                getLog().info("Deferring install for " + project.getGroupId() + ":" + project.getArtifactId() + ":"
                        + project.getVersion() + " at end");
                putState(State.TO_BE_INSTALLED, processProject(project));
            }
        }

        List<Project> projectsUsingPlugin =
                session.getProjects().stream().filter(this::usingPlugin).collect(Collectors.toList());
        if (allProjectsMarked(projectsUsingPlugin)) {
            for (Project reactorProject : projectsUsingPlugin) {
                State state = getState(reactorProject);
                if (state == State.TO_BE_INSTALLED) {
                    Map<String, Object> pluginContext = session.getPluginContext(reactorProject);
                    ArtifactInstallerRequest request =
                            (ArtifactInstallerRequest) pluginContext.get(ArtifactInstallerRequest.class.getName());
                    installProject(request);
                }
            }
        }
    }