Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Kotlin Maven Central CircleCI branch Issues DUB Kotlin Slack

keplin

Extended Kotlin Scripting

Gradle /Maven

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.

Current Modules:

keplin-core

  • 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

keplin-maven-resolver

Allowing Maven artifacts to be specified and used in Kotlin scripts.

  • a maven based resolver (maven-resolver dependency) used with @file:MavenRepository(mavenRepoUrl) and @file:DependsOnMaven(mavenGAV) annotations in the script to load Maven dependencies

See unit tests

keplin-jsr223-kotlin-engine

  • keplin-kotlin-repl-compilable JSR223 engine also implementing Compilable and Invocable interfaces
  • keplin-kotlin-repl-eval-only JSR223 engine that is atomic eval only (compile+eval) and also Invocable interface

See unit tests

Kotlin-Jupyter

Keplin is used in the related Kotlin-Jupyter project to provide a basic REPL for Jupyter notebooks or console.

About

Secure Kotlin scripting and binary lambda-scripts

Resources

License

Releases

No releases published

Packages

No packages published