private void reResolveArtifacts()

in src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java [597:637]


    private void reResolveArtifacts(MavenProject theProject, Set<Artifact> artifacts)
            throws ArtifactResolutionException {
        // Always need to re-resolve the poms in case they were purged along with the artifact
        // because Maven 2 will not automatically re-resolve them when resolving the artifact
        for (Artifact artifact : artifacts) {
            verbose("Resolving artifact: " + artifact.getId());

            try {
                // CHECKSTYLE_OFF: LineLength
                artifactResolver.resolveArtifact(
                        session.getProjectBuildingRequest(), TransferUtils.toArtifactCoordinate(artifact));
                // CHECKSTYLE_ON: LineLength
            } catch (ArtifactResolverException e) {
                verbose(e.getMessage());
            }
        }

        List<Artifact> missingArtifacts = new ArrayList<>();

        for (Artifact artifact : artifacts) {
            try {
                artifactResolver.resolveArtifact(session.getProjectBuildingRequest(), artifact);
            } catch (ArtifactResolverException e) {
                verbose(e.getMessage());
                missingArtifacts.add(artifact);
            }
        }

        if (missingArtifacts.size() > 0) {
            StringBuilder message = new StringBuilder("required artifacts missing:");
            message.append(System.lineSeparator());
            for (Artifact missingArtifact : missingArtifacts) {
                message.append("  ").append(missingArtifact.getId()).append(System.lineSeparator());
            }
            message.append(System.lineSeparator());
            message.append("for the artifact:");

            throw new ArtifactResolutionException(
                    message.toString(), theProject.getArtifact(), theProject.getRemoteArtifactRepositories());
        }
    }