У меня есть большое приложение (~ 50 модулей), используя структуру, похожую на следующее:
- Применение
- Коммуникационные модули
- Модуль цветной связи
- Модуль связи SSN
- и т.д.. коммуникационный модуль
- Модуль маршрутизатора
- Сервисные модули
- Модуль обслуживания голосования
- Субмодуль веб-интерфейса для голосования
- Подмодуль голосового коллектора для голосования
- и т.д.. для голосования
- Сервисный модуль Quiz
- и т.д.. модуль
- Модуль обслуживания голосования
- Коммуникационные модули
Я хотел бы импортировать приложение в Maven и Subversion. После некоторых исследований я обнаружил, что для этого существуют два практических подхода.
Один использует древовидную структуру, как и предыдущую. Недостатком этой структуры является то, что вам нужна тонна tweaking/hacks, чтобы получить многомодульную отчетность с Maven. Другим недостатком является то, что в Subversion стандартный подход trunk/tags/branches добавляет еще большую сложность в репозиторий.
Другой подход использует плоскую структуру, где есть только один родительский проект, и все модули, подмодули и части-подмодули являются прямым дочерним элементом родительского проекта. Этот подход хорошо подходит для отчетности и проще в Subversion, однако я чувствую, что теряю часть структуры таким образом.
Какой путь вы бы выбрали в долгосрочной перспективе и почему?