On 04/11/2015 16:26, Ali Ebrahimi wrote:
:
Yes, I got it. But should not upper level descriptors win over lower
descriptors regards to current configuration.
What I missed here?
(Changing the subject line so that it's clearer what this discussion is
about).
In your implied readability mail then I think you have:
configuration1/layer1:
com.bar@1
com.baz requires public com.bar
configuration2:
com.bar@2
com.foo requires com.baz
The readability graph for configuration2 is:
com.bar@2 requires java.base
com.foo reads java.base
com.foo reads com.baz
com.foo reads com.bar@1
Instantiating this configuration (as a layer) means locating the
jlr.Module for com.bar@1. For now, and it's temporary, it is found by
matching the ModuleDescriptor starting in the configuration and working
through the stack of layers. I say temporary because we need an API
change to expose the layer of the source module. That will eliminate the
search and will fix the corner case that arises when modules in
different layers have equal ModuleDescriptor objects. We'll get to this
soon.
-Alan.