private void startWalk()

in src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java [416:441]


    private void startWalk(
            Path candidate, String glob, boolean recursive, List<Path> collectedFiles, Set<WalkKey> visitedDirs) {
        Path normalized = candidate.isAbsolute() ? candidate : baseDirPath.resolve(candidate);
        normalized = normalized.toAbsolutePath().normalize();
        WalkKey key = new WalkKey(normalized, glob, recursive);
        if (visitedDirs.contains(key) || !Files.exists(normalized)) {
            return;
        }

        if (Files.isDirectory(normalized)) {
            if (baseDirPath.startsWith(normalized)) { // requested to walk parent, can do only non recursive
                key = new WalkKey(normalized, glob, false);
            }
            try {
                walkDir(key, collectedFiles, visitedDirs);
                visitedDirs.add(key);
            } catch (IOException e) {
                throw new RuntimeException(e);
            }
        } else {
            if (!isFilteredOutSubpath(normalized)) {
                LOGGER.debug("Adding: {}", normalized);
                collectedFiles.add(normalized);
            }
        }
    }