如何使用 Gradle Kotlin DSL 为所有 Gradle 子项目定义变量
How to define a variable for all Gradle subprojects using Gradle Kotlin DSL
我正在关注 this 指南。
指南内容如下:项目的额外属性可从其子项目中看到。
这似乎对我不起作用,因为以下不起作用:
在 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")
}
此外,您可以在 buildSrc
project 内的对象中定义版本。 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")
}
我正在关注 this 指南。
指南内容如下:项目的额外属性可从其子项目中看到。 这似乎对我不起作用,因为以下不起作用:
在 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")
}
此外,您可以在 buildSrc
project 内的对象中定义版本。 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")
}