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;
}