in src/main/java/org/apache/maven/shared/incremental/IncrementalBuildHelper.java [174:207]
public boolean inputFileTreeChanged( IncrementalBuildHelperRequest incrementalBuildHelperRequest )
throws MojoExecutionException
{
File mojoConfigFile = new File( getMojoStatusDirectory(), 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 = incrementalBuildHelperRequest.getInputFiles()
.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.getFilesAdded().length > 0 || dsr.getFilesRemoved().length > 0 );
}