如何将gradle版本文件用于多模块gradle应用?

mnemlml8  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(156)

我有一个复合项目,其结构如下:

--+ composite
  |    |
  |    +- gradle
  |
  +-- application1
  |    |
  |    +- gradle
  |
  +-- application2
  |    |
  |    +- gradle
  |
  +-- application3
  |    |
  |    +- gradle

每个gradle目录都有自己的libs.versions.toml文件,但我想在根目录下创建一个单独的文件(复合),以集中方式维护依赖版本。
我怎样才能从根文件中找到版本?
例如,我在application1文件build.gradle.kts添加依赖项,就像implementation("org.springdoc:springdoc-openapi-ui:${rootProject.libs.versions.openapi.get()}")一样,但是我不能访问根属性-只能访问ext。
我对这类案件不太有经验。有人能帮我吗?

m3eecexj

m3eecexj1#

如果您使用的是子项目,则应该可以指涉根项目的目录。如果您使用的是复合组建,请尝试明确指定每个项目的版本目录档案。
请访问:https://docs.gradle.org/current/userguide/platforms.html#sec:sharing-catalogs
对复合构建中的每个项目使用此路径-根据需要调整路径,以便所有项目共享同一文件:

dependencyResolutionManagement {
    versionCatalogs {
        libs {
            from(files("../gradle/libs.versions.toml"))
        }
    }
}

相关问题