Gradle 子项目对共享代码的依赖

Gradle subprojects dependency on shared code

假设,我在 settings.gradle 中有这个:include 'a', 'b', 'c', 'shared'

自然要a,b,c都依赖'shared',所以我把这个放到gradle.build中:subprojects { dependencies { project(":shared") }}

但这不起作用:由于循环依赖('shared' 依赖于自身),尝试编译失败。

除了必须为每个子项目显式列出依赖项之外,还有其他解决方法吗?

您可以根据项目名称做一个条件。

subprojects { 
    if (!project.name.contains('shared')) dependencies { compile project(":shared") }
}

(尚未测试,但某种形式应该有效)