Rename ScriptDefinition to ScriptCompileConfiguration

This commit is contained in:
Ilya Chernikov
2018-08-20 19:33:28 +03:00
parent 98c0a3bdaa
commit bd8f2a81e9
23 changed files with 146 additions and 135 deletions
@@ -11,13 +11,13 @@ import kotlin.script.experimental.api.EvaluationResult
import kotlin.script.experimental.api.ResultWithDiagnostics
import kotlin.script.experimental.host.toScriptSource
import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost
import kotlin.script.experimental.jvmhost.createBasicScriptDefinitionFromAnnotatedBaseClass
import kotlin.script.experimental.jvmhost.createBasicScriptCompilationConfigurationFromAnnotatedBaseClass
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
val scriptDefinition = createBasicScriptDefinitionFromAnnotatedBaseClass<MyScriptWithMavenDeps>()
val compilationConfiguration = createBasicScriptCompilationConfigurationFromAnnotatedBaseClass<MyScriptWithMavenDeps>()
return BasicJvmScriptingHost().eval(scriptFile.toScriptSource(), scriptDefinition, null)
return BasicJvmScriptingHost().eval(scriptFile.toScriptSource(), compilationConfiguration, null)
}
fun main(vararg args: String) {
@@ -21,13 +21,13 @@ import kotlin.script.experimental.jvm.jvm
@KotlinScript(
extension = "scriptwithdeps.kts",
definition = MyScriptDefinition::class
compilationConfiguration = MyScriptCompilationConfiguration::class
)
abstract class MyScriptWithMavenDeps {
// abstract fun body(vararg args: String): Int
}
object MyScriptDefinition : ScriptDefinition(
object MyScriptCompilationConfiguration : ScriptCompilationConfiguration(
{
defaultImports<DependsOn>()
defaultImports(Repository::class)
@@ -49,7 +49,7 @@ object MyScriptDefinition : ScriptDefinition(
private val resolver = FilesAndMavenResolver()
fun myConfigureOnAnnotations(script: ScriptDataFacade): ResultWithDiagnostics<ScriptDefinition?> {
fun myConfigureOnAnnotations(script: ScriptDataFacade): ResultWithDiagnostics<ScriptCompilationConfiguration?> {
val annotations = script.collectedData?.get(ScriptCollectedData.foundAnnotations)?.takeIf { it.isNotEmpty() }
?: return null.asSuccess()
val scriptContents = object : ScriptContents {
@@ -66,7 +66,7 @@ fun myConfigureOnAnnotations(script: ScriptDataFacade): ResultWithDiagnostics<Sc
?: return null.asSuccess(diagnostics)
val resolvedClasspath = newDepsFromResolver.classpath.toList().takeIf { it.isNotEmpty() }
?: return null.asSuccess(diagnostics)
ScriptDefinition(script.definition) {
ScriptCompilationConfiguration(script.compilationConfiguration) {
dependencies.append(JvmDependency(resolvedClasspath))
}.asSuccess(diagnostics)
} catch (e: Throwable) {
@@ -13,10 +13,10 @@ import kotlin.script.experimental.host.toScriptSource
import kotlin.script.experimental.jvm.dependenciesFromCurrentContext
import kotlin.script.experimental.jvm.jvm
import kotlin.script.experimental.jvmhost.BasicJvmScriptingHost
import kotlin.script.experimental.jvmhost.createBasicScriptDefinitionFromAnnotatedBaseClass
import kotlin.script.experimental.jvmhost.createBasicScriptCompilationConfigurationFromAnnotatedBaseClass
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
val scriptDefinition = createBasicScriptDefinitionFromAnnotatedBaseClass<MyScript> {
val compilationConfiguration = createBasicScriptCompilationConfigurationFromAnnotatedBaseClass<MyScript> {
jvm {
dependenciesFromCurrentContext(
"scripting-jvm-simple-script" /* script library jar name */
@@ -24,7 +24,7 @@ fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
}
}
return BasicJvmScriptingHost().eval(scriptFile.toScriptSource(), scriptDefinition, null)
return BasicJvmScriptingHost().eval(scriptFile.toScriptSource(), compilationConfiguration, null)
}
fun main(vararg args: String) {