Once upon a time, I had to split up a large mono-repository at one of my customers… again. Like any proper mono-repo, it contained a hellish amount of modules, services and libraries. The repository had so many responsibilities, I suspected it could actually make me coffee when provided with right build arguments. And if that wasn’t bad enough, the client decided they needed the new modules in a different build-tool too. At the start, I faced the question that has been tormenting developers since ancient times: do it manually or automate it? Of course I chose the latter (if I liked preforming manual labour I would have chosen an other profession). In this talk I will show you how I have spent 10 days to save 3 days of disgusting manual work. I will demonstrate and share the tools that will allow you too to split-up your own monstrous repositories in a couple of minutes. Based on a real-world scenario, I will share my journey of finding “the easiest” solution for quickly breaking up large repositories into separate smaller ones. Using live examples, I will show how you can fork your repo’s git-history on a per-file basis (fast!), how you can write your own Gradle plugin to pull apart you project’s modules + dependencies and rewrite them to Maven and what I have learned from my experiences.
Get notified about new features and conference additions.