private Set computeStaleSources()

in src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java [1464:1497]


    private Set<File> computeStaleSources(
            CompilerConfiguration compilerConfiguration, Compiler compiler, SourceInclusionScanner scanner)
            throws MojoExecutionException, CompilerException {
        SourceMapping mapping = getSourceMapping(compilerConfiguration, compiler);

        File outputDirectory;
        CompilerOutputStyle outputStyle = compiler.getCompilerOutputStyle();
        if (outputStyle == CompilerOutputStyle.ONE_OUTPUT_FILE_FOR_ALL_INPUT_FILES) {
            outputDirectory = buildDirectory;
        } else {
            outputDirectory = getOutputDirectory();
        }

        scanner.addSourceMapping(mapping);

        Set<File> staleSources = new HashSet<>();

        for (String sourceRoot : getCompileSourceRoots()) {
            File rootFile = new File(sourceRoot);

            if (!rootFile.isDirectory()) {
                continue;
            }

            try {
                staleSources.addAll(scanner.getIncludedSources(rootFile, outputDirectory));
            } catch (InclusionScanException e) {
                throw new MojoExecutionException(
                        "Error scanning source root: \'" + sourceRoot + "\' for stale files to recompile.", e);
            }
        }

        return staleSources;
    }