Fixes after refactoring the API
This commit is contained in:
+6
-7
@@ -8,10 +8,7 @@ package org.jetbrains.kotlin.script.examples.jvm.resolve.maven.host
|
||||
import org.jetbrains.kotlin.script.examples.jvm.resolve.maven.MyScriptWithMavenDeps
|
||||
import org.jetbrains.kotlin.script.examples.jvm.resolve.maven.myJvmConfig
|
||||
import java.io.File
|
||||
import kotlin.script.experimental.api.EvaluationResult
|
||||
import kotlin.script.experimental.api.ResultWithDiagnostics
|
||||
import kotlin.script.experimental.api.ScriptEvaluationEnvironment
|
||||
import kotlin.script.experimental.api.toConfigEntry
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.definitions.ScriptDefinitionFromAnnotatedBaseClass
|
||||
import kotlin.script.experimental.host.toScriptSource
|
||||
import kotlin.script.experimental.jvm.DummyCompiledJvmScriptCache
|
||||
@@ -21,12 +18,14 @@ import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(MyScriptWithMavenDeps::class)
|
||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
||||
ScriptingEnvironment(ScriptingEnvironmentParams.baseClass to MyScriptWithMavenDeps::class)
|
||||
)
|
||||
|
||||
val host = JvmBasicScriptingHost(
|
||||
scriptDefinition.configurator,
|
||||
scriptDefinition.compilationConfigurator,
|
||||
scriptCompiler,
|
||||
scriptDefinition.runner
|
||||
scriptDefinition.evaluator
|
||||
)
|
||||
|
||||
return host.eval(myJvmConfig { add(scriptFile.toScriptSource().toConfigEntry()) }, ScriptEvaluationEnvironment())
|
||||
|
||||
+13
-11
@@ -10,20 +10,18 @@ import org.jetbrains.kotlin.script.util.FilesAndMavenResolver
|
||||
import org.jetbrains.kotlin.script.util.Repository
|
||||
import org.jetbrains.kotlin.script.util.scriptCompilationClasspathFromContext
|
||||
import java.io.File
|
||||
import kotlin.reflect.KClass
|
||||
import kotlin.script.dependencies.ScriptContents
|
||||
import kotlin.script.dependencies.ScriptDependenciesResolver
|
||||
import kotlin.script.experimental.annotations.KotlinScript
|
||||
import kotlin.script.experimental.annotations.KotlinScriptCompilationConfigurator
|
||||
import kotlin.script.experimental.annotations.KotlinScriptEvaluator
|
||||
import kotlin.script.experimental.api.*
|
||||
import kotlin.script.experimental.basic.DefaultScriptSelector
|
||||
import kotlin.script.experimental.jvm.*
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptRunner
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
|
||||
@KotlinScript(
|
||||
DefaultScriptSelector::class,
|
||||
MyConfigurator::class,
|
||||
BasicJvmScriptRunner::class
|
||||
)
|
||||
@KotlinScript
|
||||
@KotlinScriptCompilationConfigurator(MyConfigurator::class)
|
||||
@KotlinScriptEvaluator(BasicJvmScriptEvaluator::class)
|
||||
abstract class MyScriptWithMavenDeps {
|
||||
// abstract fun body(vararg args: String): Int
|
||||
}
|
||||
@@ -44,12 +42,16 @@ inline fun myJvmConfig(
|
||||
body()
|
||||
}
|
||||
|
||||
class MyConfigurator(val baseClass: KClass<Any>? = null) : ScriptConfigurator {
|
||||
class MyConfigurator(val environment: ScriptingEnvironment) : ScriptCompilationConfigurator {
|
||||
|
||||
private val resolver = FilesAndMavenResolver()
|
||||
|
||||
override suspend fun baseConfiguration(scriptSource: ScriptSource?): ResultWithDiagnostics<ScriptCompileConfiguration> =
|
||||
myJvmConfig { add(scriptSource.toConfigEntry()) }.asSuccess()
|
||||
override val defaultConfiguration = myJvmConfig {
|
||||
add(ScriptCompileConfigurationParams.baseClass to environment[ScriptingEnvironmentParams.baseClass])
|
||||
}
|
||||
|
||||
override suspend fun baseConfiguration(scriptSource: ScriptSource): ResultWithDiagnostics<ScriptCompileConfiguration> =
|
||||
myJvmConfig(defaultConfiguration) { add(scriptSource.toConfigEntry()) }.asSuccess()
|
||||
|
||||
override suspend fun refineConfiguration(
|
||||
configuration: ScriptCompileConfiguration,
|
||||
|
||||
+5
-3
@@ -25,12 +25,14 @@ inline fun myJvmConfig(
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(MyScript::class)
|
||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
||||
ScriptingEnvironment(ScriptingEnvironmentParams.baseClass to MyScript::class)
|
||||
)
|
||||
|
||||
val host = JvmBasicScriptingHost(
|
||||
scriptDefinition.configurator,
|
||||
scriptDefinition.compilationConfigurator,
|
||||
scriptCompiler,
|
||||
scriptDefinition.runner
|
||||
scriptDefinition.evaluator
|
||||
)
|
||||
|
||||
return host.eval(myJvmConfig { add(scriptFile.toScriptSource().toConfigEntry()) }, ScriptEvaluationEnvironment())
|
||||
|
||||
+4
-4
@@ -6,11 +6,11 @@
|
||||
package org.jetbrains.kotlin.script.examples.jvm.simple
|
||||
|
||||
import kotlin.script.experimental.annotations.KotlinScript
|
||||
import kotlin.script.experimental.basic.DefaultScriptSelector
|
||||
import kotlin.script.experimental.basic.PassThroughConfigurator
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptRunner
|
||||
import kotlin.script.experimental.annotations.KotlinScriptEvaluator
|
||||
import kotlin.script.experimental.jvm.runners.BasicJvmScriptEvaluator
|
||||
|
||||
@KotlinScript(DefaultScriptSelector::class, PassThroughConfigurator::class, BasicJvmScriptRunner::class)
|
||||
@KotlinScript
|
||||
@KotlinScriptEvaluator(BasicJvmScriptEvaluator::class)
|
||||
abstract class MyScript {
|
||||
// abstract fun body(vararg args: String): Int
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user