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.

13m read timeFrom medium.com
Post cover image
Table of contents
Migrating Airbnb’s JVM Monorepo to BazelWhy Bazel?How did we migrate?What did we learn?🏁 Conclusion

Sort: