public File download()

in tomee-patch-plugin/src/main/java/org/apache/tomee/patch/plugin/PatchMojo.java [797:842]


    public File download(final String gav) throws MojoExecutionException, MojoFailureException {

        final DefaultDependableCoordinate coordinate = mvn(gav);

        ArtifactRepositoryPolicy always =
                new ArtifactRepositoryPolicy(true, ArtifactRepositoryPolicy.UPDATE_POLICY_ALWAYS,
                        ArtifactRepositoryPolicy.CHECKSUM_POLICY_WARN);

        List<ArtifactRepository> repoList = new ArrayList<>();

        if (pomRemoteRepositories != null) {
            repoList.addAll(pomRemoteRepositories);
        }

        if (remoteRepositories != null) {
            // Use the same format as in the deploy plugin id::layout::url
            String[] repos = StringUtils.split(remoteRepositories, ",");
            for (String repo : repos) {
                repoList.add(parseRepository(repo, always));
            }
        }

        try {
            ProjectBuildingRequest buildingRequest =
                    new DefaultProjectBuildingRequest(session.getProjectBuildingRequest());

            Settings settings = session.getSettings();
            repositorySystem.injectMirror(repoList, settings.getMirrors());
            repositorySystem.injectProxy(repoList, settings.getProxies());
            repositorySystem.injectAuthentication(repoList, settings.getServers());

            buildingRequest.setRemoteRepositories(repoList);

            if (transitive) {
                getLog().info("Resolving " + coordinate + " with transitive dependencies");
                dependencyResolver.resolveDependencies(buildingRequest, coordinate, null);
            } else {
                getLog().info("Resolving " + coordinate);
                artifactResolver.resolveArtifact(buildingRequest, toArtifactCoordinate(coordinate));
            }
        } catch (ArtifactResolverException | DependencyResolverException e) {
            throw new MojoExecutionException("Couldn't download artifact: " + e.getMessage(), e);
        }

        return Mvn.mvn(gav);
    }