How to use the Kts ScriptEngine in an IntelliJ IDEA plugin?
Answered
object KtsUtil {
private val engine = IdeScriptEngineManager.getInstance().getEngineByName("kotlin", null)!!
fun invokeFunction(kts: String, function: String): Any {
engine.eval(kts)
val invoke = engine as Invocable
return invoke.invokeFunction(function)
}
}
private val engine = IdeScriptEngineManager.getInstance().getEngineByName("kotlin", null)!!
fun invokeFunction(kts: String, function: String): Any {
engine.eval(kts)
val invoke = engine as Invocable
return invoke.invokeFunction(function)
}
}
com.intellij.ide.script.IdeScriptException: javax.script.ScriptException: ERROR Unable to initialize repl compiler:
DEBUG Using JVM IR backend
WARNING Using new faster version of JAR FS: it should make your build faster, but the new implementation is experimental
ERROR Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException: java.lang.IllegalStateException: Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException: java.lang.IllegalStateException: Unable to initialize repl compiler:
DEBUG Using JVM IR backend
WARNING Using new faster version of JAR FS: it should make your build faster, but the new implementation is experimental
ERROR Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException: java.lang.IllegalStateException: Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException
at com.intellij.ide.script.IdeScriptEngineManagerImpl$EngineImpl.lambda$eval$1(IdeScriptEngineManagerImpl.java:249)
DEBUG Using JVM IR backend
WARNING Using new faster version of JAR FS: it should make your build faster, but the new implementation is experimental
ERROR Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException: java.lang.IllegalStateException: Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException: java.lang.IllegalStateException: Unable to initialize repl compiler:
DEBUG Using JVM IR backend
WARNING Using new faster version of JAR FS: it should make your build faster, but the new implementation is experimental
ERROR Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException: java.lang.IllegalStateException: Error while reading 'E:\environment\gradle\gradle-7.5.1\caches\modules-2\files-2.1\com.jetbrains.intellij.idea\ideaIC\2023.1\79ab2d2970b44e4c36be667e173da87c982a9814\ideaIC-2023.1\lib\app.jar': java.lang.IndexOutOfBoundsException
at com.intellij.ide.script.IdeScriptEngineManagerImpl$EngineImpl.lambda$eval$1(IdeScriptEngineManagerImpl.java:249)
Please sign in to leave a comment.
Have you checked what engines are available for you?
We have the kt engine in here