gradle多项目构建覆盖子项中的依赖项

时间:2019-09-11 19:29:26

标签: gradle dependencies multi-project gradle-multi-project-build

在gradle多项目构建中:

root << applies: dependency{ 'org:module:version1' }
|- foo (version1) is ok here
|- bar (version1) not ok here, I need to use version 2

有没有办法实现这种行为?

1 个答案:

答案 0 :(得分:1)

您可以使用的替代方法是strictly关键字。在您的bar模块中,您可以编写如下内容:

dependencies {
    //Other dependencies
    compile("org:module") {
        version {
            strictly version2
        }
        because("Only version2 works in this module")
    }
}

此外,如果您使用以下方法检查bar模块依赖性图:

./gradlew -q dependencies

您将获得如下输出:

compileClasspath - Compile classpath for source set 'main'.
+--- project :
|    +--- org.sample:dependency:1.0
|    +--- org.sample:other-dependency:1.0
|    \--- org:module:{strictly version2} -> version2