private void purgeArtifacts()

in src/main/java/org/apache/maven/plugins/dependency/PurgeLocalRepositoryMojo.java [566:605]


    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")
                .build());

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