可以gradle处理无限子项目深度?

时间:2017-08-04 14:47:39

标签: android gradle android-gradle build.gradle

我的工作区中有一堆应用程序,如下所示:

Workspace
├── MyApp1
|   ├── app
|   |   └── build.gradle
|   ├── build.gradle
|   └── settings.gradle
└── MyApp2
    ├── app
    |   └── build.gradle
    ├── build.gradle
    └── settings.gradle

如果我在我的Workspace目录中放置build.gradlesettings.gradle个文件。

在工作区范围内:

  • 我是否可以在:MyApp2:app中加入settings.gradle并将其视为build.gradle子模块的一部分?
  • 如果我添加:MyApp2,我将能够在build.gradle文件中添加以下内容:

    project(":MyApp2") {
        project(":app") {
            //doSomeStuff
        }
    }
    

我希望创建自动化任务来发布libs / compiling apks

1 个答案:

答案 0 :(得分:1)

不确定无限的东西,但是 - 是的,它可以支持多个图层,在您的设置中:

include 'MyApp1:app:foo:bar'

冒号:分隔项目名称。

然后您使用:MyApp1:app:foo:bar:build调用它,例如在bar子项目上获取构建任务。

然后唯一的事情是 - 我的根项目中会有1个全局settings.gradle

可能是这样的。

Workspace
├── MyApp1
|   ├── app
|   |   └── build.gradle
|   └── build.gradle
|   
├─── MyApp2
|    ├── app
|    |   └── build.gradle
|    └── build.gradle
|
├── build.gradle
└── settings.gradle