public void execute()

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