The Build Shrugged
summary
Explains how Android builds actually work: Gradle lifecycle (initialization, configuration, execution) and concrete tools like Gradle TestKit for end-to-end build tests, build scan and Gradle Enterprise for aggregated metrics, Bazel as an alternative, and Chrome tracing JSON for line‑level profiling. Gives baselines (startup <1s, configuration ~0.5s per module, GC ideally <1–2% of build time), shows lazy tasks cutting 18,000 to ~700 tasks in a 100‑module example, and ships a custom publisher to send build timings to Influx/Prometheus. Recommends remote caching, worker API and incremental compilation.
AI-written summary · about
chapters (32)
- 0:00Introduction and title meaning
- 1:24Importance of build systems
- 3:54Build systems vs build tools
- 4:36Directed acyclic graphs in builds
- 5:40Complexity of real build systems
- 6:22Key features of good build systems
- 7:27Basel: Google's scalable build system
- 9:58Gradle evolution and adoption
- 10:59Gradle stack and mental model
- 13:27Gradle lifecycle phases
- 14:56Gradle configuration phase details
- 16:20Build sources and best practices
- 17:45Build scripts as code
- 18:29Testing build scripts
- 19:52Project builder for integration tests
- 20:55Gradle test kit for end-to-end tests
- 22:40Testing Gradle plugins
- 24:25Importance of measuring builds
- 25:07Build scan for performance analysis
- 26:53Lazy tasks and performance
- 27:55Garbage collector time impact
- 28:38Gradle Enterprise for teams
- 29:41Custom build instrumentation library
- 30:46Gradle Tracer for deep analysis
- 31:52Chrome tracing tool usage
- 32:54Performance insights with Tracer
- 33:58Worker API for parallel tasks
- 34:40Modernization and modularization
- 35:43Caching strategies for builds
- 36:06Lazy API and task avoidance
- 36:26Testing and iteration in builds
- 37:11Q&A and closing remarks
related talks
36mImproving Gradle Builds
31mImproving Android Build performance
27mFaster builds on Android: from 2 minutes to 2 seconds
30mAndroid Developer Productivity
40mImproving Android Build Performance
33mIMPROVING ANDROID BUILD PERFORMANCE
34mWhat's new in Android development tools
23mGetting Started with Build Metrics
