fix recompile on resource files

This commit is contained in:
Eugene Zhuravlev
2016-05-11 14:26:32 +02:00
parent f43307cf41
commit a997180876
@@ -28,6 +28,7 @@ import org.jetbrains.jps.builders.impl.BuildDataPathsImpl;
import org.jetbrains.jps.builders.impl.BuildRootIndexImpl;
import org.jetbrains.jps.builders.impl.BuildTargetIndexImpl;
import org.jetbrains.jps.builders.impl.BuildTargetRegistryImpl;
import org.jetbrains.jps.builders.java.JavaModuleBuildTargetType;
import org.jetbrains.jps.builders.java.dependencyView.Callbacks;
import org.jetbrains.jps.builders.logging.BuildLoggingManager;
import org.jetbrains.jps.builders.storage.BuildDataPaths;
@@ -198,6 +199,13 @@ public class BuildRunner {
final Timestamps timestamps = pd.timestamps.getStorage();
if (!paths.isEmpty()) {
boolean forceBuildAllModuleBasedTargets = false;
for (BuildTargetType<?> type : targetTypesToForceBuild) {
if (type instanceof JavaModuleBuildTargetType) {
forceBuildAllModuleBasedTargets = true;
break;
}
}
files = new HashMap<BuildTarget<?>, Set<File>>();
for (String path : paths) {
final File file = new File(path);
@@ -210,7 +218,10 @@ public class BuildRunner {
}
final boolean added = fileSet.add(file);
if (added) {
pd.fsState.markDirty(null, file, descriptor, timestamps, false);
final BuildTargetType<?> targetType = descriptor.getTarget().getTargetType();
if (targetTypesToForceBuild.contains(targetType) || (forceBuildAllModuleBasedTargets && targetType instanceof ModuleInducedTargetType)) {
pd.fsState.markDirty(null, file, descriptor, timestamps, false);
}
}
}
}