public RecompilationSpec provideRecompilationSpec(IncrementalTaskInputs inputs, PreviousCompilation previousCompilation, JarClasspathSnapshot jarClasspathSnapshot) {
//creating an action that will be executed against all changes
RecompilationSpec spec = new RecompilationSpec();
JavaChangeProcessor javaChangeProcessor = new JavaChangeProcessor(previousCompilation, sourceToNameConverter);
JarChangeProcessor jarChangeProcessor = new JarChangeProcessor(fileOperations, jarClasspathSnapshot, previousCompilation);
InputChangeAction action = new InputChangeAction(spec, javaChangeProcessor, jarChangeProcessor);
//go!
inputs.outOfDate(action);
if (action.spec.getFullRebuildCause() != null) {