Change samples after adding configuration dsl

This commit is contained in:
Ilya Chernikov
2018-03-02 19:06:11 +01:00
parent 0f0934aaa2
commit 1cb9592fcc
2 changed files with 25 additions and 24 deletions
@@ -36,8 +36,8 @@ class MyConfigurator(val baseClass: KClass<Any>? = null) : ScriptConfigurator {
private val resolver = FilesAndMavenResolver() private val resolver = FilesAndMavenResolver()
override suspend fun baseConfiguration(scriptSource: ScriptSource?) : ResultWithDiagnostics<ScriptCompileConfiguration> = override suspend fun baseConfiguration(scriptSource: ScriptSource?): ResultWithDiagnostics<ScriptCompileConfiguration> =
myJvmConfig(scriptSource.toConfigEntry()).asSuccess() myJvmConfig { add(scriptSource.toConfigEntry()) }.asSuccess()
override suspend fun refineConfiguration( override suspend fun refineConfiguration(
configuration: ScriptCompileConfiguration, configuration: ScriptCompileConfiguration,
@@ -69,18 +69,20 @@ class MyConfigurator(val baseClass: KClass<Any>? = null) : ScriptConfigurator {
} }
} }
fun myJvmConfig(vararg params: Pair<TypedKey<*>, Any?>): ScriptCompileConfiguration = inline fun myJvmConfig(
jvmConfigWithJavaHome( from: HeterogeneousMap = HeterogeneousMap(),
ScriptCompileConfigurationParams.scriptSignature to ScriptSignature(MyScriptWithMavenDeps::class, ProvidedDeclarations()), crossinline body: JvmScriptCompileConfigurationParams.Builder.() -> Unit = {}
ScriptCompileConfigurationParams.importedPackages to listOf(DependsOn::class.qualifiedName!!, Repository::class.qualifiedName!!), ) = jvmConfigWithJavaHome(from) {
ScriptCompileConfigurationParams.dependencies to listOf( signature<MyScriptWithMavenDeps>()
JvmDependency(listOf(stdlibFile)), ScriptCompileConfigurationParams.importedPackages(listOf(DependsOn::class.qualifiedName!!, Repository::class.qualifiedName!!))
JvmDependency(listOf(selfFile)), dependencies(
JvmDependency(listOf(scriptUtilsJarFile)) listOf(stdlibFile),
), listOf(selfFile),
ScriptCompileConfigurationParams.updateConfigurationOnAnnotations to listOf(DependsOn::class, Repository::class), listOf(scriptUtilsJarFile)
*params
) )
ScriptCompileConfigurationParams.updateConfigurationOnAnnotations(listOf(DependsOn::class, Repository::class))
body()
}
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> { fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache()) val scriptCompiler = JvmScriptCompiler(KJVMCompilerImpl(), DummyCompiledJvmScriptCache())
@@ -92,7 +94,7 @@ fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
scriptDefinition.runner scriptDefinition.runner
) )
return host.eval(myJvmConfig(scriptFile.toScriptSource().toConfigEntry()), ScriptEvaluationEnvironment()) return host.eval(myJvmConfig { add(scriptFile.toScriptSource().toConfigEntry()) }, ScriptEvaluationEnvironment())
} }
fun main(vararg args: String) { fun main(vararg args: String) {
@@ -24,15 +24,14 @@ val selfFile: File by lazy {
?: throw Exception("Unable to get path to the script base") ?: throw Exception("Unable to get path to the script base")
} }
fun myJvmConfig(vararg params: Pair<TypedKey<*>, Any?>): ScriptCompileConfiguration = inline fun myJvmConfig(
jvmConfigWithJavaHome( from: HeterogeneousMap = HeterogeneousMap(),
ScriptCompileConfigurationParams.scriptSignature to ScriptSignature(MyScript::class, ProvidedDeclarations.Empty), crossinline body: JvmScriptCompileConfigurationParams.Builder.() -> Unit = {}
ScriptCompileConfigurationParams.dependencies to listOf( ) = jvmConfigWithJavaHome(from) {
JvmDependency(listOf(stdlibFile)), signature<MyScript>()
JvmDependency(listOf(selfFile)) dependencies(listOf(stdlibFile), listOf(selfFile))
), body()
*params }
)
fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> { fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
@@ -45,7 +44,7 @@ fun evalFile(scriptFile: File): ResultWithDiagnostics<EvaluationResult> {
scriptDefinition.runner scriptDefinition.runner
) )
return host.eval(myJvmConfig(scriptFile.toScriptSource().toConfigEntry()), ScriptEvaluationEnvironment()) return host.eval(myJvmConfig { add(scriptFile.toScriptSource().toConfigEntry()) }, ScriptEvaluationEnvironment())
} }
fun main(vararg args: String) { fun main(vararg args: String) {