diff --git a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java index 7304517b1f63..65bfcf76a392 100644 --- a/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java +++ b/jps/jps-builders/src/org/jetbrains/jps/incremental/IncProjectBuilder.java @@ -3,6 +3,7 @@ package org.jetbrains.jps.incremental; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.*; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.util.concurrency.BoundedTaskExecutor; import com.intellij.util.containers.ConcurrentHashSet; import com.intellij.util.containers.ContainerUtil; @@ -171,13 +172,19 @@ public class IncProjectBuilder { ); throw new RebuildRequestedException(cause); } - else if (cause != null) { - myMessageDispatcher.processMessage(new CompilerMessage(BUILD_NAME, cause)); - } else { - String message = e.getMessage(); - if (message == null) message = "Internal error"; - myMessageDispatcher.processMessage(new CompilerMessage(BUILD_NAME, BuildMessage.Kind.ERROR, message)); + if (cause == null) { + // some builder desided to stop the build + // report optional progress message if exists + final String msg = e.getMessage(); + if (!StringUtil.isEmpty(msg)) { + myMessageDispatcher.processMessage(new ProgressMessage(msg)); + } + } + else { + // the reason for the build stop is unexpected internal error, report it + myMessageDispatcher.processMessage(new CompilerMessage(BUILD_NAME, cause)); + } } } finally {