By version 4.11, transitive dependencies have proliferated seemingly unchecked. We are far from the short dependency-chains and few cyclic-dependencies of good structure.
A better way…
There are many ways to do this, but one way is to practice radial encapsulation. (…) shows the evolution of a radially-encapsulated program that is bigger than JUnit yet has throughout its history retained a structural clarity that JUnit seems to have abandoned.
Programmers should be forced to wear their systems’ package-structures on their tee-shirts.