很久以前我问过this和this问题,现在我有时间(没有选择)我已经通过设置我的一些项目。
结构类似于上一个问题中的结构,但有一个扭曲......
┌Just a folder
│
├── Project 1 - (Pure Java Modules)
│ │
│ ├── Module A1
│ ├── Module B1
│ :
│ └── Module Z1
│
├── Project 2 - (Android Libraries Modules)
│ │
│ ├── Module A2
│ ├── Module B2
│ :
│ └── Module Z2
│
└── Actual Android Project
所有子模块都依赖于前一个子模块,例如Z1取决于X1 ... B1取决于A1同样适用于{X} 2系列。
由于我有多个项目依赖于相同的顶级库(Z2,Z1),我想向我保存痛苦和文本,并尽可能避免在项目中重复以下内容:
在设置文件中:
include ':project1', ':project1:A1', ':project1:B1',..., ':project1:Z1'
include ':project2', ':project2:A2', ':project2:B2',..., ':project2:Z2'
project(':project1').projectDir = new File(settingsDir, '../somepath1/project1')
project(':project2').projectDir = new File(settingsDir, '../somepath2/project2')
project(':project2:A2').projectDir = new File(settingsDir, '../somepath2/project2/A2')
...
... etc...
在构建文件中:
evaluationDependsOn(':Project1')
evaluationDependsOn(':Project2')
dependencies {
compile project(':Project1:A1')
compile project(':Project1:B1')
...
compile project(':Project1:Z1')
compile project(':Project2:A2')
compile project(':Project2:B2')
...
compile project(':Project2:Z2')
}
如果我将顶级库项目Z1,Z2添加到应用程序中,那么在子项目的层次结构中的其他嵌套依赖项将解析它是有意义的(假设这在Eclipse / Maven /其他依赖项中是可行的)无需在每个顶级项目中按字面指定每一个。
Gradle可以实现吗?我将如何使用Gradle进行此操作?