From bd89b58a705bd7f4bb0996447306dee2abe2ca0d Mon Sep 17 00:00:00 2001 From: ligee Date: Mon, 17 Aug 2015 19:13:03 +0200 Subject: [PATCH] Adding compiler id digest calculation and check to detect replaced compiler jar, minor fixes and refactorings Original commit: 39d6592e1fb027fb05e6b719e08e078bcac79d7f --- .../jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/jps/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.java b/jps/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.java index 4ce09052a0f..4921e35768b 100644 --- a/jps/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.java +++ b/jps/jps-plugin/src/org/jetbrains/kotlin/compilerRunner/KotlinCompilerRunner.java @@ -132,10 +132,12 @@ public class KotlinCompilerRunner { // trying the daemon first if (incrementalCaches != null && KotlinCompilerClient.Companion.isDaemonEnabled()) { File libPath = CompilerRunnerUtil.getLibPath(environment.getKotlinPaths(), messageCollector); + // TODO: it may be a good idea to cache the compilerId, since making it means calculating digest over jar(s) and if \\ + // the lifetime of JPS process is small anyway, we can neglect the probability of changed compiler CompilerId compilerId = CompilerId.makeCompilerId(new File(libPath, "kotlin-compiler.jar")); DaemonOptions daemonOptions = new DaemonOptions(); // TODO: find proper stream to report daemon connection progress - CompileService daemon = KotlinCompilerClient.Companion.connectToCompileService(compilerId, daemonOptions, System.out); + CompileService daemon = KotlinCompilerClient.Companion.connectToCompileService(compilerId, daemonOptions, System.out, true, true); if (daemon != null) { Integer res = KotlinCompilerClient.Companion.incrementalCompile(daemon, argsArray, incrementalCaches, out); return res.toString();