diff --git a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java index a07fdba3fa9..8237a99cffa 100644 --- a/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java +++ b/compiler/cli/src/org/jetbrains/jet/cli/KotlinCompiler.java @@ -147,15 +147,15 @@ public class KotlinCompiler { environment.addToClasspath(arguments.classpath); } - boolean ok; + boolean noErrors; if (arguments.module != null) { - ok = environment.compileModuleScript(arguments.module, arguments.jar, arguments.outputDir, arguments.includeRuntime); + noErrors = environment.compileModuleScript(arguments.module, arguments.jar, arguments.outputDir, arguments.includeRuntime); } else { - ok = environment.compileBunchOfSources(arguments.src, arguments.jar, arguments.outputDir, arguments.includeRuntime); + noErrors = environment.compileBunchOfSources(arguments.src, arguments.jar, arguments.outputDir, arguments.includeRuntime); } - return ok ? 0 : 1; + return noErrors ? 0 : 1; } catch (Throwable t) { errStream.println(messageRenderer.renderException(t)); diff --git a/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java b/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java index d0caf14f664..b90876deeff 100644 --- a/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java +++ b/compiler/cli/src/org/jetbrains/jet/compiler/CompileEnvironment.java @@ -181,6 +181,8 @@ public class CompileEnvironment { final String directory = new File(moduleScriptFile).getParent(); for (Module moduleBuilder : modules) { CompileEnvironment compileEnvironment = new CompileEnvironment(myFileNameTransformer, myMessageRenderer); + compileEnvironment.setIgnoreErrors(ignoreErrors); + compileEnvironment.setErrorStream(myErrorStream); // copy across any compiler plugins compileEnvironment.getMyEnvironment().getCompilerPlugins().addAll(myEnvironment.getCompilerPlugins()); ClassFileFactory moduleFactory = compileEnvironment.compileModule(moduleBuilder, directory); diff --git a/idea/src/org/jetbrains/jet/plugin/compiler/JetCompiler.java b/idea/src/org/jetbrains/jet/plugin/compiler/JetCompiler.java index a3e518033a8..e950daeedab 100644 --- a/idea/src/org/jetbrains/jet/plugin/compiler/JetCompiler.java +++ b/idea/src/org/jetbrains/jet/plugin/compiler/JetCompiler.java @@ -517,8 +517,10 @@ public class JetCompiler implements TranslatingCompiler { if (firstUnprocessedIndex < output.length()) { handleSkippedOutput(output.substring(firstUnprocessedIndex).trim()); } - if (event.getExitCode() != 0) { - compileContext.addMessage(ERROR, "Compiler terminated with exit code: " + event.getExitCode(), "", -1, -1); + int exitCode = event.getExitCode(); + // 0 is normal, 1 is "errors found" — handled by the messages above + if (exitCode != 0 && exitCode != 1) { + compileContext.addMessage(ERROR, "Compiler terminated with exit code: " + exitCode, "", -1, -1); } }