Managing codebases of large umbrella projects

The main advantage of umbrella vs multiple packages is that you usually keep the umbrella in a single VC repository and version it together. From my experience maintaining a ruby app that was composed of multiple gems, almost half of the commits were “Bump version of something”, which was very annoying.
Beside that there are some mix tasks that handle umbrellas differently, which is very helpful.

Everything is the same at runtime - umbrella is mostly about managing code as in the source files and directories it goes to.

I’d say that using submodules with umbrellas completely defeats the purpose of an umbrella project.

6 Likes