Gradle: как настроить настройку мультипроекта с бок о бок проектов
У нас есть старый проект, который создается следующим образом:
.
├── customizationProject
│ ├── ejb
│ └── services
├── projectA
│ ├── ejb
│ └── shared
├── projectB
│ └── ejb
└── projectC
├── ejb
└── services
Идея заключается в том, что customizationProject - это то, где происходит окончательная сборка поставляемого приложения, на самом деле может быть несколько customizationProjects
, и они могут включать в себя несколько конфигураций. Это, однако, не проблема, с которой я решаю.
Я хочу сделать customizationProject логическим корневым проектом проектов gradle.
Как настроить отдельные проекты, чтобы они
а) знают, что они являются частью многопроектной сборки
b) могут быть выполнены надлежащим образом, с различными областями, например. просто запустить тесты одного подпроекта, а также разрешить выполнение всех тестов по всем проектам?
Ответы
Ответ 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 документации.
Надеюсь, что это поможет!