diff --git a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt index 7e95dd72593..5cfdf6ecbf5 100644 --- a/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt +++ b/compiler/cli/src/org/jetbrains/kotlin/cli/jvm/repl/GenericReplCompiler.kt @@ -18,6 +18,7 @@ package org.jetbrains.kotlin.cli.jvm.repl import com.intellij.openapi.Disposable +import com.intellij.openapi.util.Disposer import org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport import org.jetbrains.kotlin.cli.common.messages.MessageCollector import org.jetbrains.kotlin.cli.common.repl.* @@ -46,6 +47,9 @@ open class GenericReplCompiler(disposable: Disposable, messageCollector: MessageCollector ) : ReplCompiler { + constructor(scriptDefinition: KotlinScriptDefinition, compilerConfiguration: CompilerConfiguration, messageCollector: MessageCollector) : + this(Disposer.newDisposable(), scriptDefinition, compilerConfiguration, messageCollector) + private val checker = GenericReplChecker(disposable, scriptDefinition, compilerConfiguration, messageCollector) override fun createState(lock: ReentrantReadWriteLock): IReplStageState<*> = GenericReplCompilerState(checker.environment, lock) diff --git a/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts b/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts index b493d068d79..b17380c1eee 100644 --- a/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts +++ b/libraries/examples/kotlin-jsr223-daemon-local-eval-example/build.gradle.kts @@ -10,10 +10,11 @@ dependencies { testCompile(project(":kotlin-script-runtime")) testCompile(project(":kotlin-script-util")) testCompile(project(":kotlin-daemon-client")) + testCompile(projectRuntimeJar(":kotlin-compiler-embeddable")) testCompile(commonDep("junit:junit")) testCompile(project(":kotlin-test:kotlin-test-junit")) testRuntime(project(":kotlin-reflect")) - compilerClasspath(projectRuntimeJar(":kotlin-compiler")) + compilerClasspath(projectRuntimeJar(":kotlin-compiler-embeddable")) compilerClasspath(projectDist(":kotlin-reflect")) compilerClasspath(projectDist(":kotlin-stdlib")) compilerClasspath(projectDist(":kotlin-script-runtime")) diff --git a/libraries/examples/kotlin-jsr223-local-example/build.gradle.kts b/libraries/examples/kotlin-jsr223-local-example/build.gradle.kts index 80323292fe2..eaeced4dedd 100644 --- a/libraries/examples/kotlin-jsr223-local-example/build.gradle.kts +++ b/libraries/examples/kotlin-jsr223-local-example/build.gradle.kts @@ -6,7 +6,7 @@ apply { plugin("kotlin") } dependencies { compile(projectDist(":kotlin-stdlib")) compile(projectDist(":kotlin-script-runtime")) - compile(projectRuntimeJar(":kotlin-compiler")) + compile(projectRuntimeJar(":kotlin-compiler-embeddable")) compile(project(":kotlin-script-util")) testCompile(projectDist(":kotlin-test:kotlin-test-junit")) testCompile(commonDep("junit:junit")) diff --git a/libraries/tools/kotlin-script-util/build.gradle.kts b/libraries/tools/kotlin-script-util/build.gradle.kts index 28290d55849..6483fa27e44 100644 --- a/libraries/tools/kotlin-script-util/build.gradle.kts +++ b/libraries/tools/kotlin-script-util/build.gradle.kts @@ -12,11 +12,11 @@ dependencies { compileOnly("com.jcabi:jcabi-aether:0.10.1") compileOnly("org.sonatype.aether:aether-api:1.13.1") compileOnly("org.apache.maven:maven-core:3.0.3") - runtime(projectRuntimeJar(":kotlin-compiler")) testCompileOnly(project(":compiler:cli")) testCompile(project(":kotlin-test:kotlin-test-junit")) testRuntime(project(":kotlin-reflect")) testCompile(commonDep("junit:junit")) + testRuntime(projectRuntimeJar(":kotlin-compiler")) testRuntime("com.jcabi:jcabi-aether:0.10.1") testRuntime("org.sonatype.aether:aether-api:1.13.1") testRuntime("org.apache.maven:maven-core:3.0.3") diff --git a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmDaemonCompileScriptEngine.kt b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmDaemonCompileScriptEngine.kt index 7761d7dca53..5c65a02665b 100644 --- a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmDaemonCompileScriptEngine.kt +++ b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmDaemonCompileScriptEngine.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.script.jsr223 -import com.intellij.openapi.Disposable import org.jetbrains.kotlin.cli.common.messages.MessageRenderer import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector import org.jetbrains.kotlin.cli.common.repl.* @@ -37,7 +36,6 @@ import kotlin.reflect.KClass // TODO: need to manage resources here, i.e. call replCompiler.dispose when engine is collected class KotlinJsr223JvmDaemonCompileScriptEngine( - disposable: Disposable, factory: ScriptEngineFactory, compilerClasspath: List, templateClasspath: List, diff --git a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt index 0eee371d365..9b8d8377bfa 100644 --- a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt +++ b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223JvmLocalScriptEngine.kt @@ -16,7 +16,6 @@ package org.jetbrains.kotlin.script.jsr223 -import com.intellij.openapi.Disposable import org.jetbrains.kotlin.cli.common.messages.MessageRenderer import org.jetbrains.kotlin.cli.common.messages.PrintingMessageCollector import org.jetbrains.kotlin.cli.common.repl.* @@ -35,7 +34,6 @@ import javax.script.ScriptEngineFactory import kotlin.reflect.KClass class KotlinJsr223JvmLocalScriptEngine( - disposable: Disposable, factory: ScriptEngineFactory, val templateClasspath: List, templateClassName: String, @@ -45,7 +43,6 @@ class KotlinJsr223JvmLocalScriptEngine( override val replCompiler: ReplCompiler by lazy { GenericReplCompiler( - disposable, makeScriptDefinition(templateClasspath, templateClassName), makeCompilerConfiguration(), PrintingMessageCollector(System.out, MessageRenderer.WITHOUT_PATHS, false)) diff --git a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223ScriptEngineFactoryExamples.kt b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223ScriptEngineFactoryExamples.kt index f6d93cc5718..73230a4cb7d 100644 --- a/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223ScriptEngineFactoryExamples.kt +++ b/libraries/tools/kotlin-script-util/src/main/kotlin/org/jetbrains/kotlin/script/jsr223/KotlinJsr223ScriptEngineFactoryExamples.kt @@ -18,7 +18,6 @@ package org.jetbrains.kotlin.script.jsr223 -import com.intellij.openapi.util.Disposer import org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineFactoryBase import org.jetbrains.kotlin.cli.common.repl.ScriptArgsWithTypes import org.jetbrains.kotlin.script.util.* @@ -30,7 +29,6 @@ class KotlinJsr223JvmLocalScriptEngineFactory : KotlinJsr223JvmScriptEngineFacto override fun getScriptEngine(): ScriptEngine = KotlinJsr223JvmLocalScriptEngine( - Disposer.newDisposable(), this, scriptCompilationClasspathFromContext("kotlin-script-util.jar"), KotlinStandardJsr223ScriptTemplate::class.qualifiedName!!, @@ -43,7 +41,6 @@ class KotlinJsr223JvmDaemonLocalEvalScriptEngineFactory : KotlinJsr223JvmScriptE override fun getScriptEngine(): ScriptEngine = KotlinJsr223JvmDaemonCompileScriptEngine( - Disposer.newDisposable(), this, KotlinJars.compilerClasspath, scriptCompilationClasspathFromContext("kotlin-script-util.jar"),