a compilation issue caused by the order of two 'requires' directives

Alan Bateman Alan.Bateman at oracle.com
Wed Jan 18 12:25:43 PST 2012


On 18/01/2012 19:53, Jonathan Gibbons wrote:
> On 01/18/2012 11:34 AM, Alan Bateman wrote:
>>
>> When compiled individually then it does appear that there is an 
>> issue. I believe foo will compile because the configuration for foo 
>> will be computed  (won't fail because the bar@>1.0 is an optional 
>> dependency). However when it comes to test then it does appear that 
>> the order changes changes. Jon - is there any possibility that the 
>> order issue is due to the Catalog implementation in javac? If not 
>> then I guess this means going through the resolver trace to see what 
>> is going on. 
>
> My initial sense is that this is entirely a resolver issue, and that 
> we need to look at the resolver trace.
You're probably right but I just tried Dmitry's code and I get the 
expected behavior if I install bar and foo into a module library and 
compile test specifying that module path. It's only when compiling with 
bar and foo on the module path that the ordering seems to matter.

-Alan.



More information about the jigsaw-dev mailing list