|
29 | 29 | */ |
30 | 30 | package org.scijava.plugins.scripting.kotlin |
31 | 31 |
|
32 | | -import org.jetbrains.kotlin.cli.common.repl.* |
33 | | -import org.jetbrains.kotlin.com.intellij.openapi.util.Disposer |
34 | | -import org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmDaemonCompileScriptEngine |
35 | | -import org.jetbrains.kotlin.script.jsr223.KotlinJsr223JvmLocalScriptEngine |
36 | | -import org.jetbrains.kotlin.script.jsr223.KotlinStandardJsr223ScriptTemplate |
| 32 | +import org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineFactoryBase |
37 | 33 | import org.scijava.plugin.Plugin |
38 | 34 | import org.scijava.script.AdaptedScriptLanguage |
39 | 35 | import org.scijava.script.ScriptLanguage |
40 | 36 | import java.io.Reader |
41 | | -import java.lang.Exception |
42 | | -import java.util.concurrent.atomic.AtomicInteger |
43 | | -import java.util.concurrent.locks.ReentrantReadWriteLock |
44 | 37 | import javax.script.* |
45 | | -import kotlin.script.experimental.jvm.util.KotlinJars |
46 | | -import kotlin.script.experimental.jvm.util.scriptCompilationClasspathFromContext |
47 | | -import kotlin.system.exitProcess |
| 38 | +import kotlin.script.experimental.jsr223.KotlinJsr223DefaultScriptEngineFactory |
48 | 39 |
|
49 | 40 | /** |
50 | 41 | * A SciJava [ScriptLanguage] for Kotlin. |
@@ -72,12 +63,26 @@ class KotlinScriptLanguage : AdaptedScriptLanguage(Factory()) { |
72 | 63 | // { ctx, types -> ScriptArgsWithTypes(arrayOf(ctx.getBindings(ScriptContext.ENGINE_SCOPE)), types ?: emptyArray()) }, |
73 | 64 | // arrayOf(Bindings::class) |
74 | 65 | // ) |
75 | | - KotlinJsr223JvmLocalScriptEngine( |
76 | | - this, |
77 | | - scriptCompilationClasspathFromContext("kotlin-script-util.jar", wholeClasspath = true), |
78 | | - KotlinStandardJsr223ScriptTemplate::class.qualifiedName!!, |
79 | | - { ctx, types -> ScriptArgsWithTypes(arrayOf(ctx.getBindings(ScriptContext.ENGINE_SCOPE)), types ?: emptyArray()) }, |
80 | | - arrayOf(Bindings::class)) |
| 66 | +// KotlinJsr223JvmLocalScriptEngine( |
| 67 | +// this, |
| 68 | +// scriptCompilationClasspathFromContext("kotlin-script-util.jar", wholeClasspath = true), |
| 69 | +// KotlinStandardJsr223ScriptTemplate::class.qualifiedName!!, |
| 70 | +// { ctx, types -> ScriptArgsWithTypes(arrayOf(ctx.getBindings(ScriptContext.ENGINE_SCOPE)), types ?: emptyArray()) }, |
| 71 | +// arrayOf(Bindings::class)) |
| 72 | +// KotlinJsr223ScriptEngineImpl( |
| 73 | +// this, |
| 74 | +// scriptDefinition.compilationConfiguration.with { |
| 75 | +// jvm { |
| 76 | +// if (System.getProperty(KOTLIN_JSR223_RESOLVE_FROM_CLASSLOADER_PROPERTY) == "true") { |
| 77 | +// dependencies(JvmDependencyFromClassLoader { Thread.currentThread().contextClassLoader }) |
| 78 | +// } else { |
| 79 | +// dependenciesFromCurrentContext() |
| 80 | +// } |
| 81 | +// } |
| 82 | +// }, |
| 83 | +// scriptDefinition.evaluationConfiguration |
| 84 | +// ) { ScriptArgsWithTypes(arrayOf(it.getBindings(ScriptContext.ENGINE_SCOPE).orEmpty()), arrayOf(Bindings::class)) } |
| 85 | + KotlinJsr223DefaultScriptEngineFactory().scriptEngine |
81 | 86 | ) |
82 | 87 | } |
83 | 88 | } |
|
0 commit comments