Remove evaluator from script definition, simplify interface
This commit is contained in:
+6
-4
@@ -14,19 +14,21 @@ import kotlin.script.experimental.jvm.DummyCompiledJvmScriptCache
|
||||
import kotlin.script.experimental.jvm.JvmBasicScriptingHost
|
||||
import kotlin.script.experimental.jvm.JvmGetScriptingClass
|
||||
import kotlin.script.experimental.jvm.JvmScriptCompiler
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
|
||||
import kotlin.script.experimental.misc.invoke
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
||||
val environment = ScriptingEnvironment(
|
||||
ScriptingEnvironmentProperties.getScriptingClass(JvmGetScriptingClass())
|
||||
)
|
||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
||||
KotlinType(MyScriptWithMavenDeps::class),
|
||||
ScriptingEnvironment(
|
||||
ScriptingEnvironmentProperties.getScriptingClass(JvmGetScriptingClass())
|
||||
)
|
||||
environment
|
||||
)
|
||||
|
||||
val host = JvmBasicScriptingHost(scriptCompiler, scriptDefinition.evaluator)
|
||||
val host = JvmBasicScriptingHost(scriptCompiler, BasicJvmScriptEvaluator())
|
||||
|
||||
return host.eval(
|
||||
scriptFile.toScriptSource(), scriptDefinition, ScriptCompileConfiguration(), ScriptEvaluationEnvironment()
|
||||
|
||||
+5
-5
@@ -14,18 +14,18 @@ import kotlin.script.dependencies.ScriptContents
|
||||
import kotlin.script.dependencies.ScriptDependenciesResolver
|
||||
import kotlin.script.experimental.annotations.KotlinScript
|
||||
import kotlin.script.experimental.annotations.KotlinScriptDefaultCompilationConfiguration
|
||||
import kotlin.script.experimental.annotations.KotlinScriptEvaluator
|
||||
import kotlin.script.experimental.annotations.KotlinScriptFileExtension
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.jvm.*
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
import kotlin.script.experimental.misc.*
|
||||
import kotlin.script.experimental.jvm.JvmDependency
|
||||
import kotlin.script.experimental.jvm.jvmJavaHomeParams
|
||||
import kotlin.script.experimental.jvm.mapLegacyDiagnosticSeverity
|
||||
import kotlin.script.experimental.jvm.mapLegacyScriptPosition
|
||||
import kotlin.script.experimental.misc.invoke
|
||||
import kotlin.script.experimental.util.TypedKey
|
||||
|
||||
@KotlinScript
|
||||
@KotlinScriptFileExtension("scriptwithdeps.kts")
|
||||
@KotlinScriptDefaultCompilationConfiguration(MyConfiguration::class)
|
||||
@KotlinScriptEvaluator(BasicJvmScriptEvaluator::class)
|
||||
abstract class MyScriptWithMavenDeps {
|
||||
// abstract fun body(vararg args: String): Int
|
||||
}
|
||||
|
||||
+6
-4
@@ -12,6 +12,7 @@ import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.definitions.ScriptDefinitionFromAnnotatedBaseClass
|
||||
import kotlin.script.experimental.host.toScriptSource
|
||||
import kotlin.script.experimental.jvm.*
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
|
||||
import kotlin.script.experimental.misc.*
|
||||
|
||||
@@ -24,14 +25,15 @@ val myJvmConfigParams = jvmJavaHomeParams + with(ScriptCompileConfigurationPrope
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
||||
val environment = ScriptingEnvironment(
|
||||
ScriptingEnvironmentProperties.getScriptingClass(JvmGetScriptingClass())
|
||||
)
|
||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
||||
KotlinType(MyScript::class),
|
||||
ScriptingEnvironment(
|
||||
ScriptingEnvironmentProperties.getScriptingClass(JvmGetScriptingClass())
|
||||
)
|
||||
environment
|
||||
)
|
||||
|
||||
val host = JvmBasicScriptingHost(scriptCompiler, scriptDefinition.evaluator)
|
||||
val host = JvmBasicScriptingHost(scriptCompiler, BasicJvmScriptEvaluator())
|
||||
|
||||
return host.eval(
|
||||
scriptFile.toScriptSource(), scriptDefinition, ScriptCompileConfiguration(myJvmConfigParams), ScriptEvaluationEnvironment()
|
||||
|
||||
-3
@@ -6,12 +6,9 @@
|
||||
package org.jetbrains.kotlin.script.examples.jvm.simple
|
||||
|
||||
import kotlin.script.experimental.annotations.KotlinScript
|
||||
import kotlin.script.experimental.annotations.KotlinScriptEvaluator
|
||||
import kotlin.script.experimental.annotations.KotlinScriptFileExtension
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
|
||||
@KotlinScript
|
||||
@KotlinScriptEvaluator(BasicJvmScriptEvaluator::class)
|
||||
@KotlinScriptFileExtension("simplescript.kts")
|
||||
abstract class MyScript {
|
||||
// abstract fun body(vararg args: String): Int
|
||||
|
||||
Reference in New Issue
Block a user