Rename script annotation params according to configuration keys...

rename evaluation params consistently too
This commit is contained in:
Ilya Chernikov
2018-09-11 13:14:51 +02:00
parent 136428c7b4
commit a02d5b4b21
12 changed files with 15 additions and 20 deletions
@@ -140,5 +140,5 @@ object TestScriptWithSimpleEnvVarsConfiguration : ScriptCompilationConfiguration
abstract class TestScriptWithSimpleEnvVars abstract class TestScriptWithSimpleEnvVars
@Suppress("unused") @Suppress("unused")
@KotlinScript(extension = "customext") @KotlinScript(fileExtension = "customext")
abstract class TestScriptWithNonKtsExtension(val name: String) abstract class TestScriptWithNonKtsExtension(val name: String)
@@ -8,5 +8,5 @@ import kotlin.script.templates.ScriptTemplateDefinition
import kotlin.script.experimental.annotations.KotlinScript import kotlin.script.experimental.annotations.KotlinScript
import kotlin.script.experimental.annotations.KotlinScriptEvaluator import kotlin.script.experimental.annotations.KotlinScriptEvaluator
@KotlinScript(name = "Kotlin Script with custom extension", extension = "mykts") @KotlinScript(displayName = "Kotlin Script with custom extension", fileExtension = "mykts")
open class Template open class Template
@@ -20,7 +20,7 @@ import kotlin.script.experimental.jvm.dependenciesFromCurrentContext
import kotlin.script.experimental.jvm.jvm import kotlin.script.experimental.jvm.jvm
@KotlinScript( @KotlinScript(
extension = "scriptwithdeps.kts", fileExtension = "scriptwithdeps.kts",
compilationConfiguration = ScriptWithMavenDepsConfiguration::class compilationConfiguration = ScriptWithMavenDepsConfiguration::class
) )
abstract class ScriptWithMavenDeps abstract class ScriptWithMavenDeps
@@ -7,5 +7,5 @@ package org.jetbrains.kotlin.script.examples.jvm.simple
import kotlin.script.experimental.annotations.KotlinScript import kotlin.script.experimental.annotations.KotlinScript
@KotlinScript(extension = "simplescript.kts") @KotlinScript(fileExtension = "simplescript.kts")
abstract class SimpleScript abstract class SimpleScript
@@ -3,11 +3,6 @@
* that can be found in the license/LICENSE.txt file. * that can be found in the license/LICENSE.txt file.
*/ */
/*
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
@file:Suppress("unused") @file:Suppress("unused")
package kotlin.script.experimental.annotations package kotlin.script.experimental.annotations
@@ -18,8 +13,8 @@ import kotlin.script.experimental.api.ScriptCompilationConfiguration
@Target(AnnotationTarget.CLASS) @Target(AnnotationTarget.CLASS)
@Retention(AnnotationRetention.RUNTIME) @Retention(AnnotationRetention.RUNTIME)
annotation class KotlinScript( annotation class KotlinScript(
val name: String = "Kotlin script", val displayName: String = "Kotlin script",
val extension: String = "kts", val fileExtension: String = "kts",
val compilationConfiguration: KClass<out ScriptCompilationConfiguration> = ScriptCompilationConfiguration.Default::class // object or class filled in 0-ary constructor val compilationConfiguration: KClass<out ScriptCompilationConfiguration> = ScriptCompilationConfiguration.Default::class
) )
@@ -28,7 +28,7 @@ class ScriptEvaluationConfiguration(baseEvaluationConfigurations: Iterable<Scrip
val ScriptEvaluationConfigurationKeys.implicitReceivers by PropertiesCollection.key<List<Any>>() val ScriptEvaluationConfigurationKeys.implicitReceivers by PropertiesCollection.key<List<Any>>()
val ScriptEvaluationConfigurationKeys.contextVariables by PropertiesCollection.key<Map<String, Any?>>() // external variables val ScriptEvaluationConfigurationKeys.providedProperties by PropertiesCollection.key<Map<String, Any?>>() // external variables
val ScriptEvaluationConfigurationKeys.constructorArgs by PropertiesCollection.key<List<Any?>>() val ScriptEvaluationConfigurationKeys.constructorArgs by PropertiesCollection.key<List<Any?>>()
@@ -61,10 +61,10 @@ fun createCompilationConfigurationFromTemplate(
baseClass(loadedBaseClassType) baseClass(loadedBaseClassType)
} }
if (fileExtension() == null) { if (fileExtension() == null) {
fileExtension(mainAnnotation.extension) fileExtension(mainAnnotation.fileExtension)
} }
if (displayName() == null) { if (displayName() == null) {
displayName(mainAnnotation.name) displayName(mainAnnotation.displayName)
} }
body() body()
@@ -35,7 +35,7 @@ open class BasicJvmScriptEvaluator : ScriptEvaluator {
// return res // return res
val scriptClass = res.value val scriptClass = res.value
val args = ArrayList<Any?>() val args = ArrayList<Any?>()
scriptEvaluationConfiguration?.get(ScriptEvaluationConfiguration.contextVariables)?.forEach { scriptEvaluationConfiguration?.get(ScriptEvaluationConfiguration.providedProperties)?.forEach {
args.add(it.value) args.add(it.value)
} }
scriptEvaluationConfiguration?.get(ScriptEvaluationConfiguration.implicitReceivers)?.let { scriptEvaluationConfiguration?.get(ScriptEvaluationConfiguration.implicitReceivers)?.let {
@@ -7,7 +7,7 @@ package org.jetbrains.kotlin.test
import kotlin.script.experimental.annotations.* import kotlin.script.experimental.annotations.*
@KotlinScript(extension = "greet.kts") @KotlinScript(fileExtension = "greet.kts")
abstract class GreetScriptTemplate { abstract class GreetScriptTemplate {
fun greet(subject: String) { fun greet(subject: String) {
println("Hello, $subject!") println("Hello, $subject!")
@@ -20,7 +20,7 @@ import kotlin.script.experimental.jvm.dependenciesFromCurrentContext
import kotlin.script.experimental.jvm.jvm import kotlin.script.experimental.jvm.jvm
@Suppress("unused") @Suppress("unused")
@KotlinScript(extension = "main.kts", compilationConfiguration = MainKtsScriptDefinition::class) @KotlinScript(fileExtension = "main.kts", compilationConfiguration = MainKtsScriptDefinition::class)
abstract class MainKtsScript(val args: Array<String>) abstract class MainKtsScript(val args: Array<String>)
object MainKtsScriptDefinition : ScriptCompilationConfiguration( object MainKtsScriptDefinition : ScriptCompilationConfiguration(
@@ -8,5 +8,5 @@ object TestScriptWithReceiversDefinition : ScriptCompilationConfiguration(
implicitReceivers(String::class) implicitReceivers(String::class)
}) })
@KotlinScript(extension = "1.kts", compilationConfiguration = TestScriptWithReceiversDefinition::class) @KotlinScript(fileExtension = "1.kts", compilationConfiguration = TestScriptWithReceiversDefinition::class)
abstract class TestScriptWithReceivers abstract class TestScriptWithReceivers
@@ -8,6 +8,6 @@ object TestScriptWithSimpleEnvVarsDefinition : ScriptCompilationConfiguration(
providedProperties("stringVar1" to String::class) providedProperties("stringVar1" to String::class)
}) })
@KotlinScript(extension = "2.kts", compilationConfiguration = TestScriptWithSimpleEnvVarsDefinition::class) @KotlinScript(fileExtension = "2.kts", compilationConfiguration = TestScriptWithSimpleEnvVarsDefinition::class)
abstract class TestScriptWithSimpleEnvVars abstract class TestScriptWithSimpleEnvVars