in core-it-support/maven-it-plugin-bootstrap/src/main/java/org/apache/maven/its/bootstrap/DownloadMojo.java [78:121]
public void execute() throws MojoFailureException {
// this or that: either resolver file listed artifacts or collect lifecycle packaging plugins
if (file != null && file.exists()) {
System.out.println("Collecting artifacts from file: " + file);
try (BufferedReader reader = new BufferedReader(new FileReader(file))) {
reader.lines()
.map(String::trim)
.filter(s -> !s.isEmpty() && !s.startsWith("#"))
.forEach(artifacts::add);
} catch (IOException e) {
throw new MojoFailureException("Unable to read dependencies: " + file, e);
}
} else {
MavenProject project = session.getCurrentProject();
System.out.println("Collecting build plugins from packaging: " + project.getPackaging());
for (Plugin plugin : project.getBuildPlugins()) {
artifacts.add(plugin.getGroupId() + ":" + plugin.getArtifactId() + ":" + plugin.getVersion());
}
}
for (String artifact : artifacts) {
if (artifact != null) {
dependencies.add(toDependency(artifact));
}
}
ProjectBuildingRequest projectBuildingRequest = session.getProjectBuildingRequest();
RepositorySystemSession repositorySystemSession = projectBuildingRequest.getRepositorySession();
List<RemoteRepository> repos = RepositoryUtils.toRepos(projectBuildingRequest.getRemoteRepositories());
for (Dependency dependency : dependencies) {
try {
org.eclipse.aether.graph.Dependency root =
RepositoryUtils.toDependency(dependency, repositorySystemSession.getArtifactTypeRegistry());
CollectRequest collectRequest = new CollectRequest(root, null, repos);
collectRequest.setRequestContext("bootstrap");
DependencyRequest request = new DependencyRequest(collectRequest, null);
System.out.println("Resolving: " + root.getArtifact());
repositorySystem.resolveDependencies(repositorySystemSession, request);
} catch (Exception e) {
throw new MojoFailureException("Unable to resolve dependency: " + dependency, e);
}
}
}