The Situation
Attualmente sto lavorando a un progetto che sviluppa diversi servizi RESTful che interagiscono in parte l'uno con l'altro. Ad esempio:
- Il servizio A utilizza il servizio B
- Il servizio C non utilizza nulla
- Il servizio D utilizza il servizio C
- la maggior parte dei servizi utilizza un progetto Utillities comune.
Non c'è NESSUNA condivisione del codice tra i servizi, essi si basano strettamente sull'API RESTful definita. Util contiene helper per test, helper per la lib di sicurezza, ....
Attualmente ogni progetto è indipendente nel proprio repository git. Durante lo sviluppo ci sono stati alcuni momenti in cui questo era leggermente allucinante:
- più posti per la gestione delle dipendenze (i servizi condividono le dipendenze con le librerie di terze parti)
- ogni progetto deve essere (maven) rilasciato separatamente (personaly mi piace)
- quando si lavora "tra" progetti (lavorando su un servizio e lavorando su util a causa di ciò) si ottengono 2 richieste di revisione, a causa di 2 progetti (richieste pull)
La domanda
Uno del team ha proposto una soluzione ai problemi precedenti per unire tutti i repository e i progetti git in un unico repository git e in un progetto multi-modulo maven.
Accanto ai miei dubbi sull'idea (nessuna condivisione di codice, solo utilizzo come dipendenza comune, affidamento su API tra alcuni (non tutti) servizi, ...) mi piacerebbe sapere:
Sono noti vantaggi / svantaggi di questo piano?
Non mi piace che faccia una brutta discussione.