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?

Cheers,
Paul

Reply via email to