Подтвердить что ты не робот

Gradle: как настроить настройку мультипроекта с бок о бок проектов

У нас есть старый проект, который создается следующим образом:

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

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

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

4b9b3361

Ответ 1

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

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

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

$ gradle projects
:projects

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

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

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

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