18

我们有一个像这样设置的旧项目:

.
├── customizationProject
│   ├── ejb
│   └── services
├── projectA
│   ├── ejb
│   └── shared
├── projectB
│   └── ejb
└── projectC
    ├── ejb
    └── services

这个想法是,customizationProject 是交付应用程序的最终组装发生的地方,实际上可能有多个 customizationProjects,它们可能包括多个配置。然而,这不是我想要解决的问题。

我想让customizationProject 成为gradle 项目的逻辑根项目。我如何配置单个项目,以便他们 a) 知道它们是多项目构建的一部分 b) 可以在不同的范围内正确执行,例如只运行一个子项目的测试,同时还允许执行所有测试跨越所有项目?

4

1 回答 1

22

这是一个相当容易使用 Gradle 支持的结构。将 settings.gradle 文件添加到您的自定义项目目录中,其中包含以下内容:

includeFlat 'projectA', 'projectB', 'projectC'

您可以从命令行确认项目结构:

$ gradle projects
:projects

------------------------------------------------------------
Root Project
------------------------------------------------------------

Root project 'customizationProject'
+--- Project ':projectA'
+--- Project ':projectB'
\--- Project ':projectC'

Gradle 文档中提供了 includeFlat 方法的描述。

希望有帮助!

于 2011-10-30T01:40:52.400 回答