Android Studio - Gradle - 具有嵌套依赖项的多项目构建

时间:2014-11-10 12:45:04

标签: android gradle android-studio dependencies android-gradle

很久以前我问过thisthis问题,现在我有时间(没有选择)我已经通过设置我的一些项目。

结构类似于上一个问题中的结构,但有一个扭曲......

┌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进行此操作?

0 个答案:

没有答案