Vincent is a Java developer and a passionate tech enthusiast. At just 28 years old, he already has software engineering experience in various environments. He thrives when he can share his passion for software and technology by organizing tech sessions, workshops and webcasts.
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.d