Transitive dependencies question

Paul Benedict pbenedict at apache.org
Thu Jul 28 16:21:06 UTC 2016


Yes. Thanks Alan.

Cheers,
Paul

On Thu, Jul 28, 2016 at 11:20 AM, Alan Bateman <Alan.Bateman at oracle.com>
wrote:

> On 28/07/2016 16:44, Paul Benedict wrote:
>
> Here is an example use case. Please confirm my understanding. I'd like to
>> know if transitive dependencies go one module deep or go all the way
>> through.
>>
>> 1) A at 1.0 is published
>>
>> module A {  // exports all packages }
>>
>> 2a) A at 1.1 gets split into B at 1.0 and C at 1.0
>> 2b) A at 1.1 uses "requires public" to mimic its previously unsplit self
>>
>> module A {
>>      requires public static B;
>>      requires public static C;
>> }
>> module B {  // exports all packages }
>> module C {  // exports all packages }
>>
>> 3a) B at 1.1 gets split into X at 1.0 and Y at 1.0
>> 3c) B at 1.1 uses "requires public" to mimic its previously unsplit self
>>
>> Assuming one level deep...
>> module A {
>>      requires public static B;
>>      requires public static C;
>> }
>> module B {
>>      requires public static X;
>>      requires public static Y;
>> }
>> module C {  // exports all packages }
>> module X {  // exports all packages }
>> module Y {  // exports all packages }
>>
>> Will this chain of configuration allow consumers of A to notice no
>> difference?
>>
>> That's right, the users of A will not notice. I assume in the above that
> "exports all packages" in B, C, X and Y means all the packages in their
> split.
>
> -Alan
>


More information about the jigsaw-dev mailing list