Gradle Kotlin DSL: defina a versão do Kotlin em um local único
Para descrever os scripts de construção do Gradle, podemos usar o Kotlin viabuild.gradle.kts
arquivos. É um problema comum definir globalmentea Versão Kotlin a ser usada, tanto nodependencies
e também na construçãoplugin
seção (é bastante incomum ter versões diferentes em uso para o caso especificado).
Considere o seguinte 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 você pode ver, o kotlinversion
(1.2.30 neste caso) é definidoduas vezes: dependencyVersion
epluginVersion
, que muitas vezesnão difere. Devido a restrições DSL, é impossível acessar opluginVersion
de fora doplugins
bloquear ou acessar odependencyVersion
de dentro doplugins
quadra.
Como pode a string da versão,"1.2.30"
ser extraído para um único local?