Diseño del repositorio para grandes proyectos de Maven
Tengo una aplicación grande (~ 50 módulos) que usa una estructura similar a la siguiente:
SolicitudMódulos de comunicaciónMódulo de comunicación de colorMódulo de comunicación SSNmódulo de comunicación, etc.Módulo enrutadorMódulos de servicioMódulo de servicios de votación.Interfaz web submódulo para votación.Submódulo colector de votos para votar.etc. para votarMódulo de servicio de preguntasmódulo de etc.Me gustaría importar la aplicación a Maven y Subversion. Después de algunas investigaciones encontré que existen dos enfoques prácticos para esto.
Una es usar una estructura de árbol como la anterior. El inconveniente de esta estructura es que necesita un montón de ajustes / hacks para que el informe de múltiples módulos funcione bien con Maven. Otro inconveniente es que en Subversion el enfoque estándar de troncales / etiquetas / ramas agrega aún más complejidad al repositorio.
El otro enfoque utiliza una estructura plana, donde solo hay un proyecto principal y todos los módulos, submódulos y partes de los submódulos son un elemento directo del proyecto principal. Este enfoque funciona bien para los informes y es más fácil en Subversion, sin embargo siento que pierdo un poco de la estructura de esta manera.
¿Qué camino elegirías a largo plazo y por qué?