Treat "daemon is dying" state as a case for fallback compilation strategy in jps

Original commit: 1101bb7fb4
This commit is contained in:
Ilya Chernikov
2017-12-18 11:42:43 +01:00
parent 453d38b0f7
commit 76d6413702
@@ -147,7 +147,8 @@ class JpsKotlinCompilerRunner : KotlinCompilerRunner<JpsCompilerEnvironment>() {
val verbose = compilerArgs.verbose
val options = CompilationOptions(compilerMode, targetPlatform, reportCategories(verbose), reportSeverity(verbose), requestedCompilationResults = emptyArray())
val res = daemon.compile(sessionId, withAdditionalCompilerArgs(compilerArgs), options, JpsCompilerServicesFacadeImpl(environment), null)
return exitCodeFromProcessExitCode(res.get())
// TODO: consider implementing connection retry, instead of fallback here
return res.takeUnless { it is CompileService.CallResult.Dying }?.let { exitCodeFromProcessExitCode(it.get()) }
}
private fun withAdditionalCompilerArgs(compilerArgs: CommonCompilerArguments): Array<String> {