Open
Description
Usecase: javas services (SPI) allows to to declare services (uses xxx) and provide these services (provides xxx with yyy)
These are usually effectively runtimeOnly dependencies.
So if a project a uses service "myService" and project b provides "myService" with "ServiceImpl" project a shall have a runtimeOnly dependency on project b.
Considerations:
- this might not always be true: For testing purposes there might be a "dummyService" which should not be a productive runtimeOnly Dependency.
- Services can also be be declared using the classloader way of putting a file in your META-INF (probably no good implementation possible/needed)
- The way parsing is currently handled-> see Improve parsing of module-info #175