laht
08/13/2020, 11:21 AMkts
executable and then invoke a .kts
script with maven dependencies. I know of kscript (unix systems) and the official scripting support (needs kotlin installed). My solution requires no prior software installed and works regardless of platform. Is it valuable?Big Chungus
08/13/2020, 12:41 PMlaht
08/13/2020, 12:46 PMlaht
08/13/2020, 12:47 PMinvoke(script)
function exposed. It returns an object from the scriptlaht
08/13/2020, 12:48 PMlaht
08/13/2020, 1:02 PMBig Chungus
08/13/2020, 2:26 PMBig Chungus
08/13/2020, 4:33 PMBig Chungus
08/13/2020, 4:33 PMBig Chungus
08/13/2020, 4:34 PMBig Chungus
08/13/2020, 4:36 PMlaht
08/13/2020, 4:36 PMlaht
08/13/2020, 4:36 PMWouldn't lib or dependency be better?hmm.. I dunno
Big Chungus
08/13/2020, 4:38 PMBig Chungus
08/13/2020, 4:38 PMBig Chungus
08/13/2020, 4:38 PMlaht
08/13/2020, 4:39 PMBig Chungus
08/13/2020, 4:45 PMBig Chungus
08/13/2020, 9:18 PMBig Chungus
08/13/2020, 9:18 PMBig Chungus
08/13/2020, 9:19 PMBig Chungus
08/13/2020, 10:19 PM./kts.jar <yourScript>.kts
For whatever reason, however, if i remove .jar suffix or symlink it it breaks with
javax.script.ScriptException: error: unresolved reference: println
println("OK")
^
error: cannot access script base class 'org.jetbrains.kotlin.script.jsr223.KotlinStandardJsr223ScriptTemplate'.
Check your module classpath for missing or conflicting dependencies
println("OK")
^
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.asJsr223EvalResult(KotlinJsr223J
vmScriptEngineBase.kt:104)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.compileAndEval(KotlinJsr223JvmSc
riptEngineBase.kt:63)
at org.jetbrains.kotlin.cli.common.repl.KotlinJsr223JvmScriptEngineBase.eval(KotlinJsr223JvmScriptEngine
Base.kt:31)
at java.scripting/javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
at info.laht.kts.KtsScriptRunner$invokeKts$thread$1.run(KtsScriptRunner.kt:38)
at java.base/java.lang.Thread.run(Thread.java:834)
Big Chungus
08/13/2020, 10:20 PMBig Chungus
08/14/2020, 8:32 AMBig Chungus
08/14/2020, 8:52 AMlaht
08/18/2020, 8:29 AMkotlin
from kotlin-compiler is just as easy as downloading kts
and you get script caching and autocompletion.Big Chungus
08/18/2020, 8:38 AMlaht
08/18/2020, 8:43 AMlaht
08/18/2020, 8:47 AMBig Chungus
08/18/2020, 9:03 AMlaht
08/18/2020, 11:18 AM@file:
so that autocomplete works in IntelliJ, but you must use kts to actually run itlaht
08/18/2020, 12:06 PMlaht
08/18/2020, 12:06 PMBig Chungus
08/18/2020, 12:24 PMlaht
08/18/2020, 12:32 PMlaht
08/18/2020, 12:33 PM