Implement simplified property bag dsl:
move it to the separate jar, use property bag chaining
This commit is contained in:
@@ -1 +1 @@
|
||||
import org.jetbrains.kotlin.gradle.dsl.Coroutines
|
||||
import org.jetbrains.kotlin.gradle.dsl.Coroutines
|
||||
+7
-8
@@ -13,14 +13,13 @@ import kotlin.script.experimental.definitions.ScriptDefinitionFromAnnotatedBaseC
|
||||
import kotlin.script.experimental.host.toScriptSource
|
||||
import kotlin.script.experimental.jvm.*
|
||||
import kotlin.script.experimental.jvmhost.impl.KJVMCompilerImpl
|
||||
import kotlin.script.experimental.misc.*
|
||||
|
||||
inline fun myJvmConfig(
|
||||
from: ChainedPropertyBag = ChainedPropertyBag(),
|
||||
crossinline body: JvmScriptCompileConfigurationParams.Builder.() -> Unit = {}
|
||||
) = jvmConfigWithJavaHome(from) {
|
||||
signature<MyScript>()
|
||||
dependencies(scriptCompilationClasspathFromContext("script" /* script library jar name */))
|
||||
body()
|
||||
val myJvmConfigParams = jvmJavaHomeParams + with(ScriptCompileConfigurationParams) {
|
||||
listOf(
|
||||
scriptSignature to ScriptSignature(MyScript::class, ProvidedDeclarations()),
|
||||
dependencies(JvmDependency(scriptCompilationClasspathFromContext("script" /* script library jar name */)))
|
||||
)
|
||||
}
|
||||
|
||||
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
@@ -35,7 +34,7 @@ fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
|
||||
scriptDefinition.evaluator
|
||||
)
|
||||
|
||||
return host.eval(scriptFile.toScriptSource(), myJvmConfig(), ScriptEvaluationEnvironment())
|
||||
return host.eval(scriptFile.toScriptSource(), ChainedPropertyBag(null, myJvmConfigParams), ScriptEvaluationEnvironment())
|
||||
}
|
||||
|
||||
fun main(vararg args: String) {
|
||||
|
||||
Reference in New Issue
Block a user