Rename heterogeneous map to PropertyBag, make it chainable

the commit is needed to implement single chained script configuration bags
This commit is contained in:
Ilya Chernikov
2018-03-27 16:56:23 +02:00
parent 15fcee474c
commit 495c75c48e
19 changed files with 59 additions and 77 deletions
@@ -19,7 +19,7 @@ import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
ScriptingEnvironment(ScriptingEnvironmentParams.baseClass to MyScriptWithMavenDeps::class)
ChainedPropertyBag(ScriptingEnvironmentProperties.baseClass to MyScriptWithMavenDeps::class)
)
val host = JvmBasicScriptingHost(
@@ -27,7 +27,7 @@ abstract class MyScriptWithMavenDeps {
}
inline fun myJvmConfig(
from: HeterogeneousMap = HeterogeneousMap(),
from: ChainedPropertyBag = ChainedPropertyBag(),
crossinline body: JvmScriptCompileConfigurationParams.Builder.() -> Unit = {}
) = jvmConfigWithJavaHome(from) {
signature<MyScriptWithMavenDeps>()
@@ -42,12 +42,12 @@ inline fun myJvmConfig(
body()
}
class MyConfigurator(val environment: ScriptingEnvironment) : ScriptCompilationConfigurator {
class MyConfigurator(val environment: ChainedPropertyBag) : ScriptCompilationConfigurator {
private val resolver = FilesAndMavenResolver()
override val defaultConfiguration = myJvmConfig {
add(ScriptCompileConfigurationParams.baseClass to environment[ScriptingEnvironmentParams.baseClass])
add(ScriptCompileConfigurationParams.baseClass to environment[ScriptingEnvironmentProperties.baseClass])
}
override suspend fun baseConfiguration(scriptSource: ScriptSource): ResultWithDiagnostics<ScriptCompileConfiguration> =
@@ -15,7 +15,7 @@ import kotlin.script.experimental.jvm.*
import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
inline fun myJvmConfig(
from: HeterogeneousMap = HeterogeneousMap(),
from: ChainedPropertyBag = ChainedPropertyBag(),
crossinline body: JvmScriptCompileConfigurationParams.Builder.() -> Unit = {}
) = jvmConfigWithJavaHome(from) {
signature<MyScript>()
@@ -26,7 +26,7 @@ inline fun myJvmConfig(
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
val scriptDefinition = ScriptDefinitionFromAnnotatedBaseClass(
ScriptingEnvironment(ScriptingEnvironmentParams.baseClass to MyScript::class)
ChainedPropertyBag(ScriptingEnvironmentProperties.baseClass to MyScript::class)
)
val host = JvmBasicScriptingHost(