private void removeDir()

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


    private void removeDir(File dir, boolean followSymlinks, boolean throwsError, List<String> warnMessages)
            throws IOException {
        String[] list = dir.list();
        if (list == null) {
            list = new String[0];
        }

        for (String s : list) {
            File f = new File(dir, s);
            if (f.isDirectory() && (followSymlinks || !Files.isSymbolicLink(f.toPath()))) {
                removeDir(f, followSymlinks, throwsError, warnMessages);
            } else {
                if (!FileUtils.deleteQuietly(f)) {
                    String message = "Unable to delete file " + f.getAbsolutePath();
                    if (throwsError) {
                        throw new IOException(message);
                    }

                    if (!warnMessages.contains(message)) {
                        warnMessages.add(message);
                    }
                }
            }
        }

        if (!FileUtils.deleteQuietly(dir)) {
            String message = "Unable to delete directory " + dir.getAbsolutePath();
            if (throwsError) {
                throw new IOException(message);
            }

            if (!warnMessages.contains(message)) {
                warnMessages.add(message);
            }
        }
    }