public void delete()

in src/main/java/org/apache/maven/shared/model/fileset/util/FileSetManager.java [201:260]


    public void delete(FileSet fileSet, boolean throwsError) throws IOException {
        Set<String> deletablePaths = findDeletablePaths(fileSet);

        if (logger.isDebugEnabled()) {
            String paths = String.valueOf(deletablePaths).replace(',', '\n');
            logger.debug("Found deletable paths: " + paths);
        }

        List<String> warnMessages = new LinkedList<>();

        for (String path : deletablePaths) {
            File file = new File(fileSet.getDirectory(), path);

            if (file.exists()) {
                if (file.isDirectory()) {
                    if (fileSet.isFollowSymlinks() || !Files.isSymbolicLink(file.toPath())) {
                        if (verbose) {
                            logger.info("Deleting directory: " + file);
                        }

                        removeDir(file, fileSet.isFollowSymlinks(), throwsError, warnMessages);
                    } else { // delete a symlink to a directory without follow
                        if (verbose) {
                            logger.info("Deleting symlink to directory: " + file);
                        }

                        if (!file.delete()) {
                            String message = "Unable to delete symlink " + file.getAbsolutePath();
                            if (throwsError) {
                                throw new IOException(message);
                            }

                            if (!warnMessages.contains(message)) {
                                warnMessages.add(message);
                            }
                        }
                    }
                } else {
                    if (verbose) {
                        logger.info("Deleting file: " + file);
                    }

                    if (!FileUtils.deleteQuietly(file)) {
                        String message = "Failed to delete file " + file.getAbsolutePath() + ". Reason is unknown.";
                        if (throwsError) {
                            throw new IOException(message);
                        }

                        warnMessages.add(message);
                    }
                }
            }
        }

        if (logger.isWarnEnabled() && !throwsError && (warnMessages.size() > 0)) {
            for (String warnMessage : warnMessages) {
                logger.warn(warnMessage);
            }
        }
    }