in src/main/java/org/apache/maven/buildcache/CacheControllerImpl.java [827:853]
public void attachGeneratedSources(MavenProject project) throws IOException {
final Path targetDir = Paths.get(project.getBuild().getDirectory());
final Path generatedSourcesDir = targetDir.resolve("generated-sources");
attachDirIfNotEmpty(generatedSourcesDir, targetDir, project);
final Path generatedTestSourcesDir = targetDir.resolve("generated-test-sources");
attachDirIfNotEmpty(generatedTestSourcesDir, targetDir, project);
Set<String> sourceRoots = new TreeSet<>();
if (project.getCompileSourceRoots() != null) {
sourceRoots.addAll(project.getCompileSourceRoots());
}
if (project.getTestCompileSourceRoots() != null) {
sourceRoots.addAll(project.getTestCompileSourceRoots());
}
for (String sourceRoot : sourceRoots) {
final Path sourceRootPath = Paths.get(sourceRoot);
if (Files.isDirectory(sourceRootPath)
&& sourceRootPath.startsWith(targetDir)
&& !(sourceRootPath.startsWith(generatedSourcesDir)
|| sourceRootPath.startsWith(generatedTestSourcesDir))) { // dir within target
attachDirIfNotEmpty(sourceRootPath, targetDir, project);
}
}
}