我对正在孵化的 Gradle 版本目录感到非常兴奋,并且一直在尝试它。I\xe2\x80\x99ve 发现我的信息可以在我的应用程序和 utility-lib 项目的脚本gradle/libs.versions.toml中访问。build.gradle.kts
但是,我无法使用该toml文件的内容buildSrc/build.gradle.kts或约定文件。
我可以构建的唯一方法是将依赖项硬编码到这些文件中,就像我在版本目录功能之前所做的那样。
\n在该buildSrc文件夹中,我创建了一个settings.gradle.kts文件并插入了 的dependencyResolutionManagement代码versionCatalogs,该代码指向与我的应用程序和 utility-lib 项目相同的文件。
根据 Gradle7文档,似乎可以与 和 模块共享版本目录\xe2\x80\xa6 I\xe2\x80\x99d如果可能的buildSrc话,希望能够推动它与 一起工作。buildSrc
这是一个简单的示例项目,我通过以下方式创建gradle init:my-version-catalog
感谢您的时间和帮助,
\n麦克风
\n我正在尝试在具有以下限制的项目中开始使用Gradle的Kotlin DSL:
Groovy提供的功能:
结果(仅基于我的示例):
我尝试使用Gralde KTS复制相同内容,但遇到以下困难:
build.gradle.kts包括根)中使用它们的共同点。使用Groovy,我只能使用like之类的变量springBootVersion,但是使用Kotlin Script,我必须在每个模块文件中创建相同的属性。包含文件样本:
apply plugin: 'kotlin'
compileKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
compileTestKotlin {
kotlinOptions {
jvmTarget = "1.8"
}
}
Run Code Online (Sandbox Code Playgroud)
Gradle模块样本:
apply from: "${rootDir}/gradle/include/kotlin-common-include.gradle"
dependencies {
compile project(':my.project.libraries.common')
compile group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: springBootVersion
}
Run Code Online (Sandbox Code Playgroud)
问题:
springBootVersion或Constants.springBootVersion通过编译时检查将它们包括在内?附加链接: