Make definition a part of the basic hosts, simplify usages
This commit is contained in:
+7
-10
@@ -7,28 +7,25 @@ package org.jetbrains.kotlin.script.examples.jvm.simple.host
|
||||
|
||||
import org.jetbrains.kotlin.script.examples.jvm.simple.MyScript
|
||||
import java.io.File
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.definitions.createScriptDefinitionFromAnnotatedBaseClass
|
||||
import kotlin.script.experimental.api.EvaluationResult
|
||||
import kotlin.script.experimental.api.ResultWithDiagnostics
|
||||
import kotlin.script.experimental.api.ScriptEvaluationEnvironment
|
||||
import kotlin.script.experimental.api.buildScriptingProperties
|
||||
import kotlin.script.experimental.host.toScriptSource
|
||||
import kotlin.script.experimental.jvm.defaultJvmScriptingEnvironment
|
||||
import kotlin.script.experimental.jvm.jvmDependenciesFromCurrentContext
|
||||
import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost
|
||||
import kotlin.script.experimental.jvmhost.makeBasicHostFromAnnotatedScriptBaseClass
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
val scriptDefinition = createScriptDefinitionFromAnnotatedBaseClass(
|
||||
KotlinType(MyScript::class),
|
||||
defaultJvmScriptingEnvironment
|
||||
)
|
||||
val additionalCompilationProperties = buildScriptingProperties {
|
||||
jvmDependenciesFromCurrentContext(
|
||||
"scripting-jvm-simple-script" /* script library jar name */
|
||||
)
|
||||
}
|
||||
|
||||
val host = BasicJvmScriptingHost()
|
||||
val host = makeBasicHostFromAnnotatedScriptBaseClass<MyScript>()
|
||||
|
||||
return host.eval(
|
||||
scriptFile.toScriptSource(), scriptDefinition, additionalCompilationProperties, ScriptEvaluationEnvironment()
|
||||
scriptFile.toScriptSource(), additionalCompilationProperties, ScriptEvaluationEnvironment()
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user