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 196ebbb5a881..32c3aae75cf0 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/CompileContext.java @@ -41,7 +41,7 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler private final Set> myNonIncrementalModules = new HashSet>(); private final ProjectPaths myProjectPaths; - private volatile boolean myErrorsFound = false; + private volatile boolean myErrorsFoundInCurrentChunk = false; private final long myCompilationStartStamp; private final ProjectDescriptor myProjectDescriptor; private final Timestamps myTimestamps; @@ -281,6 +281,7 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler public void onChunkBuildStart(ModuleChunk chunk) { myProjectDescriptor.fsState.setContextChunk(chunk); + myErrorsFoundInCurrentChunk = false; } void onChunkBuildComplete(@NotNull ModuleChunk chunk) throws IOException { @@ -290,7 +291,7 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler final BuildDataManager dataManager = getDataManager(); try { - if (!myErrorsFound && !myCancelStatus.isCanceled()) { + if (!myErrorsFoundInCurrentChunk && !myCancelStatus.isCanceled()) { final DirtyMarkScope dirtyScope = compilingTests ? DirtyMarkScope.TESTS : DirtyMarkScope.PRODUCTION; boolean marked = false; for (Module module : chunk.getModules()) { @@ -334,7 +335,7 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler public void processMessage(BuildMessage msg) { if (msg.getKind() == BuildMessage.Kind.ERROR) { - myErrorsFound = true; + myErrorsFoundInCurrentChunk = true; } if (msg instanceof ProgressMessage) { ((ProgressMessage)msg).setDone(myDone); @@ -348,8 +349,8 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler } } - public boolean errorsDetected() { - return myErrorsFound; + public boolean errorsDetectedInCurrentChunk() { + return myErrorsFoundInCurrentChunk; } public void processFilesToRecompile(ModuleChunk chunk, FileProcessor processor) throws IOException { @@ -470,7 +471,7 @@ public class CompileContext extends UserDataHolderBase implements MessageHandler return myProjectDescriptor; } - public static enum DirtyMarkScope{ + public enum DirtyMarkScope{ PRODUCTION, TESTS, BOTH } 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 80f22b416518..6be8b0ed4641 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/ModuleLevelBuilder.java @@ -63,12 +63,8 @@ public abstract class ModuleLevelBuilder extends Builder { * @return true if additional compilation pass is required, false otherwise * @throws Exception */ - public final boolean updateMappings(CompileContext context, - final Mappings delta, - ModuleChunk chunk, - Collection filesToCompile, - Collection successfullyCompiled) throws IOException { - if (context.errorsDetected()) { + public final boolean updateMappings(CompileContext context, final Mappings delta, ModuleChunk chunk, Collection filesToCompile, Collection successfullyCompiled) throws IOException { + if (context.errorsDetectedInCurrentChunk()) { return false; } try {