Transitive dependencies question

Alan Bateman Alan.Bateman at oracle.com
Thu Jul 28 16:20:15 UTC 2016


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