Gradle: как настроить многопроектную настройку с параллельными проектами - PullRequest
14 голосов
/ 09 августа 2011

У нас есть старый проект, который настроен так:

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

Идея состоит в том, что customizationProject - это место, где происходит окончательная сборка доставленного приложения, на самом деле может быть несколько customizationProjectsи они могут включать в себя несколько конфигураций.Однако это не та проблема, которую я пытаюсь решить.

Я хочу сделать customizationProject логическим корневым проектом gradle проектов.Как настроить отдельные проекты, чтобы они а) знали, что являются частью многопроектной сборки; б) могут быть правильно выполнены с разными областями действия, например, просто выполняя тесты одного подпроекта, а также позволяя все тестов для выполнения по всем проектам?

1 Ответ

17 голосов
/ 30 октября 2011

Это довольно простая структура для поддержки с Gradle.Добавьте файл settings.gradle в каталог customizationProject со следующим содержимым:

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

И вы можете подтвердить структуру проекта из командной строки:

$ gradle projects
:projects

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

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

Описание метода includeFlatдоступно в документации Gradle .

Надеюсь, это поможет!

...