Provides clauses in binary module descriptor but not in source

Alan Bateman Alan.Bateman at oracle.com
Fri Apr 13 12:33:07 UTC 2018


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


More information about the jigsaw-dev mailing list