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