8233922: Service binding augments module graph with observable incubator modules
Alan Bateman
Alan.Bateman at oracle.com
Tue Nov 19 13:51:03 UTC 2019
On 19/11/2019 12:43, Chris Hegarty wrote:
> :
>
> I’m surprise to see the resolver use `mres.hasIncubatingWarning() == false`, rather than ModuleResolution.doNotResolveByDefault(mres).
>
I think you are asking about the semantics of the two flags in the
JDK-specific ModuleResolution class file attribute. Some day we should
probably document it although I'm not sure if it's the j.l.module
package description, JEP 11, or somewhere else.
The warn-incubating flag is used in all phases to indicate that a module
is an incubator module and to warn when the module is resolved.
Technically these two concerns could be separated but this need hasn't
arisen to date.
The do-not-resolve-by-default flag excludes modules exporting APIs from
the default set of named modules to resolve when the initial module is
the unnamed module, i.e. class path applications. Technically this could
be used to exclude modules that aren't incubator modules (and I think
we've got close once or two to doing that).
-Alan.
More information about the jigsaw-dev
mailing list