//for example, a class (in jar) with a constant might have changed into a class without a constant - we need to rebuild everything
return new DependencyToAll("missing jar snapshot of '" + jarArchive.file.getName() + "' from previous build");
}
if (jarChangeDetails.isRemoved()) {
DependentsSet allClasses = previous.getAllClasses();
if (allClasses.isDependencyToAll()) {
return new DependencyToAll("at least one of the classes of removed jar '" + jarArchive.file.getName() + "' requires it");
}
//recompile all dependents of all the classes from jar
return previousCompilation.getDependents(allClasses.getDependentClasses());
}
if (jarChangeDetails.isModified()) {
JarSnapshot currentSnapshot = jarClasspathSnapshot.getSnapshot(jarArchive);
AffectedClasses affected = currentSnapshot.getAffectedClassesSince(previous);