Boosting Bazel adoption on Android with automation
summary
Claims that Bazel cuts build time by enabling hermetic, cacheable builds and partial syncs and demonstrates an automated migration pipeline that generates build.bazel files from Gradle. Uses open source tools Airin (Gradle plugin) and Pendant (Starlark code generator) to map configurations, override dependency notations, and run a migrateToBazel task. Pipeline handles hundreds of modules, supports incremental CI migration with Gradle as fallback, and produces a buildable Bazel output in the demo.
AI-written summary · about
chapters (20)
- 0:00Bazel adoption on Android
- 1:06What is Bazel and why
- 5:41Scope of Bazel migration
- 7:26Automation in migration
- 9:11Migration tools: Iron and Pendant
- 10:59Android project structure
- 13:29Modular migration with components
- 14:53Plugin compatibility challenges
- 16:19Module components role
- 17:59Feature components mapping
- 21:15Gradle config registration
- 25:06Modifying files with components
- 27:14Live migration setup demo
- 31:50Adding data binding component
- 35:11Overriding dependency configs
- 36:37Realistic migration example
- 37:19Building with Bazel
- 38:21Migration process under the hood
- 40:50Partial targets flexibility
- 41:55Resources and next steps
related talks
39mAutomated migration of Android apps to Bazel build system
17mGrazel - A Gradle plugin to automate Bazel migration for Android projects
48mBazel for Android Development
42mBazel
41mBazel on Android: The Good, The Bad and The Ugly
01h 12mBazel for Android Developers
23mWalk, Run, Fly - Take your build pipeline to the next level!
41mDo You Need Bazel in Android Development?
