2017-08-04 33 views
0

我有一堆放在这样在我的工作区应用:可以gradle处理无限的子项目深度吗?

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

如果我把我的工作区目录build.gradlesettings.gradle文件。

在工作区范围:

  • 我可以能够包括在settings.gradle:MyApp2:app和将它视为build.gradle子模块的一部分?
  • ,如果我有:MyApp2将我能够在build.gradle文件是这样的:

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

我的愿望是创建自动化任务发布库/编译的apk

回答

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 
+1

除非您禁用它,否则Gradle将在父目录中搜索'settings.gradle'文件,以便您可以独立构建每个多项目或作为另一个多项目的一部分。但是,对于每个构建来说,只有一个'settings.gradle'文件可以被解释。 –

相关问题