Grab’s Android Passenger app is a Super App with hundreds of modules owned by different teams serving millions of users every day. As our multi-module project continued to grow at a healthy pace, we experienced linear growth in build times and decided to switch to Bazel to take advantage of strong caching and parallel execution capabilities.
To reduce the migration effort and avoid impact on feature delivery, we took a programmatic approach and built Grazel (Gradle + Bazel), a Gradle plugin that can generate equivalent Bazel build rules from Gradle scripts for a given Android project. Grazel is also capable of performing hybrid builds where certain modules are built with Bazel while non migrated modules are built with Gradle. In this talk, we discuss the architecture and design decisions we took to build the plugin.
Speaker: Arunkumar Sampathkumar
#bazelcon #bazel event: Bazelcon 2020; re_ty: Publish; product: Open Source – General; fullname: Arunkumar Sampathkumar;"