Airbnb successfully migrated their largest JVM monorepo containing tens of millions of lines of Java, Kotlin, and Scala code from Gradle to Bazel over 4.5 years. The migration achieved 3-5x faster local builds, 2-3x faster IntelliJ syncs, and improved build satisfaction from 38% to 68%. Key technical challenges included building automated build file generation tools, handling multiple third-party library versions, porting complex build logic, and ensuring deployment safety. The team learned that migrating first before optimizing would have accelerated the timeline, and that maintaining co-existing builds while beneficial for risk mitigation, added significant complexity to the process.
Table of contents
Migrating Airbnb’s JVM Monorepo to BazelWhy Bazel?How did we migrate?What did we learn?🏁 ConclusionSort: