[minor] Renames and rearrangements for clarity
This commit is contained in:
+2
-2
@@ -40,7 +40,7 @@ import kotlin.concurrent.read
|
|||||||
import kotlin.concurrent.write
|
import kotlin.concurrent.write
|
||||||
import kotlin.script.dependencies.Environment
|
import kotlin.script.dependencies.Environment
|
||||||
import kotlin.script.dependencies.ScriptContents
|
import kotlin.script.dependencies.ScriptContents
|
||||||
import kotlin.script.experimental.api.ChainedPropertyBag
|
import kotlin.script.experimental.api.ScriptingEnvironment
|
||||||
import kotlin.script.experimental.api.ScriptingEnvironmentProperties
|
import kotlin.script.experimental.api.ScriptingEnvironmentProperties
|
||||||
import kotlin.script.experimental.definitions.ScriptDefinitionFromAnnotatedBaseClass
|
import kotlin.script.experimental.definitions.ScriptDefinitionFromAnnotatedBaseClass
|
||||||
import kotlin.script.experimental.dependencies.DependenciesResolver
|
import kotlin.script.experimental.dependencies.DependenciesResolver
|
||||||
@@ -165,7 +165,7 @@ fun loadDefinitionsFromTemplates(
|
|||||||
}
|
}
|
||||||
template.annotations.firstIsInstanceOrNull<kotlin.script.experimental.annotations.KotlinScript>() != null -> {
|
template.annotations.firstIsInstanceOrNull<kotlin.script.experimental.annotations.KotlinScript>() != null -> {
|
||||||
KotlinScriptDefinitionAdapterFromNewAPI(
|
KotlinScriptDefinitionAdapterFromNewAPI(
|
||||||
ScriptDefinitionFromAnnotatedBaseClass(ChainedPropertyBag(ScriptingEnvironmentProperties.baseClass to template))
|
ScriptDefinitionFromAnnotatedBaseClass(ScriptingEnvironment(ScriptingEnvironmentProperties.baseClass to template))
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
else -> {
|
else -> {
|
||||||
|
|||||||
+2
-2
@@ -19,7 +19,7 @@ import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
|
|||||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
||||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
||||||
ChainedPropertyBag(ScriptingEnvironmentProperties.baseClass to MyScriptWithMavenDeps::class)
|
ScriptingEnvironment(ScriptingEnvironmentProperties.baseClass to MyScriptWithMavenDeps::class)
|
||||||
)
|
)
|
||||||
|
|
||||||
val host = JvmBasicScriptingHost(
|
val host = JvmBasicScriptingHost(
|
||||||
@@ -28,7 +28,7 @@ fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
|||||||
scriptDefinition.evaluator
|
scriptDefinition.evaluator
|
||||||
)
|
)
|
||||||
|
|
||||||
return host.eval(scriptFile.toScriptSource(), ChainedPropertyBag(null, myJvmConfigParams), ScriptEvaluationEnvironment())
|
return host.eval(scriptFile.toScriptSource(), ScriptCompileConfiguration(myJvmConfigParams), ScriptEvaluationEnvironment())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun main(vararg args: String) {
|
fun main(vararg args: String) {
|
||||||
|
|||||||
+4
-4
@@ -43,11 +43,11 @@ val myJvmConfigParams = jvmJavaHomeParams + with(ScriptCompileConfigurationPrope
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
class MyConfigurator(val environment: ChainedPropertyBag) : ScriptCompilationConfigurator {
|
class MyConfigurator(val environment: ScriptingEnvironment) : ScriptCompilationConfigurator {
|
||||||
|
|
||||||
private val resolver = FilesAndMavenResolver()
|
private val resolver = FilesAndMavenResolver()
|
||||||
|
|
||||||
override val defaultConfiguration = ChainedPropertyBag(environment, myJvmConfigParams)
|
override val defaultConfiguration = ScriptCompileConfiguration(environment, myJvmConfigParams)
|
||||||
|
|
||||||
override suspend fun baseConfiguration(scriptSource: ScriptSource): ResultWithDiagnostics<ScriptCompileConfiguration> =
|
override suspend fun baseConfiguration(scriptSource: ScriptSource): ResultWithDiagnostics<ScriptCompileConfiguration> =
|
||||||
defaultConfiguration.asSuccess()
|
defaultConfiguration.asSuccess()
|
||||||
@@ -57,7 +57,7 @@ class MyConfigurator(val environment: ChainedPropertyBag) : ScriptCompilationCon
|
|||||||
configuration: ScriptCompileConfiguration,
|
configuration: ScriptCompileConfiguration,
|
||||||
processedScriptData: ProcessedScriptData
|
processedScriptData: ProcessedScriptData
|
||||||
): ResultWithDiagnostics<ScriptCompileConfiguration> {
|
): ResultWithDiagnostics<ScriptCompileConfiguration> {
|
||||||
val annotations = processedScriptData.getOrNull(ProcessedScriptDataProperties.foundAnnotations)?.toList()?.takeIf { it.isNotEmpty() }
|
val annotations = processedScriptData.getOrNull(ProcessedScriptDataProperties.foundAnnotations)?.takeIf { it.isNotEmpty() }
|
||||||
?: return configuration.asSuccess()
|
?: return configuration.asSuccess()
|
||||||
val scriptContents = object : ScriptContents {
|
val scriptContents = object : ScriptContents {
|
||||||
override val annotations: Iterable<Annotation> = annotations
|
override val annotations: Iterable<Annotation> = annotations
|
||||||
@@ -76,7 +76,7 @@ class MyConfigurator(val environment: ChainedPropertyBag) : ScriptCompilationCon
|
|||||||
val newDependency = JvmDependency(resolvedClasspath)
|
val newDependency = JvmDependency(resolvedClasspath)
|
||||||
val updatedDeps =
|
val updatedDeps =
|
||||||
configuration.getOrNull(ScriptCompileConfigurationProperties.dependencies)?.plus(newDependency) ?: listOf(newDependency)
|
configuration.getOrNull(ScriptCompileConfigurationProperties.dependencies)?.plus(newDependency) ?: listOf(newDependency)
|
||||||
ChainedPropertyBag(configuration, ScriptCompileConfigurationProperties.dependencies(updatedDeps)).asSuccess(diagnostics)
|
ScriptCompileConfiguration(configuration, ScriptCompileConfigurationProperties.dependencies(updatedDeps)).asSuccess(diagnostics)
|
||||||
} catch (e: Throwable) {
|
} catch (e: Throwable) {
|
||||||
ResultWithDiagnostics.Failure(*diagnostics.toTypedArray(), e.asDiagnostics())
|
ResultWithDiagnostics.Failure(*diagnostics.toTypedArray(), e.asDiagnostics())
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-2
@@ -25,7 +25,7 @@ val myJvmConfigParams = jvmJavaHomeParams + with(ScriptCompileConfigurationPrope
|
|||||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||||
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
|
||||||
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
|
||||||
ChainedPropertyBag(ScriptingEnvironmentProperties.baseClass to MyScript::class)
|
ScriptingEnvironment(ScriptingEnvironmentProperties.baseClass to MyScript::class)
|
||||||
)
|
)
|
||||||
|
|
||||||
val host = JvmBasicScriptingHost(
|
val host = JvmBasicScriptingHost(
|
||||||
@@ -34,7 +34,7 @@ fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
|||||||
scriptDefinition.evaluator
|
scriptDefinition.evaluator
|
||||||
)
|
)
|
||||||
|
|
||||||
return host.eval(scriptFile.toScriptSource(), ChainedPropertyBag(null, myJvmConfigParams), ScriptEvaluationEnvironment())
|
return host.eval(scriptFile.toScriptSource(), ScriptCompileConfiguration(myJvmConfigParams), ScriptEvaluationEnvironment())
|
||||||
}
|
}
|
||||||
|
|
||||||
fun main(vararg args: String) {
|
fun main(vararg args: String) {
|
||||||
|
|||||||
+2
@@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
package kotlin.script.experimental.api
|
package kotlin.script.experimental.api
|
||||||
|
|
||||||
|
import kotlin.script.experimental.util.typedKey
|
||||||
|
|
||||||
object ProcessedScriptDataProperties {
|
object ProcessedScriptDataProperties {
|
||||||
val foundAnnotations by typedKey<List<Annotation>>()
|
val foundAnnotations by typedKey<List<Annotation>>()
|
||||||
|
|
||||||
|
|||||||
+3
-1
@@ -7,6 +7,8 @@
|
|||||||
|
|
||||||
package kotlin.script.experimental.api
|
package kotlin.script.experimental.api
|
||||||
|
|
||||||
|
import kotlin.script.experimental.util.ChainedPropertyBag
|
||||||
|
|
||||||
|
|
||||||
typealias ScriptCompileConfiguration = ChainedPropertyBag
|
typealias ScriptCompileConfiguration = ChainedPropertyBag
|
||||||
|
|
||||||
@@ -15,7 +17,7 @@ typealias ProcessedScriptData = ChainedPropertyBag
|
|||||||
|
|
||||||
interface ScriptCompilationConfigurator {
|
interface ScriptCompilationConfigurator {
|
||||||
|
|
||||||
// constructor(environment: ChainedPropertyBag) // the constructor is expected from implementations
|
// constructor(environment: ScriptingEnvironment) // the constructor is expected from implementations
|
||||||
|
|
||||||
val defaultConfiguration: ScriptCompileConfiguration
|
val defaultConfiguration: ScriptCompileConfiguration
|
||||||
|
|
||||||
|
|||||||
+1
@@ -9,6 +9,7 @@ package kotlin.script.experimental.api
|
|||||||
|
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
import kotlin.reflect.KType
|
import kotlin.reflect.KType
|
||||||
|
import kotlin.script.experimental.util.typedKey
|
||||||
|
|
||||||
object ScriptCompileConfigurationProperties {
|
object ScriptCompileConfigurationProperties {
|
||||||
|
|
||||||
|
|||||||
@@ -7,15 +7,25 @@
|
|||||||
|
|
||||||
package kotlin.script.experimental.api
|
package kotlin.script.experimental.api
|
||||||
|
|
||||||
|
import kotlin.script.experimental.util.ChainedPropertyBag
|
||||||
|
import kotlin.script.experimental.util.typedKey
|
||||||
|
|
||||||
|
typealias ScriptDefinitionPropertiesBag = ChainedPropertyBag
|
||||||
|
|
||||||
interface ScriptDefinition {
|
interface ScriptDefinition {
|
||||||
|
|
||||||
// constructor(environment: ChainedPropertyBag) // the constructor is expected from implementations
|
// constructor(environment: ScriptingEnvironment) // the constructor is expected from implementations
|
||||||
|
|
||||||
val properties: ChainedPropertyBag
|
val properties: ScriptDefinitionPropertiesBag
|
||||||
|
|
||||||
val compilationConfigurator: ScriptCompilationConfigurator
|
val compilationConfigurator: ScriptCompilationConfigurator
|
||||||
|
|
||||||
val evaluator: ScriptEvaluator<*>?
|
val evaluator: ScriptEvaluator<*>?
|
||||||
}
|
}
|
||||||
|
|
||||||
|
object ScriptDefinitionProperties {
|
||||||
|
|
||||||
|
val name by typedKey<String>() // Name of the script type, by default "Kotlin script"
|
||||||
|
|
||||||
|
val fileExtension by typedKey<String>() // default: "kts"
|
||||||
|
}
|
||||||
-16
@@ -1,16 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright 2010-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")
|
|
||||||
|
|
||||||
package kotlin.script.experimental.api
|
|
||||||
|
|
||||||
object ScriptDefinitionProperties {
|
|
||||||
|
|
||||||
val name by typedKey<String>() // Name of the script type, by default "Kotlin script"
|
|
||||||
|
|
||||||
val fileExtension by typedKey<String>() // default: "kts"
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -7,6 +7,9 @@
|
|||||||
|
|
||||||
package kotlin.script.experimental.api
|
package kotlin.script.experimental.api
|
||||||
|
|
||||||
|
import kotlin.script.experimental.util.ChainedPropertyBag
|
||||||
|
import kotlin.script.experimental.util.typedKey
|
||||||
|
|
||||||
object ScriptEvaluationEnvironmentParams {
|
object ScriptEvaluationEnvironmentParams {
|
||||||
val implicitReceivers by typedKey<List<Any>>()
|
val implicitReceivers by typedKey<List<Any>>()
|
||||||
|
|
||||||
@@ -24,7 +27,7 @@ data class EvaluationResult(val returnValue: Any?, val environment: ScriptEvalua
|
|||||||
// NOTE: name inconsistency: run vs evaluate
|
// NOTE: name inconsistency: run vs evaluate
|
||||||
interface ScriptEvaluator<in ScriptBase : Any> {
|
interface ScriptEvaluator<in ScriptBase : Any> {
|
||||||
|
|
||||||
// constructor(environment: ChainedPropertyBag) // the constructor is expected from implementations
|
// constructor(environment: ScriptingEnvironment) // the constructor is expected from implementations
|
||||||
|
|
||||||
suspend fun eval(
|
suspend fun eval(
|
||||||
compiledScript: CompiledScript<ScriptBase>,
|
compiledScript: CompiledScript<ScriptBase>,
|
||||||
|
|||||||
@@ -6,6 +6,10 @@
|
|||||||
package kotlin.script.experimental.api
|
package kotlin.script.experimental.api
|
||||||
|
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
|
import kotlin.script.experimental.util.ChainedPropertyBag
|
||||||
|
import kotlin.script.experimental.util.typedKey
|
||||||
|
|
||||||
|
typealias ScriptingEnvironment = ChainedPropertyBag
|
||||||
|
|
||||||
object ScriptingEnvironmentProperties {
|
object ScriptingEnvironmentProperties {
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ package kotlin.script.experimental.basic
|
|||||||
import kotlin.script.experimental.api.*
|
import kotlin.script.experimental.api.*
|
||||||
|
|
||||||
|
|
||||||
class PassThroughCompilationConfigurator(val environment: ChainedPropertyBag) : ScriptCompilationConfigurator {
|
class PassThroughCompilationConfigurator(val environment: ScriptingEnvironment) : ScriptCompilationConfigurator {
|
||||||
|
|
||||||
override val defaultConfiguration = ScriptCompileConfiguration(environment)
|
override val defaultConfiguration = ScriptCompileConfiguration(environment)
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ class PassThroughCompilationConfigurator(val environment: ChainedPropertyBag) :
|
|||||||
configuration.asSuccess()
|
configuration.asSuccess()
|
||||||
}
|
}
|
||||||
|
|
||||||
class DummyEvaluator<ScriptBase : Any>(val environment: ChainedPropertyBag) : ScriptEvaluator<ScriptBase> {
|
class DummyEvaluator<ScriptBase : Any>(val environment: ScriptingEnvironment) : ScriptEvaluator<ScriptBase> {
|
||||||
override suspend fun eval(
|
override suspend fun eval(
|
||||||
compiledScript: CompiledScript<ScriptBase>,
|
compiledScript: CompiledScript<ScriptBase>,
|
||||||
scriptEvaluationEnvironment: ScriptEvaluationEnvironment
|
scriptEvaluationEnvironment: ScriptEvaluationEnvironment
|
||||||
|
|||||||
+4
-3
@@ -15,10 +15,11 @@ import kotlin.script.experimental.annotations.KotlinScriptFileExtension
|
|||||||
import kotlin.script.experimental.api.*
|
import kotlin.script.experimental.api.*
|
||||||
import kotlin.script.experimental.basic.DummyEvaluator
|
import kotlin.script.experimental.basic.DummyEvaluator
|
||||||
import kotlin.script.experimental.basic.PassThroughCompilationConfigurator
|
import kotlin.script.experimental.basic.PassThroughCompilationConfigurator
|
||||||
|
import kotlin.script.experimental.util.TypedKey
|
||||||
|
|
||||||
private const val ERROR_MSG_PREFIX = "Unable to construct script definition: "
|
private const val ERROR_MSG_PREFIX = "Unable to construct script definition: "
|
||||||
|
|
||||||
open class ScriptDefinitionFromAnnotatedBaseClass(val environment: ChainedPropertyBag) : ScriptDefinition {
|
open class ScriptDefinitionFromAnnotatedBaseClass(val environment: ScriptingEnvironment) : ScriptDefinition {
|
||||||
|
|
||||||
private val baseClass: KClass<*> = environment.getOrNull(ScriptingEnvironmentProperties.baseClass)
|
private val baseClass: KClass<*> = environment.getOrNull(ScriptingEnvironmentProperties.baseClass)
|
||||||
?: throw IllegalArgumentException("${ERROR_MSG_PREFIX}Expecting baseClass parameter in the scripting environment")
|
?: throw IllegalArgumentException("${ERROR_MSG_PREFIX}Expecting baseClass parameter in the scripting environment")
|
||||||
@@ -29,13 +30,13 @@ open class ScriptDefinitionFromAnnotatedBaseClass(val environment: ChainedProper
|
|||||||
private val explicitDefinition: ScriptDefinition? =
|
private val explicitDefinition: ScriptDefinition? =
|
||||||
mainAnnotation.definition.takeIf { it != this::class }?.let { it.instantiateScriptHandler() }
|
mainAnnotation.definition.takeIf { it != this::class }?.let { it.instantiateScriptHandler() }
|
||||||
|
|
||||||
override val properties = (explicitDefinition?.properties ?: ChainedPropertyBag()).also { properties ->
|
override val properties = (explicitDefinition?.properties ?: ScriptingEnvironment()).also { properties ->
|
||||||
val toAdd = arrayListOf<Pair<TypedKey<*>, Any>>()
|
val toAdd = arrayListOf<Pair<TypedKey<*>, Any>>()
|
||||||
baseClass.findAnnotation<KotlinScriptFileExtension>()?.let { toAdd += ScriptDefinitionProperties.fileExtension to it }
|
baseClass.findAnnotation<KotlinScriptFileExtension>()?.let { toAdd += ScriptDefinitionProperties.fileExtension to it }
|
||||||
if (properties.getOrNull(ScriptDefinitionProperties.name) == null) {
|
if (properties.getOrNull(ScriptDefinitionProperties.name) == null) {
|
||||||
toAdd += ScriptDefinitionProperties.name to baseClass.simpleName!!
|
toAdd += ScriptDefinitionProperties.name to baseClass.simpleName!!
|
||||||
}
|
}
|
||||||
ChainedPropertyBag(properties, toAdd)
|
ScriptingEnvironment(properties, toAdd)
|
||||||
}
|
}
|
||||||
|
|
||||||
override val compilationConfigurator =
|
override val compilationConfigurator =
|
||||||
+2
-2
@@ -31,11 +31,11 @@ abstract class BasicScriptingHost<ScriptBase : Any>(
|
|||||||
|
|
||||||
open fun eval(
|
open fun eval(
|
||||||
script: ScriptSource,
|
script: ScriptSource,
|
||||||
configuration: ScriptCompileConfiguration,
|
compileConfiguration: ScriptCompileConfiguration,
|
||||||
environment: ScriptEvaluationEnvironment
|
environment: ScriptEvaluationEnvironment
|
||||||
): ResultWithDiagnostics<EvaluationResult> =
|
): ResultWithDiagnostics<EvaluationResult> =
|
||||||
runInCoroutineContext {
|
runInCoroutineContext {
|
||||||
val compiled = compiler.compile(script, configuration, configurator)
|
val compiled = compiler.compile(script, compileConfiguration, configurator)
|
||||||
when (compiled) {
|
when (compiled) {
|
||||||
is ResultWithDiagnostics.Failure -> compiled
|
is ResultWithDiagnostics.Failure -> compiled
|
||||||
is ResultWithDiagnostics.Success -> {
|
is ResultWithDiagnostics.Success -> {
|
||||||
|
|||||||
+5
-2
@@ -1,9 +1,11 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
|
* Copyright 2010-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.
|
* that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package kotlin.script.experimental.api
|
@file:Suppress("unused")
|
||||||
|
|
||||||
|
package kotlin.script.experimental.util
|
||||||
|
|
||||||
import kotlin.reflect.KProperty
|
import kotlin.reflect.KProperty
|
||||||
|
|
||||||
@@ -16,6 +18,7 @@ class TypedKeyDelegate<T> {
|
|||||||
fun <T> typedKey() = TypedKeyDelegate<T>()
|
fun <T> typedKey() = TypedKeyDelegate<T>()
|
||||||
|
|
||||||
class ChainedPropertyBag(private val parent: ChainedPropertyBag? = null, pairs: Iterable<Pair<TypedKey<*>, Any?>>) {
|
class ChainedPropertyBag(private val parent: ChainedPropertyBag? = null, pairs: Iterable<Pair<TypedKey<*>, Any?>>) {
|
||||||
|
constructor(pairs: Iterable<Pair<TypedKey<*>, Any?>>) : this(null, pairs)
|
||||||
constructor(parent: ChainedPropertyBag, vararg pairs: Pair<TypedKey<*>, Any?>) : this(parent, pairs.asIterable())
|
constructor(parent: ChainedPropertyBag, vararg pairs: Pair<TypedKey<*>, Any?>) : this(parent, pairs.asIterable())
|
||||||
constructor(vararg pairs: Pair<TypedKey<*>, Any?>) : this(null, pairs.asIterable())
|
constructor(vararg pairs: Pair<TypedKey<*>, Any?>) : this(null, pairs.asIterable())
|
||||||
|
|
||||||
+1
-1
@@ -90,7 +90,7 @@ class KJVMCompilerImpl : KJVMCompilerProxy {
|
|||||||
val updatedDeps = updatedScriptCompileConfiguration.getOrNull(ScriptCompileConfigurationProperties.dependencies)?.plus(
|
val updatedDeps = updatedScriptCompileConfiguration.getOrNull(ScriptCompileConfigurationProperties.dependencies)?.plus(
|
||||||
JvmDependency(classpath)
|
JvmDependency(classpath)
|
||||||
) ?: listOf(JvmDependency(classpath))
|
) ?: listOf(JvmDependency(classpath))
|
||||||
updatedScriptCompileConfiguration = ChainedPropertyBag(
|
updatedScriptCompileConfiguration = ScriptCompileConfiguration(
|
||||||
updatedScriptCompileConfiguration,
|
updatedScriptCompileConfiguration,
|
||||||
ScriptCompileConfigurationProperties.dependencies to updatedDeps
|
ScriptCompileConfigurationProperties.dependencies to updatedDeps
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -3,11 +3,13 @@
|
|||||||
* that can be found in the license/LICENSE.txt file.
|
* that can be found in the license/LICENSE.txt file.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@file:Suppress("unused")
|
||||||
|
|
||||||
package kotlin.script.experimental.jvm
|
package kotlin.script.experimental.jvm
|
||||||
|
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import kotlin.script.experimental.api.ScriptDependency
|
import kotlin.script.experimental.api.ScriptDependency
|
||||||
import kotlin.script.experimental.api.typedKey
|
import kotlin.script.experimental.util.typedKey
|
||||||
|
|
||||||
object JvmScriptCompileConfigurationProperties {
|
object JvmScriptCompileConfigurationProperties {
|
||||||
val javaHomeDir by typedKey<File>()
|
val javaHomeDir by typedKey<File>()
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ package kotlin.script.experimental.jvm
|
|||||||
|
|
||||||
import kotlin.script.experimental.api.ScriptCompilationConfigurator
|
import kotlin.script.experimental.api.ScriptCompilationConfigurator
|
||||||
import kotlin.script.experimental.api.ScriptEvaluator
|
import kotlin.script.experimental.api.ScriptEvaluator
|
||||||
import kotlin.script.experimental.api.typedKey
|
|
||||||
import kotlin.script.experimental.host.BasicScriptingHost
|
import kotlin.script.experimental.host.BasicScriptingHost
|
||||||
|
import kotlin.script.experimental.util.typedKey
|
||||||
|
|
||||||
open class JvmBasicScriptingHost<ScriptBase : Any>(
|
open class JvmBasicScriptingHost<ScriptBase : Any>(
|
||||||
configurationExtractor: ScriptCompilationConfigurator,
|
configurationExtractor: ScriptCompilationConfigurator,
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@ package kotlin.script.experimental.jvm.runners
|
|||||||
|
|
||||||
import kotlin.script.experimental.api.*
|
import kotlin.script.experimental.api.*
|
||||||
|
|
||||||
open class BasicJvmScriptEvaluator<ScriptBase : Any>(val environment: ChainedPropertyBag) : ScriptEvaluator<ScriptBase> {
|
open class BasicJvmScriptEvaluator<ScriptBase : Any>(val environment: ScriptingEnvironment) : ScriptEvaluator<ScriptBase> {
|
||||||
|
|
||||||
override suspend fun eval(
|
override suspend fun eval(
|
||||||
compiledScript: CompiledScript<ScriptBase>,
|
compiledScript: CompiledScript<ScriptBase>,
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
package kotlin.script.experimental.misc
|
package kotlin.script.experimental.misc
|
||||||
|
|
||||||
import kotlin.reflect.KClass
|
import kotlin.reflect.KClass
|
||||||
import kotlin.script.experimental.api.TypedKey
|
import kotlin.script.experimental.util.TypedKey
|
||||||
|
|
||||||
|
|
||||||
inline operator fun <reified T> TypedKey<T>.invoke(v: T): Pair<TypedKey<T>, T> = this to v
|
inline operator fun <reified T> TypedKey<T>.invoke(v: T): Pair<TypedKey<T>, T> = this to v
|
||||||
@@ -15,9 +15,6 @@ inline operator fun <reified K> TypedKey<KClass<*>>.invoke(): Pair<TypedKey<KCla
|
|||||||
|
|
||||||
inline operator fun <reified E> TypedKey<List<E>>.invoke(vararg vs: E): Pair<TypedKey<List<E>>, List<E>> = this to vs.toList()
|
inline operator fun <reified E> TypedKey<List<E>>.invoke(vararg vs: E): Pair<TypedKey<List<E>>, List<E>> = this to vs.toList()
|
||||||
|
|
||||||
@JvmName("invokeIterable")
|
|
||||||
inline operator fun <reified E> TypedKey<Iterable<E>>.invoke(vararg vs: E): Pair<TypedKey<Iterable<E>>, Iterable<E>> = this to vs.toList()
|
|
||||||
|
|
||||||
inline operator fun <reified K, reified V> TypedKey<Map<K, V>>.invoke(vararg vs: Pair<K, V>): Pair<TypedKey<Map<K, V>>, Map<K, V>> =
|
inline operator fun <reified K, reified V> TypedKey<Map<K, V>>.invoke(vararg vs: Pair<K, V>): Pair<TypedKey<Map<K, V>>, Map<K, V>> =
|
||||||
this to hashMapOf(*vs)
|
this to hashMapOf(*vs)
|
||||||
|
|
||||||
|
|||||||
+2
-2
@@ -20,7 +20,7 @@ import java.io.File
|
|||||||
import java.io.IOException
|
import java.io.IOException
|
||||||
import java.net.URLClassLoader
|
import java.net.URLClassLoader
|
||||||
import java.util.jar.JarFile
|
import java.util.jar.JarFile
|
||||||
import kotlin.script.experimental.api.ChainedPropertyBag
|
import kotlin.script.experimental.api.ScriptingEnvironment
|
||||||
import kotlin.script.experimental.api.ScriptingEnvironmentProperties
|
import kotlin.script.experimental.api.ScriptingEnvironmentProperties
|
||||||
import kotlin.script.experimental.definitions.ScriptDefinitionFromAnnotatedBaseClass
|
import kotlin.script.experimental.definitions.ScriptDefinitionFromAnnotatedBaseClass
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ fun configureScriptDefinitions(
|
|||||||
val def =
|
val def =
|
||||||
if (cls.annotations.firstIsInstanceOrNull<kotlin.script.experimental.annotations.KotlinScript>() != null) {
|
if (cls.annotations.firstIsInstanceOrNull<kotlin.script.experimental.annotations.KotlinScript>() != null) {
|
||||||
KotlinScriptDefinitionAdapterFromNewAPI(
|
KotlinScriptDefinitionAdapterFromNewAPI(
|
||||||
ScriptDefinitionFromAnnotatedBaseClass(ChainedPropertyBag(ScriptingEnvironmentProperties.baseClass to cls.kotlin))
|
ScriptDefinitionFromAnnotatedBaseClass(ScriptingEnvironment(ScriptingEnvironmentProperties.baseClass to cls.kotlin))
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
KotlinScriptDefinitionFromAnnotatedTemplate(cls.kotlin, scriptResolverEnv)
|
KotlinScriptDefinitionFromAnnotatedTemplate(cls.kotlin, scriptResolverEnv)
|
||||||
|
|||||||
Reference in New Issue
Block a user