We are upgrading projects from the latest 4.x to the latest 5.x. The upgrade process went fine until we built, at which point we got a ton of compiler errors about classes not found. We could see the jars that contain the classes in the dependencies tree, but without adding a number of jars we couldn’t make the errors go away.
Does 5.x fine-grained dependency analysis perhaps wind up generating a smaller tree of dependencies, thereby requiring that more “tops” of the forest be listed?
It didn’t even add dependencies that were in the same tree. For example, one of our jars, let’s call it foo depends on another of our jars, bar. We had foo in the dependencies() section, but didn’t list bar, because in 4.x it automatically figured out that bar was needed by foo. But in 5.x we had to list both foo and bar. We can flip gradlew back and force and reproduce the behavior.