[Error] Unexpected error during generation of hashes
com.bazel_diff.hash.RuleHasher$CircularDependencyException: Circular dependency detected:
//external:libuv -> //external:libuv
at com.bazel_diff.hash.RuleHasher.raiseCircularDependency(RuleHasher.kt:23)
at com.bazel_diff.hash.RuleHasher.digest(RuleHasher.kt:36)
at com.bazel_diff.hash.RuleHasher$digest$finalHashValue$1.invoke(RuleHasher.kt:54)
at com.bazel_diff.hash.RuleHasher$digest$finalHashValue$1.invoke(RuleHasher.kt:41)
at com.bazel_diff.hash.HashingExtensionsKt.sha256(HashingExtensions.kt:14)
at com.bazel_diff.hash.RuleHasher.digest(RuleHasher.kt:41)
at com.bazel_diff.hash.TargetHasher.digest(TargetHasher.kt:38)
at com.bazel_diff.hash.BuildGraphHasher.hashAllTargets$lambda-6(BuildGraphHasher.kt:107)
at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:952)
at java.base/java.util.stream.ReduceOps$ReduceTask.doLeaf(ReduceOps.java:926)
at java.base/java.util.stream.AbstractTask.compute(AbstractTask.java:327)
at java.base/java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:746)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
It says in this PR (https://github.com/Tinder/bazel-diff/pull/138) that dependencies depending on themselves would keep Bazel from building, but that's not necessarily the case as this does not interfere with Bazel building.
I don't have the full context on this but if the only reason this exception is being raised is because we're assuming that Bazel wouldn't build, then I think we should change it to a warning message.
Transitive dependency causing circular dependency error in
4.0.8
//external:lib
is not a target that we define in our repo. It's a transitive dependency from GRPC: https://github.com/grpc/grpc/blob/master/bazel/grpc_deps.bzl#L183-L186It says in this PR (https://github.com/Tinder/bazel-diff/pull/138) that dependencies depending on themselves would keep Bazel from building, but that's not necessarily the case as this does not interfere with Bazel building.
I don't have the full context on this but if the only reason this exception is being raised is because we're assuming that Bazel wouldn't build, then I think we should change it to a warning message.