static void walkDirectoryFiles()

in src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java [611:631]


    static void walkDirectoryFiles(Path dir, List<Path> collectedFiles, String glob, Predicate<Path> mustBeSkipped) {
        if (!Files.isDirectory(dir)) {
            return;
        }

        try {
            try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, glob)) {
                for (Path entry : stream) {
                    if (mustBeSkipped.test(entry)) {
                        continue;
                    }
                    File file = entry.toFile();
                    if (file.isFile() && !isHidden(entry) && isReadable(entry)) {
                        collectedFiles.add(entry);
                    }
                }
            }
        } catch (IOException e) {
            throw new RuntimeException("Cannot process directory: " + dir, e);
        }
    }