Hi guys, sorry for the pun in the title. Last week end, i've taken a big codebase and try to retrofit it to use jigsaw, obviously the code has several (two in fact) cyclic dependencies and in both cases, i was able to break those cycles by changing the code to use services. In one case, i have wanted to write a small code that uses the ServiceLoader like DriverManager.drivers() to expose the service but if i do that, it's the module that contains that small code that has to declare the directive 'uses' inside its own module-info instead of being the code that effectively uses the service, which seems wrong to me *.
So i think where missing an API point on ServiceLoader that allow to write a method that will ask for a directive uses on the behalf of the ServiceLoader. I think it's a good idea to leverage Lookup class here and add a method load(Class, Lookup) that load a service on the behalf to the lookup class and requires the module of the lookup class to declare a directive uses. cheers, Rémi * it's definitevly wrong because when i wanted to use jlink on the code to generate a kind of light version of the application, i was not able to know which modules was using the service to pass them as root modules to jlink.
