in src/main/java/org/apache/maven/plugins/deploy/DeployMojo.java [225:253]
private void deployAllAtOnce(List<MavenProject> allProjectsUsingPlugin) throws MojoExecutionException {
Map<RemoteRepository, DeployRequest> requests = new LinkedHashMap<>();
// collect all arifacts from all modules to deploy
// requests are grouped by used remote repository
for (MavenProject reactorProject : allProjectsUsingPlugin) {
Map<String, Object> pluginContext = session.getPluginContext(pluginDescriptor, reactorProject);
State state = getState(pluginContext);
if (state == State.TO_BE_DEPLOYED) {
RemoteRepository deploymentRepository = getDeploymentRepository(
reactorProject,
getPluginContextValue(pluginContext, DEPLOY_ALT_SNAPSHOT_DEPLOYMENT_REPOSITORY),
getPluginContextValue(pluginContext, DEPLOY_ALT_RELEASE_DEPLOYMENT_REPOSITORY),
getPluginContextValue(pluginContext, DEPLOY_ALT_DEPLOYMENT_REPOSITORY));
DeployRequest request = requests.computeIfAbsent(deploymentRepository, repo -> {
DeployRequest newRequest = new DeployRequest();
newRequest.setRepository(repo);
return newRequest;
});
processProject(reactorProject, request);
}
}
// finally execute all deployments request, lets resolver to optimize deployment
for (DeployRequest request : requests.values()) {
deploy(request);
}
}