gpt4 book ai didi

gradle - 如何在多项目 Gradle 构建中指定通用模块版本

转载 作者:行者123 更新时间:2023-12-03 05:40:00 26 4
gpt4 key购买 nike

是否可以仅在根构建脚本中定义版本,以便所有子项目都使用相同的版本?但是不要将模块拉入不使用这些模块的子项目中。

例如:
root.build.gradle

com.company:module-A:version-A
com.company:module-B:version-B
com.company:module-C:version-C

子项目 1.build.gradle
   com.company:module-A
com.company:module-B

子项目 2.build.gradle
   com.company:module-A
com.company:module-C

构建后,只有module-A.version-A和module-B.version-B在sub-project-1的分布中,module-A.version-A和module-C.version-C在分布中子项目 2。

最佳答案

两种解决方案,它们在您保存子项目依赖于公共(public)模块的信息的位置不同。

解决方案一:
将通用版本存储在根项目中,然后在使用它的子项目中声明依赖项。

根项目:

ext {
commonModuleDependency = "com.company:module-A:version-A"
}

子项目:
dependencies {
compile rootProject.commonModuleDependency
}

方案二:
从根项目配置子项目。
在这种情况下,根项目知道哪些子项目具有共同的依赖关系。

根项目:
subprojects.findAll {
it.name in listOfSubprojectsThatHaveCommonModule
}.configure {
dependencies {
compile "com.company:module-A:version-A"
}
}

我建议您尝试第一个,因为它可以说更简单且耦合更少......
我觉得你真的想首先解决在任何地方都没有相同依赖项的不同版本的问题,对吧?

关于gradle - 如何在多项目 Gradle 构建中指定通用模块版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53531224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com