Reuben Firmin
10/26/2023, 2:24 PMdave
10/26/2023, 2:59 PMJames Richardson
10/26/2023, 6:18 PMimport java.io.File
import javax.script.ScriptEngine
import javax.script.ScriptEngineManager
class Scripting() {
val scriptEngineManager = ScriptEngineManager()
val engine : ScriptEngine = scriptEngineManager.getEngineByExtension("kts")
inline fun <reified T> load(file: File):T {
return engine.eval(file.readText()) as T
}
}
Reuben Firmin
10/26/2023, 6:21 PMJames Richardson
10/26/2023, 6:22 PMimplementation "org.jetbrains.kotlin:kotlin-script-runtime:$kotlinVersion"
implementation "org.jetbrains.kotlin:kotlin-compiler-embeddable:$kotlinVersion"
implementation "org.jetbrains.kotlin:kotlin-script-util:$kotlinVersion"
implementation "org.jetbrains.kotlin:kotlin-scripting-jsr223-embeddable:$kotlinVersion"
runtime "org.jetbrains.kotlin:kotlin-scripting-compiler-embeddable:$kotlinVersion"