private SortedSet getInputFiles()

in src/main/java/org/apache/maven/buildcache/checksum/MavenProjectInput.java [356:418]


    private SortedSet<Path> getInputFiles() {
        long start = System.currentTimeMillis();
        HashSet<WalkKey> visitedDirs = new HashSet<>();
        ArrayList<Path> collectedFiles = new ArrayList<>();

        org.apache.maven.model.Build build = project.getBuild();

        final boolean recursive = true;
        startWalk(Paths.get(build.getSourceDirectory()), projectGlob, recursive, collectedFiles, visitedDirs);
        for (Resource resource : build.getResources()) {
            startWalk(Paths.get(resource.getDirectory()), projectGlob, recursive, collectedFiles, visitedDirs);
        }

        startWalk(Paths.get(build.getTestSourceDirectory()), projectGlob, recursive, collectedFiles, visitedDirs);
        for (Resource testResource : build.getTestResources()) {
            startWalk(Paths.get(testResource.getDirectory()), projectGlob, recursive, collectedFiles, visitedDirs);
        }

        Properties properties = project.getProperties();
        for (String name : properties.stringPropertyNames()) {
            if (name.startsWith(CACHE_INPUT_NAME)) {
                String path = properties.getProperty(name);
                startWalk(Paths.get(path), projectGlob, recursive, collectedFiles, visitedDirs);
            }
        }

        List<Include> includes = config.getGlobalIncludePaths();
        for (Include include : includes) {
            final String path = include.getValue();
            final String glob = defaultIfEmpty(include.getGlob(), projectGlob);
            startWalk(Paths.get(path), glob, include.isRecursive(), collectedFiles, visitedDirs);
        }

        long walkKnownPathsFinished = System.currentTimeMillis() - start;

        LOGGER.info(
                "Scanning plugins configurations to find input files. Probing is {}",
                processPlugins
                        ? "enabled, values will be checked for presence in file system"
                        : "disabled, only tags with attribute " + CACHE_INPUT_NAME + "=\"true\" will be added");

        if (processPlugins) {
            collectFromPlugins(collectedFiles, visitedDirs);
        } else {
            LOGGER.info("Skipping check plugins scan (probing is disabled by config)");
        }

        long pluginsFinished = System.currentTimeMillis() - start - walkKnownPathsFinished;

        TreeSet<Path> sorted = new TreeSet<>(fileComparator);
        for (Path collectedFile : collectedFiles) {
            sorted.add(collectedFile.normalize().toAbsolutePath());
        }

        LOGGER.info(
                "Found {} input files. Project dir processing: {}, plugins: {} millis",
                sorted.size(),
                walkKnownPathsFinished,
                pluginsFinished);
        LOGGER.debug("Src input: {}", sorted);

        return sorted;
    }