On 15/12/2023 01:26, Alex Buckley wrote:
:
Unfortunately, Guava is still not an explicit module
(https://github.com/google/guava/issues/2970). It is an automatic
module. This means it gets a "boost" in terms of the modules that it
reads. In fact, we think the implementation of module resolution is
giving it _too much_ of a boost, because Guava in layer B ends up
reading both Gson in layer B and Gson in layer A. Alan is investigating.
Yes, this is about automatic modules in child configurations/layers. The
computation of the readability graph needs to arrange for automatic
modules to read modules in parent configurations, it's not taking into
account the shadowing that arises when a module in the configuration
under construction has the same name as a module in a parent
configuration. No issue with explicit modules as their dependences are
declared, the issue is specific to automatic modules.
-Alan