Для описания скриптов сборки Gradle мы можем использовать Kotlin через build.gradle.kts
файлы. Общей проблемой для глобально определить версию Kotlin, которая будет использоваться, как в dependencies
, так и в разделе build plugin
(довольно необычно использовать разные версии для данного случая).
Рассмотрим следующий код (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
}
Как вы можете видеть, kotlin version
(1.2.30 в этом случае) определяется дважды: dependencyVersion
и pluginVersion
, что очень часто не отличается. Из-за ограничений DSL невозможно получить доступ к pluginVersion
извне блока plugins
или получить доступ к dependencyVersion
из блока plugins
.
Как строка версии "1.2.30"
может быть извлечена в одно место?