Embracing Declarative Gradle and Software Types
summary
Declarative Gradle replaces imperative build.gradle.kts files with a restricted DCL language (example: build.gradle.dcl) that enforces isolated projects (no allProjects/subprojects), exposes a single androidApplication Software Type plus composable project features, and moves imperative Kotlin into included builds so configuration becomes statically analyzable. Real-world numbers: a 2,500‑module monorepo reports ~4.5 minutes config time today and targets a 5–10x config speedup. Migration guidance: start with leaf modules, use the provided AI-assisted migration tooling, and watch out for current limits like version‑catalog accessors.
AI-written summary · about
chapters (20)
- 0:00Declarative Gradle intro
- 1:04Why declarative Gradle matters
- 3:53Build speed benefits
- 6:21Real declarative Gradle examples
- 7:24Project types vs convention plugins
- 8:49Settings file in declarative Gradle
- 9:35IDE support for Gradle
- 11:18Enforcing isolated projects
- 13:26Plugin compatibility and migration
- 16:14Migration journey overview
- 17:40Before/after migration examples
- 18:23Convention plugin to project type
- 20:12Common migration pitfalls
- 22:00Build logic and included builds
- 23:25Compatibility status
- 24:48Roadmap and future
- 25:31AI-assisted migration tooling
- 27:18Try declarative Gradle today
- 28:00Summary and next steps
- 28:46Q&A
related talks
30mKotlin DSL for Android Projects
30mModular Android Development
37mBuild bigger, better: Gradle for large projects
34mIntro to App Modularization
52mmulti-module Android application
40mBetter Android Development with Kotlin & Gradle
28mEffective Gradle Scripts for Android Projects
40mModularizing Android Applications
