IdeaCredIdeaCred

deliveryhero/whetstone

88

Whetstone is a dependency injection framework for Android that greatly simplifies working with Dagger 2 using all the powers of Anvil

What's novel

Whetstone is a dependency injection framework for Android that greatly simplifies working with Dagger 2 using all the powers of Anvil

Code Analysis

31 files read · 7 rounds

A Kotlin/Android DI framework that simplifies Dagger+Anvil setup by providing standard component scopes (Application, Activity, Fragment, ViewModel, Service, View), a meta-annotation system for extensible code generation, and a Gradle plugin that orchestrates Anvil compiler plugin to generate all Da

Strengths

The meta-annotation system (@AutoInjectorBinding/@AutoInstanceBinding) is an elegant, extensible design that lets users create custom scope annotations with zero compiler changes. The architecture cleanly separates concerns: runtime library, compiler plugin, Gradle plugin, and optional integrations (Compose, WorkManager) are all well-isolated modules.

Weaknesses

Test coverage is thin — only 3 test files in the core module and the codegen tests likely only verify generated code structure rather than runtime behavior. The activity component caching uses a non-thread-safe HashMap, and the LazyClassKey workaround (generating a helper object) is a code smell indicating incomplete Anvil support that could break with Anvil upgrades.

Score Breakdown

Innovation
6 (25%)
Craft
83 (35%)
Traction
54 (15%)
Scope
87 (25%)

Signal breakdown

Innovation

Not Fork+1
Code Novelty+1
Concept Novelty+2

Craft

Ci+5
Tests+8
Polish+1
Releases+4
Has License+5
Code Quality+23
Readme Quality+15
Recent Activity+7
Structure Quality+5
Commit Consistency+5
Has Dependency Mgmt+5

Traction

Forks+12
Stars+27
Hn Points+0
Watchers+10
Early Traction+0
Devto Reactions+0
Community Contribs+5

Scope

Commits+8
Languages+5
Subsystems+13
Bloat Penalty+0
Completeness+7
Contributors+8
Authored Files+15
Readme Code Match+3
Architecture Depth+7
Implementation Depth+8

Evidence

Commits

63

Contributors

11

Files

149

Active weeks

13

TestsCI/CDREADMELicenseContributing

Repository

Language

Kotlin

Stars

218

Forks

7

License

Apache-2.0