8233922: Service binding augments module graph with observable incubator modules
Mandy Chung
mandy.chung at oracle.com
Mon Nov 18 20:13:35 UTC 2019
On 11/18/19 4:34 AM, Alan Bateman wrote:
>
> This issue concerns the interaction of service binding with incubator
> modules, a left over from JDK 9 that resurfaces with the upcoming JEP
> 343 Packaging Tool (Incubator).
>
> The summary on this issue is that service binding augments the module
> graph with the modules induced by the service-use relation. This
> happens irrespective of the incubating status of the observable
> modules because the incubating designation is a JDK rather than Java
> SE/specified concept. It shows up with module `jdk.incubator.jpackage`
> because this module wants to implement the
> `java.util.spi.ToolProvider` service interface, a service interface
> used by `java.base`. If service binding were to resolve
> `jdk.incubator.jpackage` then a warning would be emitted in all phases
> that java.base is resolved (so everywhere).
>
> It's on my radar to more precisely specify service binding and also
> work out the specification changes needed to allow filtering of the
> observing modules but this is not needed at this time. Instead, we can
> limit the changes to the configuration for the boot layer as the set
> of observable modules when creating the configuration for the boot
> layer is not specified (it's up to the implementation). The change
> proposed here means that incubator modules are not candidates to add
> to the module graph during service binding for the boot layer's
> configuration. It has no impact on the general case where incubating
> modules may be observable when creating the configuration for custom
> layers.
>
Limiting this change to the boot layer's configuration is a good
solution that allows time to work out the specification change.
> :
> http://cr.openjdk.java.net/~alanb/8233922/webrev/
The patch looks good to me.
Mandy
More information about the jigsaw-dev
mailing list