Before java9 modules there was an option to generate both service provider implementation classes and META-INF/services files. With this option service provider classes generated during annotation processing were accessible via ServiceLoader in runtime (if an appropriate META-INF/services resource files were generated as well).
In java9 (with enabled modules) new ServiceLoader mechanic was introduced. No more META-INF/services, all services and service providers should be explicitly declared in module-info.java. Does it mean that java9 (with enabled modules) restricts from generating both service provider classes and their declarations or am I missing something?
Thanks.