Hermetic builds with Bazel
summary
Replaces a sprawling build-sh script with Bazel-backed “cliff,” enforcing a hermetic toolchain and sandboxed dependencies so builds are reproducible across machines, auto-fetch toolchains and only expose headers to modules. Keeps existing Makefiles as authoritative but generates makefiles and build metadata under the hood, adds a driver development kit that treats modules like libraries with explicit headers and deps, speeds incremental builds dramatically, and provides automated migration from build.sh and bit-config as Android 14/Mainline moves to cliff.
AI-written summary · about
chapters (8)
- 0:00Introduction and motivation
- 2:27Problems with legacy build system
- 4:54Why Bazel for hermetic builds
- 7:21Build definitions and dependencies
- 8:25Driver Development Kit overview
- 10:57Configuration and migration tools
- 12:23Deprecation of BitSh and future plans
- 14:07Q&A session
related talks
31mBazel: Do We Really Need Another Build Tool?
23mPolyglot Builds with Bazel
42mMake local development (with Bazel) great again!
06mLightning Talk: Do You Love or Hate Your C++ Build System?
09mBazel: {Fast, Correct, Seamless}: Choose 3
11mPerformant Bazel Builds for Web Monorepos at Scale
56mWar story from the build system trenches: Integrating Bazel and Testwell CTC++ code coverage
31mTaming the Beast - Better Bazel in IntelliJ
