From a0153fc1799e55ab63e8871abf750cbe200744b4 Mon Sep 17 00:00:00 2001 From: Eugene Zhuravlev Date: Wed, 21 Mar 2012 16:53:07 +0100 Subject: [PATCH] do not differentiate & integrate files for the chunk where compilation errors occurred. (consistent with timestamp update strategy for such chunks) --- .../src/org/jetbrains/jps/incremental/CompileContext.java | 4 ++++ .../src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java | 3 +++ 2 files changed, 7 insertions(+) diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java index e39512e334f1..b2b4b95ac98e 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java @@ -268,6 +268,10 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler myDelegateMessageHandler.processMessage(msg); } + public boolean errorsDetected() { + return myErrorsFound; + } + public void processFilesToRecompile(ModuleChunk chunk, FileProcessor processor) throws IOException { for (Module module : chunk.getModules()) { myFsState.processFilesToRecompile(this, module, processor); diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java index 099eb993c267..d503e83bff8e 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java @@ -56,6 +56,9 @@ public abstract class ModuleLevelBuilder extends Builder { * @throws Exception */ public final boolean updateMappings(CompileContext context, final Mappings delta, ModuleChunk chunk, Collection filesToCompile, Collection successfullyCompiled) throws IOException { + if (context.errorsDetected()) { + return false; + } try { boolean additionalPassRequired = false;