private DirectoryScanResult computeInputFileTreeChanges()

in src/main/java/org/apache/maven/plugin/compiler/AbstractCompilerMojo.java [1754:1780]


    private DirectoryScanResult computeInputFileTreeChanges(IncrementalBuildHelper ibh, Set<File> inputFiles)
            throws MojoExecutionException {
        File mojoConfigBase = ibh.getMojoStatusDirectory();
        File mojoConfigFile = new File(mojoConfigBase, INPUT_FILES_LST_FILENAME);

        String[] oldInputFiles = new String[0];

        if (mojoConfigFile.exists()) {
            try {
                oldInputFiles = FileUtils.fileReadArray(mojoConfigFile);
            } catch (IOException e) {
                throw new MojoExecutionException("Error reading old mojo status " + mojoConfigFile, e);
            }
        }

        String[] inputFileNames = inputFiles.stream().map(File::getAbsolutePath).toArray(String[]::new);

        DirectoryScanResult dsr = DirectoryScanner.diffFiles(oldInputFiles, inputFileNames);

        try {
            FileUtils.fileWriteArray(mojoConfigFile, inputFileNames);
        } catch (IOException e) {
            throw new MojoExecutionException("Error while storing the mojo status", e);
        }

        return dsr;
    }