Grand refactoring of the scripting DSL + many minor usability refactorings around it

This commit is contained in:
Ilya Chernikov
2018-07-30 17:55:13 +02:00
parent 45eaca1290
commit 74f8a541c0
41 changed files with 655 additions and 619 deletions
@@ -7,7 +7,6 @@ plugins {
dependencies {
compile(project(":examples:scripting-jvm-simple-script"))
compile(project(":kotlin-scripting-jvm-host"))
compile(project(":kotlin-scripting-misc"))
compile(project(":kotlin-script-util"))
runtime(projectRuntimeJar(":kotlin-compiler"))
testCompile(commonDep("junit"))
@@ -9,24 +9,25 @@ import org.jetbrains.kotlin.script.examples.jvm.simple.MyScript
import java.io.File
import kotlin.script.experimental.api.EvaluationResult
import kotlin.script.experimental.api.ResultWithDiagnostics
import kotlin.script.experimental.api.ScriptCompileConfiguration
import kotlin.script.experimental.api.ScriptEvaluationEnvironment
import kotlin.script.experimental.api.buildScriptingProperties
import kotlin.script.experimental.host.toScriptSource
import kotlin.script.experimental.jvm.jvmDependenciesFromCurrentContext
import kotlin.script.experimental.jvm.dependenciesFromCurrentContext
import kotlin.script.experimental.jvm.jvm
import kotlin.script.experimental.jvmhost.makeBasicHostFromAnnotatedScriptBaseClass
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
val additionalCompilationProperties = buildScriptingProperties {
jvmDependenciesFromCurrentContext(
"scripting-jvm-simple-script" /* script library jar name */
)
val additionalCompilationProperties = ScriptCompileConfiguration.create {
jvm {
dependenciesFromCurrentContext(
"scripting-jvm-simple-script" /* script library jar name */
)
}
}
val host = makeBasicHostFromAnnotatedScriptBaseClass<MyScript>()
return host.eval(
scriptFile.toScriptSource(), additionalCompilationProperties, ScriptEvaluationEnvironment()
)
return host.eval(scriptFile.toScriptSource(), additionalCompilationProperties, null)
}
fun main(vararg args: String) {