Gradle plugins: take it to the next level (en)
summary
Shows a real Gradle plugin built for Genymotion that actually runs devices before instrumentation tests, using nested extensions and a NamedDomainObjectContainer with a NamedDomainObjectFactory for flexible DSLs, injecting tasks via the Android variants API and hooking afterEvaluate. Explains using project.evaluate() in unit tests, running integration tests against multiple Android Gradle Plugin versions, reading Gradle source and debugging to find variant.connectedInstrumentTest, and publishing to JCenter — all working in production.
AI-written summary · about
chapters (7)
- 0:00Introduction to Gradle plugins
- 2:08Understanding plugin basics
- 8:04Designing a flexible DSL
- 12:26Implementation of custom DSLs
- 27:21Interacting with Android plugins
- 33:24Debugging and source inspection
- 39:16Testing strategies








