in src/main/java/org/apache/maven/plugins/invoker/InstallMojo.java [210:248]
private void resolveProjectDependencies(Map<String, Artifact> resolvedArtifacts)
throws ArtifactResolutionException, MojoExecutionException, DependencyResolutionException {
DependencyFilter classpathFilter = DependencyFilterUtils.classpathFilter(scope);
ArtifactTypeRegistry artifactTypeRegistry =
session.getRepositorySession().getArtifactTypeRegistry();
List<Dependency> managedDependencies = Optional.ofNullable(project.getDependencyManagement())
.map(DependencyManagement::getDependencies)
.orElseGet(Collections::emptyList)
.stream()
.map(d -> RepositoryUtils.toDependency(d, artifactTypeRegistry))
.collect(Collectors.toList());
List<Dependency> dependencies = project.getDependencies().stream()
.map(d -> RepositoryUtils.toDependency(d, artifactTypeRegistry))
.filter(d -> classpathFilter.accept(new DefaultDependencyNode(d), null))
.collect(Collectors.toList());
CollectRequest collectRequest = new CollectRequest();
collectRequest.setRootArtifact(RepositoryUtils.toArtifact(project.getArtifact()));
collectRequest.setDependencies(dependencies);
collectRequest.setManagedDependencies(managedDependencies);
collectRequest.setRepositories(project.getRemoteProjectRepositories());
DependencyRequest request = new DependencyRequest(collectRequest, classpathFilter);
DependencyResult dependencyResult =
repositorySystem.resolveDependencies(session.getRepositorySession(), request);
List<Artifact> artifacts = dependencyResult.getArtifactResults().stream()
.map(ArtifactResult::getArtifact)
.collect(Collectors.toList());
artifacts.forEach(a -> resolvedArtifacts.put(ArtifactIdUtils.toId(a), a));
resolvePomsForArtifacts(artifacts, resolvedArtifacts, collectRequest.getRepositories());
}