Transitive dependencies question

Paul Benedict pbenedict at apache.org
Thu Jul 28 15:44:29 UTC 2016


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?

Cheers,
Paul


More information about the jigsaw-dev mailing list