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