From @rpalcolea:
Wondering if you could take a look at the following build: https://github.com/rpalcolea/halyard/tree/broken-build
Running ./gradlew :halyard-web:depInsight --configuration runtimeClasspath --dependency kork-core -s produces
Problems reading data from Binary store
Caused by: java.lang.IllegalStateException: Corrupt serialized resolution result. Cannot find selected module (442) for constraint platform-runtime -> io.fabric8:kubernetes-model:4.1.0
What is interesting about this build is that it doesn't have any nebula opinion, the only thing that appear to be in play is a platform BOM.
Curiously enough, removing a fix version from build files and letting the bom provide the versions solves the issue: https://github.com/spinnaker/halyard/commit/419f2b1ab1588329309cca0bb14caa681d7d1c08
The issue has been reproduced: it is a combination of a platform constraint having a lower version than the selected version and the logic for recomputing a version when a selector is removed.
However in that case, since the dependency was back to being pending (no hard edges pointing at it), it should simply leave the graph. Instead the bug in the current logic caused it to remain, but not selected, with an invalid, constraint only, single edge pointing at it.
Fix incoming
Most helpful comment
The issue has been reproduced: it is a combination of a platform constraint having a lower version than the selected version and the logic for recomputing a version when a selector is removed.
However in that case, since the dependency was back to being pending (no hard edges pointing at it), it should simply leave the graph. Instead the bug in the current logic caused it to remain, but not selected, with an invalid, constraint only, single edge pointing at it.
Fix incoming