[英]How to define a variable for all Gradle subprojects using Gradle Kotlin DSL
我正在关注本指南。
该指南写道:项目的额外属性在其子项目中是可见的。 这似乎对我不起作用,因为以下不起作用:
在build.gradle.kts
我有:
val ktorVersion by extra("1.3.2")
在subproject/build.gradle.kts
我有:
dependencies {
implementation("io.ktor:ktor-server-core:$ktorVersion")
}
在项目级别build.gradle.kts
:
val ktorVersion by extra { "1.3.2" }
在subproject/build.gradle.kts
:
val ktorVersion: String by rootProject.extra
dependencies {
implementation("io.ktor:ktor-server-core:$ktorVersion")
}
有关更多信息: Gradle 有关额外属性的文档
此外,您可以在buildSrc
项目中的 object 中定义版本。 buildSrc
是 Gradle 中的一个特殊项目,它的所有声明在所有 Gradle 项目中都是可见的( settings.gradle.kts
除外)。 所以你可能有
buildSrc/src/main/kotlin/myPackage/Versions.kt
object Versions {
const val ktorVersion = "1.2.3"
}
然后从您的任何build.gradle
(.kts) 文件中使用它
import myPackage.Versions.ktorVersion
dependencies {
implementation("io.ktor:ktor-server-core:$ktorVersion")
}
UPD:目前推荐的解决此问题的方法是使用https://docs.gradle.org/current/userguide/platforms.html
dependencies {
implementation(libs.groovy.core)
implementation(libs.groovy.json)
implementation(libs.groovy.nio)
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.