final Set<File> changedFiles = new HashSet<File>();
final Set<File> targetJars = findJarsInTarget();
boolean force = forceBuild;
IResourceDelta delta;
ProjectDeltaVisitor deltaVisitor = new ProjectDeltaVisitor(getProject(), changedFiles);
// Get delta on local project
delta = getDelta(getProject());
if (delta != null) {
delta.accept(deltaVisitor);
log(LOG_FULL, "%d files in local project (outside target) changed or removed: %s, forced=%s", changedFiles.size(), changedFiles, deltaVisitor.force);
if (deltaVisitor.force || changedFiles.size() > 0) {
log(LOG_FULL, "Project changed: files=%s, force = %s", changedFiles, deltaVisitor.force);
force = true;
}
} else {
log(LOG_BASIC, "no info on local changes, doing a full build");
force = true;
}
if (!force) {
// Get deltas on dependency projects
for (IProject depProject : dependsOn) {
delta = getDelta(depProject);
if (delta != null) {
Set<File> changedByProject = new HashSet<File>();
ProjectDeltaVisitor depVisitor = new ProjectDeltaVisitor(depProject, changedByProject);
delta.accept(depVisitor);
changedFiles.addAll(changedByProject);
//
// If the visitor detected a project that we depend on