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