yatagan icon indicating copy to clipboard operation
yatagan copied to clipboard

Dependency Injection framework based on Google's Dagger2 API, optimized for fast builds and for managing large graphs with optional dependencies

Results 15 yatagan issues
Sort by recently updated
recently updated
newest added

Before the patch, if a child component didn't have a builder its instance could be injected directly. Such behavior is confusing and vanilla dagger doesn't support that. The reasons of...

api

Api: Support dagger-compat mode. This newly introduced mode can now be enabled with `yatagan.experimental.enableDaggerCompatibility` option. This mode is designed for yatagan to be a drop-in replacement of dagger, with *minimal*...

api

In order to correctly override methods in Java code in KSP mode, Yatagan uses KSP's experimental APIs to obtain JVM signatures to distinguish between boxed/unboxed java types (e.g. `java.lang.Integer` vs...

backend:ksp
performance
priority:minor

Now, `Yatagan.threadAsserter` property (`Yatagan.setThreadAsserter()` method for `1.x.y`) sets thread asserted globally. This is a poor design choice considering a project may depend on libraries or frameworks, that use Yatagan internally;...

api

I use Dagger 2 and have a lot of Java fields with Inject annotation and package-private or protected access. With Yatagan isn't possible to have the same restrictions in access...

enhancement
priority:minor

Develop performance testing for all backends. We want to measure the following metrics: 1. **Build Time** (graph parsing/building/generation time) 2. **Startup Time** (component implementation creation time) 3. **Responsiveness** (graph operation...

performance
testing

Add to GitHub repo sample project with full setup and all features usages. It's simple way to see Yatagan in action

documentation
priority:normal

Yatagan has multiple modes of operation with multiple backends. Configuring them correctly is not a trivial task and requires consulting the docs. It would be great to have a Gradle...

enhancement

Dagger2 has dagger-android and Hilt, which offer dedicated Android support and simplify injecting dependencies into platform classes. It's sane to expect Yatagan to provide dedicated Android support in some way....

api

Currently, one can use any framework annotation in any place where annotation target allows, but this "odd" usages are not validated by the framework. For example, if one uses `@Conditional`...

enhancement
priority:minor