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() {
init {
include(jvmJavaHomeScriptingProperties)
ScriptDefinitionProperties {
scriptDefinition {
defaultImports<DependsOn>()
defaultImports(Repository::class)
jvmDependenciesFromCurrentContext(
@@ -17,6 +17,8 @@ object ScriptCompileConfigurationProperties : PropertiesGroup {
val sourceFragments by typedKey<List<ScriptSourceNamedFragment>>()
}
val ScriptingProperties.compilationConfiguration get() = ScriptCompileConfigurationProperties
typealias ProcessedScriptData = ChainedPropertyBag
object ProcessedScriptDataProperties : PropertiesGroup {
@@ -56,6 +56,7 @@ object ScriptDefinitionProperties : PropertiesGroup {
// DSL --------------------
val ScriptingProperties.scriptDefinition get() = ScriptDefinitionProperties
@Suppress("MemberVisibilityCanBePrivate")
class RefineConfigurationBuilder(props: ScriptingProperties) : PropertiesBuilder(props) {
@@ -25,6 +25,8 @@ object ScriptingEnvironmentProperties : PropertiesGroup {
val getScriptingClass by typedKey<GetScriptingClass>()
}
val ScriptingProperties.scriptingEnvironment get() = ScriptDefinitionProperties
interface GetScriptingClass {
operator fun invoke(classType: KotlinType, contextClass: KClass<*>, environment: ScriptingEnvironment): KClass<*>
}
@@ -10,12 +10,15 @@ package kotlin.script.experimental.jvm
import java.io.File
import kotlin.script.experimental.api.PropertiesGroup
import kotlin.script.experimental.api.ScriptDependency
import kotlin.script.experimental.api.ScriptingProperties
import kotlin.script.experimental.util.typedKey
object JvmScriptCompileConfigurationProperties : PropertiesGroup {
val javaHomeDir by typedKey<File>()
}
val ScriptingProperties.jvmCompileConfiguration get() = JvmScriptCompileConfigurationProperties
class JvmDependency(val classpath: List<File>) : ScriptDependency {
constructor(vararg classpathEntries: File) : this(classpathEntries.asList())
}