RFR: JDK-8220702: compiling in the context of an automatic module disallows --add-modules ALL-MODULE-PATH
Jonathan Gibbons
jonathan.gibbons at oracle.com
Thu May 23 21:31:09 UTC 2019
CSR and patch look good to me.
-- Jon
On 05/13/2019 06:02 AM, Jan Lahoda wrote:
> Thanks Alex!
>
> Could I please get a review on the CSR?
>
> https://bugs.openjdk.java.net/browse/JDK-8222396
>
> And also on the patch:
> http://cr.openjdk.java.net/~jlahoda/8220702/webrev.01/
>
> Thanks!
>
> Jan
>
> On 06. 05. 19 21:06, Alex Buckley wrote:
>> On 4/12/2019 12:03 PM, Alex Buckley wrote:
>>> On 4/12/2019 5:34 AM, Jan Lahoda wrote:
>>>> I've started with the CSR here:
>>>> https://bugs.openjdk.java.net/browse/JDK-8222396
>>>
>>> Looks pretty good. I made some edits to record both of your
>>> single-module and multi-module invocations of javac.
>>>
>>> The use case of injecting test code is clear, but the exact connection
>>> between automatic modules and test code is pretty opaque. Is the
>>> goal to
>>> make the automatic test module read the explicit test module so that
>>> the
>>> former module's code can access the latter module's code? Is the
>>> goal to
>>> make the automatic module read (and therefore test) at least the same
>>> set of modules as the explicit modules `requires`?
>>
>> Reviewing the CSR again, it seemed like the key scenario is multiple
>> named modules, where for each named module:
>>
>> 1. We don't really care about its relationship with the other named
>> modules; but
>>
>> 2. We do care about injecting it with test code, and letting that
>> test code read other, completely arbitrary, modules (say, an
>> assertion-building library that's been placed on the module path).
>>
>> I have refactored the CSR to more strongly separate the problem
>> (patching an automatic module is possible, but readability is
>> sub-par) from the solution (precedent for ALL-MODULE-PATH from the
>> unnamed module scenario).
>>
>> JEP 261 should be updated to explain the awesome power of
>> --patch-module at compile time, and that is progressing behind the
>> scenes, but I don't think it needs to block JDK-8220702 -- the CSR is
>> "good enough" documentation for now.
>>
>> Alex
More information about the compiler-dev
mailing list