Gradle Kotlin DSL: defina la versión de Kotlin en un lugar único
Para describir los scripts de compilación de Gradle, podemos usar Kotlin a través debuild.gradle.kts
archivos Es un problema común definir globalmenteel Versión de Kotlin para ser utilizada, tanto en eldependencies
y también en la construcciónplugin
sección (es bastante raro tener diferentes versiones en uso para el caso dado).
Considere el siguiente código (Gradle 4.3.1):
plugins {
var pluginVersion = "1.2.30"
kotlin("jvm").version(kotlinVersion)
// more
}
var dependencyVersion = "1.2.30"
dependencies {
compile(kotlin("stdlib", kotlinVersion))
compile(kotlin("reflect", kotlinVersion))
testCompile(kotlin("test", kotlinVersion))
// more
}
Como puedes ver, el kotlinversion
(1.2.30 en este caso) está definidodos veces: dependencyVersion
ypluginVersion
, que muy a menudono difiere. Debido a las restricciones de DSL, es imposible acceder apluginVersion
desde fuera delplugins
bloquear o acceder aldependencyVersion
desde dentro delplugins
bloquear.
¿Cómo puede la cadena de versión,"1.2.30"
ser extraído a un solo lugar?