in src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java [556:595]
private void purgeArtifacts(MavenProject theProject, Set<Artifact> artifacts) {
MessageBuilder messageBuilder = MessageUtils.buffer();
getLog().info(messageBuilder
.a("Deleting ")
.strong(artifacts.size())
.a(" ")
.strong(actTransitively ? "transitive" : "direct")
.a(artifacts.size() != 1 ? " dependencies" : " dependency")
.a(" for project ")
.strong(getProjectKey(theProject))
.a(" from ")
.strong(localRepository.getBasedir())
.a(" with artifact ")
.strong(resolutionFuzziness)
.a(" resolution fuzziness")
.toString());
for (Artifact artifact : artifacts) {
verbose("Purging artifact: " + artifact.getId());
File deleteTarget = findDeleteTarget(artifact);
verbose("Deleting: " + deleteTarget);
if (deleteTarget.isDirectory()) {
try {
FileUtils.deleteDirectory(deleteTarget);
} catch (IOException e) {
getLog().warn("Unable to purge local repository location: " + deleteTarget, e);
}
} else {
if (!deleteTarget.delete()) {
deleteTarget.deleteOnExit();
getLog().warn("Unable to purge local repository location immediately: " + deleteTarget);
}
}
artifact.setResolved(false);
}
}