Hi Aleksandr,

This suggestion seems useful to me.
As Aleksandr pointed out, this is a compile-time dependency, so it doesn't
look risky.

+1

Thanks,
Slava.


ср, 7 дек. 2022 г. в 10:20, Aleksandr Polovtsev <alexpolovt...@gmail.com>:

> Dear Igniters! In Ignite 3, we have a bunch of classes that utilize the
> Java SPI (ConfigurationModule and MetricsExporter to name a few). For every
> interface implementation we need to manually create a file in the META-INF
> folder. This step can be automated by the AutoService library [1].
>
> I can see the following pros and cons of using this approach:
> 1. Pros:
>   * Less manual boilerplate,
>   * This is a compile-time only dependency (an annotation and an annotation
> processor),
>   * Less files to maintain and update/move when corresponding interfaces
> change.
> 2. Cons:
>   * A new dependency will be introduced and it looks like the community
> doesn't like that.
>
> I've created a PR [2] with a demonstration how this library can be used in
> the existing code base.
>
> [1] https://github.com/google/auto/tree/main/service
> [2] https://github.com/apache/ignite-3/pull/1415
>
> --
> With regards,
> Aleksandr Polovtsev
>

Reply via email to