Extended Kotlin Scripting
With Kotlin 1.2.+ in your classpath, add:
| artifact | GAV |
|---|---|
keplin-core |
uy.kohesive.keplin:keplin-core |
keplin-maven-resolver |
uy.kohesive.keplin:keplin-maven-resolver |
keplin-jsr223-kotlin-engine |
uy.kohesive.keplin:keplin-jsr223-kotlin-engine |
TODO:
- document the modules
- add maven / file resolver Cuarentena-like support for whitelisting GAV, and local file patterns
- add Cuarentena support for securing each script engine.
- a simple Repl class SimplifiedRepl
- a file based JAR resolver that can be used with
@file:DependsOnJar(fileInDirRepo|fullyQualifiedFile)and@file:DirRepository(fullQyalifiedPath)annotations in the script to load JAR files - a script definition that can automatically imply imports
KotlinScriptDefinitionEx
See unit tests
Allowing Maven artifacts to be specified and used in Kotlin scripts.
- a maven based resolver (
maven-resolverdependency) used with@file:MavenRepository(mavenRepoUrl)and@file:DependsOnMaven(mavenGAV)annotations in the script to load Maven dependencies
See unit tests
keplin-kotlin-repl-compilableJSR223 engine also implementing Compilable and Invocable interfaceskeplin-kotlin-repl-eval-onlyJSR223 engine that is atomic eval only (compile+eval) and also Invocable interface
See unit tests
Keplin is used in the related Kotlin-Jupyter project to provide a basic REPL for Jupyter notebooks or console.