我有几个依赖于某些子模块的项目。这些依赖项是重叠的,这就是我基本上将所有模块组织在一个根文件夹中的原因。所以我们假设结构如下:
Root
|- M1
|- M2
|- M3
|- M4
|- M5
|- M6
|- ...
|- P1
|- P2
|- P3
|- P4
让我们说依赖是:
P1 -> M1, M2, M3
P2 -> M1, M4, M5
P3 -> P1, M6
P4 -> P1, P2
这意味着每个项目在各自的settings.gradle:
中为每个使用过的项目/模块都有一个条目include ':M1'
project(':M1').projectDir = new File(settingsDir, '../M1')
现在这会导致一个问题,那些settings.gradle文件不会被传递。如果我看P4,我会假设我可以说:
include ':P1'
project(':P1').projectDir = new File(settingsDir, '../P1')
include ':P2'
project(':P2').projectDir = new File(settingsDir, '../P2')
不幸的是,我必须包含M1-M5的条目,因为它们被P1和P2引用。有没有办法更好地构建这个?