Keeping your build tool updated in a multi repository world: a Netflix tale

Track: Tools and techniques
Gradle is an open-source build automation tool focused on flexibility, build reproducibility and performance. Over the years, this tool has evolved and introduced new concepts and features around dependency management, publication and other aspects on build and release of artifacts for the Java platform. Keeping up to date with all these features across several projects can be challenging. How do you make sure that all your projects can be upgraded to the latest version of Gradle? What if you have thousands of projects and hundreds of engineers? How can you abstract common tasks for them and make sure that new releases work as expected? At Netflix, we built Nebula, a collection of Gradle plugins that helps engineers remove boilerplate in Gradle build files, and makes building software the Netflix way easy. This reduces the cognitive load on developers, allowing them to focus on writing code. In this talk, I’ll share with you our philosophy on how to build JVM artifacts and the pieces that help us boost the productivity of engineers at Netflix. I’ll talk about: - What is Nebula - What are the common problems we face and try to solve - How we distribute it to every JVM engineer - How we ensure that Nebula/Gradle changes do not break builds so we can ship new features with confidence at Netflix
Roberto Perez Alcolea
Roberto is an experienced software engineer with focused in jvm ecosystem, developer productivity and continuous delivery. He has several years of experience using technologies for the JVM. He's an active maintainer of Netflix Nebula Plugins ( and occasional contributor to the Gradle Build tool ( Currently works at Netflix in the JVM ecosystem team. The JVM Ecosystem Team provides the user experience for dependency management, building, packaging, and publishing JVM-based libraries and applications through providing tools, automation, and guidance to thousands of engineers at Netflix