3

让我们有这个结构

enter image description here

我在subproject1如何编写我的settings.gradle文件以包含subproject1subproject2作为根项目的子项目。我的settings.gradle文件在目录中吗?

我试过了:

include 'root:subproject1', 'root:subproject2'

但什么也没发生。

来自 Gradle 文档:

如果您在没有 settings.gradle 文件的项目中执行 Gradle,Gradle 会执行以下操作:

  • 它在名为master 的目录中搜索 settings.gradle,该目录与当前目录具有相同的嵌套级别。
  • 如果没有找到settings.gradle,它会搜索父目录中是否存在 settings.gradle 文件。
  • 如果未找到settings.gradle文件,则构建将作为单个项目构建执行。
  • 如果找到settings.gradle文件,Gradle 会检查当前项目是否是找到的 settings.gradle 文件中定义的多项目层次结构的一部分。如果不是,则构建将作为单个项目构建执行。否则执行多项目构建。
4

2 回答 2

9
includeFlat 'subproject1', 'subproject2'

includeFlat是项目的简写形式include,然后将它们projectDir的 s 设置为适合平面目录布局。

有关更多信息,请参阅Gradle 用户指南中的“多项目构建”一章,并且示例构建在完整的 Gradle 发行版中。

于 2014-07-18T14:40:33.687 回答
0

良好的项目结构。

主目录的 settings.gradle 应具有以下包含语句,以使 subproject1、subproject2 作为多模块项目。

rootProject.name = 'app-name'

includeFlat 'subproject1'
includeFlat 'subproject2'
  1. 在 subproject1、subproject2 模块中不需要有 settings.gradle。
  2. version.gradle 和 settings.gradle 最好只能保存在 master 模块下。
  3. subproject1,subproject2 可以将 build.gradle 与特定依赖项部分 wrt 放到他们的项目中。常见的依赖可以在 master 的 build.gradle 下说明。
  4. 很高兴在 master 下有带有 wrapper 文件夹的“gradle”,这样可以下载最新版本的 Gradle 来构建多模块子项目。(例如: gradlew )
于 2021-01-02T20:53:18.177 回答