From a997180876ef9dd474f6c1876ce271eaebb786c8 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Wed, 11 May 2016 14:11:51 +0200 Subject: [PATCH] fix recompile on resource files --- .../src/org/jetbrains/jps/cmdline/BuildRunner.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildRunner.java b/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildRunner.java index 3b040a190483..fe03b5e455f5 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildRunner.java +++ b/jps/jps-builders/src/org/jetbrains/jps/cmdline/BuildRunner.java @@ -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, Set>(); 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); + } } } }