Developers looking to extend avaje-inject via one of InjectExtension interfaces can register the service implementation manually via src/main/resources/META-INF/services/io.avaje.inject.spi.InjectExtension.
With this change, alternatively the Developer can use avaje-spi-service and annotate the service implementation with @ServiceProvider - then the entry will be automatically created in the target/classes/META-INF/services/io.avaje.inject.spi.InjectExtension. The avaje-inject-generator will detect the extension and add it to the services that it needs to register.
A potential alternative to #622 wherein inject will process the avaje-spi annotations instead of creating a new one.
avaje spi would also help validate that the structure of the service itself is good (public no-args constructor and the like)
Developers looking to extend avaje-inject via one of InjectExtension interfaces can register the service implementation manually via
src/main/resources/META-INF/services/io.avaje.inject.spi.InjectExtension
.With this change, alternatively the Developer can use
avaje-spi-service
and annotate the service implementation with@ServiceProvider
- then the entry will be automatically created in thetarget/classes/META-INF/services/io.avaje.inject.spi.InjectExtension
. The avaje-inject-generator will detect the extension and add it to the services that it needs to register.A potential alternative to #622 wherein inject will process the avaje-spi annotations instead of creating a new one.
avaje spi would also help validate that the structure of the service itself is good (public no-args constructor and the like)
relies on https://github.com/avaje/avaje-spi-service/pull/27