On 13/04/2018 13:16, Doug Simon wrote:
I just noticed that in the jdk.internal.vm.compiler module descriptor source
there is a `uses` clause for CompilerConfigurationFactory[1] but no `provides`
clause for the CoreCompilerConfigurationFactory provider[2] which is in the
same module. However, `java -d jdk.internal.vm.compiler | grep Core` shows me
the provider clause exists in the binary module descriptor. Is this done
auto-magically by javac when building the module? If not, is it in the make
files somewhere? I'm asking because there are new service providers being added
in Graal.
The build for that module is complex as it runs an annotation processor
and generates a module-info.java.extra (see
support/gensrc/jdk.internal.vm.compiler/ in the build output) that is
merged with the module-info.java before it is compiled. So no javac magic.
-Alan