首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Kotlin DSL的子项目中重用依赖版本?

如何在Kotlin DSL的子项目中重用依赖版本?
EN

Stack Overflow用户
提问于 2021-08-26 12:52:20
回答 1查看 641关注 0票数 1

我有一个多模块级项目与Kotlin DSL作为构建文件。根build.gradle.kts的内部有dependencies部分,用于根和subprojects,并有自己的dependencies。我想要创建一个变量,它可以保留某些依赖项的版本,并且可以在build.gradle.kts中的所有模块中使用。

build.gradle.kts如下所示:

代码语言:javascript
复制
buildscript {
// ...
}
plugins {
// ...
}
subprojects {
// repositories, plugins, tasks, etc.

dependencies {
   implementation("com.fasterxml.jackson.core:jackson-databind:2.10.4")
}

子模块common-module/build.gradle.kts

代码语言:javascript
复制
dependencies {
    implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.10.4")
}

我想声明一个变量,并将这些依赖项的版本赋值为值,并且只在模块上重用它。像implementation("com.fasterxml.jackson.dataformat:jackson-dataformat-csv:${jacksonVersion}")这样的东西。

我怎么能这么做?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-17 14:34:20

解决这个问题的最现代、最安全的解决方案是使用版本目录

  1. 将分级更新为7.2。
  2. 将此添加到settings.gradlesettings.gradle.kts
代码语言:javascript
复制
enableFeaturePreview("VERSION_CATALOGS")
  1. gradle/libs.versions.toml
代码语言:javascript
复制
[versions]
jackson = "2.12.5"

[libraries]
jackson-databind = { module = "com.fasterxml.jackson:jackson-databind", version.ref = "jackson" }
jackson-dataformat-csv = { module = "com.fasterxml.jackson.dataformat:jackson-dataformat-csv", version.ref = "jackson" }
  1. 在所有子项目中添加像implementation(libs.jackson.dataformat.csv)这样的依赖项。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68938868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档