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) [email protected] is published

module A {  // exports all packages }

2a) [email protected] gets split into [email protected] and [email protected]
2b) [email protected] 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) [email protected] gets split into [email protected] and [email protected]
3c) [email protected] 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

Reply via email to