I'm currently working in project that develops several RESTful services that partly interact with each other. As an example:
- Service A uses Service B
- Service C uses nothing
- Service D uses Service C
- most of the Services use a common Utillities project.
There is NO actual code sharing between the services, they strictly rely on the defined RESTful API. Util contains helpers for test, helpers for the security lib, ....
Currently every project is stand alone in their own git repository. During development there were some moments when this was slightly anoying:
- multiple places to do dependency management (services share dependencies to third-party libs)
- every project has to be (maven) released seperately (personaly i like that)
- when working "between" projects (working on a service and working on util because of that) lead to 2 review requests, because of 2 project (pull-requests)
One in the Team proposed as a solution to above problems to merge all git repositories and projects into one git repository and one maven multi module projects.
Beside my own misgivings about the idea (no code sharing, only util as a common dependency, reliance on APIs between some (not all) services,...) i would like to know:
Are there known Advantages/Disadvantages of this Plan?
I don't like it makes a bad argument.