У меня есть большое приложение (~ 50 модулей), использующее структуру, подобную следующей:
- Application
- Communication modules
- Color communication module
- Модуль связи SSN
- и т. д. коммуникационный модуль
- Модуль маршрутизатора
- Service modules
- Voting service module
- Web interface submodule for voting
- Подмодуль сборщика голосов для голосования
- и т.д. для голосования
- Модуль сервиса викторины
- и т. д. модуль
- Voting service module
- Communication modules
Я хочу импортировать приложение в Maven и Subversion. После некоторого исследования я обнаружил, что для этого существует два практических подхода.
Один использует древовидную структуру, как и предыдущий. Недостатком этой структуры является то, что вам понадобится тонна настроек / хаков, чтобы многомодульная отчетность хорошо работала с Maven. Другой недостаток заключается в том, что в Subversion стандартный подход «ствол / теги / ветки» еще больше усложняет репозиторий.
Другой подход использует плоскую структуру, в которой есть только один родительский проект, а все модули, подмодули и части подмодулей являются прямыми дочерними элементами родительского проекта. Этот подход хорошо работает для отчетов и проще в Subversion, однако я чувствую, что таким образом теряю часть структуры.
Какой путь вы выберете в долгосрочной перспективе и почему?