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