Add shorter aliases for properties

This commit is contained in:
Ilya Chernikov
2018-07-17 16:06:20 +02:00
parent df870b47b8
commit dafbd59707
5 changed files with 9 additions and 1 deletions
@@ -28,7 +28,7 @@ abstract class MyScriptWithMavenDeps {
object MyConfiguration : ScriptingProperties() { object MyConfiguration : ScriptingProperties() {
init { init {
include(jvmJavaHomeScriptingProperties) include(jvmJavaHomeScriptingProperties)
ScriptDefinitionProperties { scriptDefinition {
defaultImports<DependsOn>() defaultImports<DependsOn>()
defaultImports(Repository::class) defaultImports(Repository::class)
jvmDependenciesFromCurrentContext( jvmDependenciesFromCurrentContext(
@@ -17,6 +17,8 @@ object ScriptCompileConfigurationProperties : PropertiesGroup {
val sourceFragments by typedKey<List<ScriptSourceNamedFragment>>() val sourceFragments by typedKey<List<ScriptSourceNamedFragment>>()
} }
val ScriptingProperties.compilationConfiguration get() = ScriptCompileConfigurationProperties
typealias ProcessedScriptData = ChainedPropertyBag typealias ProcessedScriptData = ChainedPropertyBag
object ProcessedScriptDataProperties : PropertiesGroup { object ProcessedScriptDataProperties : PropertiesGroup {
@@ -56,6 +56,7 @@ object ScriptDefinitionProperties : PropertiesGroup {
// DSL -------------------- // DSL --------------------
val ScriptingProperties.scriptDefinition get() = ScriptDefinitionProperties
@Suppress("MemberVisibilityCanBePrivate") @Suppress("MemberVisibilityCanBePrivate")
class RefineConfigurationBuilder(props: ScriptingProperties) : PropertiesBuilder(props) { class RefineConfigurationBuilder(props: ScriptingProperties) : PropertiesBuilder(props) {
@@ -25,6 +25,8 @@ object ScriptingEnvironmentProperties : PropertiesGroup {
val getScriptingClass by typedKey<GetScriptingClass>() val getScriptingClass by typedKey<GetScriptingClass>()
} }
val ScriptingProperties.scriptingEnvironment get() = ScriptDefinitionProperties
interface GetScriptingClass { interface GetScriptingClass {
operator fun invoke(classType: KotlinType, contextClass: KClass<*>, environment: ScriptingEnvironment): KClass<*> operator fun invoke(classType: KotlinType, contextClass: KClass<*>, environment: ScriptingEnvironment): KClass<*>
} }
@@ -10,12 +10,15 @@ package kotlin.script.experimental.jvm
import java.io.File import java.io.File
import kotlin.script.experimental.api.PropertiesGroup import kotlin.script.experimental.api.PropertiesGroup
import kotlin.script.experimental.api.ScriptDependency import kotlin.script.experimental.api.ScriptDependency
import kotlin.script.experimental.api.ScriptingProperties
import kotlin.script.experimental.util.typedKey import kotlin.script.experimental.util.typedKey
object JvmScriptCompileConfigurationProperties : PropertiesGroup { object JvmScriptCompileConfigurationProperties : PropertiesGroup {
val javaHomeDir by typedKey<File>() val javaHomeDir by typedKey<File>()
} }
val ScriptingProperties.jvmCompileConfiguration get() = JvmScriptCompileConfigurationProperties
class JvmDependency(val classpath: List<File>) : ScriptDependency { class JvmDependency(val classpath: List<File>) : ScriptDependency {
constructor(vararg classpathEntries: File) : this(classpathEntries.asList()) constructor(vararg classpathEntries: File) : this(classpathEntries.asList())
} }