Gradle as a Tool for monorepositories

Why do we need monorepositories in the first place? This article does a great job in explaining what a monorepo is and why you may need it: What is a monorepo? To summarize it you have a couple of advantages: Single source of truth Pull-Requests accross services are possible and reviewable in one pull request Simplified code sharing accross services Common build logic for all services There are also some downsides for using a monorepository for example vsc scalability, cross team ownership or the temptation to introduce tight coupling between services.