Extending kotlin-inject for fun & profit
summary
Migrates a large Dagger 2 + Anvil codebase to kotlin‑inject for Kotlin Multiplatform, claiming kotlin-inject gives the same compile‑time safety but with smaller API and faster builds; builds and open‑sources kotlin-inject-anvil to regenerate Anvil’s contributes/merge behavior; implements KSP processors using KSP + KotlinPoet and compile‑testing; solves platform components, qualifiers, assisted injection and incremental compilation; internal fork used short‑term because releases lag, but the extensions work in production.
AI-written summary · about
chapters (10)
- 0:00Introduction
- 1:43Dagger 2 recap
- 7:40Transition to Kotlin Inject
- 10:51Kotlin Inject advantages
- 13:20Build speed comparison
- 14:45Evolving ecosystem
- 16:12Best practices
- 20:33Kotlin Inject Anvil
- 24:03Custom annotations extension
- 28:22Conclusion and key takeaways
related talks
38mExtending kotlin-inject for fun & profit
37mDagger + Anvil: Learning to Love Dependency Injection
17mKoin vs. Kotlin-inject
40mNavigating Dependency Injection with Metro
38mKSP and Plugins. Optimizing Kotlin Multiplatform common code
48mAndroid, Compose, Multiplatform & Server - Inject them all with Koin
23mGenerating Kotlin extension functions for Annotation Processing
29mDIY Dependency Injection with Kotlin
