-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix: break infinite recursion in renderTreeNode #33
Conversation
patriknw
commented
Oct 16, 2023
- can be reproduced with libraryDependencies += "io.grpc" % "grpc-core" % "1.58.0"
- normal dependencyTree looks good, so I don't know what is wrong with the grpc dependency or if there is something else missing in this traversal?
* can be reproduced with libraryDependencies += "io.grpc" % "grpc-core" % "1.58.0" * normal dependencyTree looks good, so I don't know what is wrong with the grpc dependency or if there is something else missing in this traversal?
if (n.evictedByVersion.isEmpty) { | ||
private def renderTreeNode(p: Printer, graph: ModuleGraph, n: Module): Unit = { | ||
// not useful with too many indents and that may be infinite recursion | ||
if (p.indent < 100 && n.evictedByVersion.isEmpty) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
libraryDependencies += "io.grpc" % "grpc-core" % "1.58.0"
dependenyTree
looks good:
sbt:happy-path> dependencyTree
[info] default:happy-path_2.12:0.1.0-SNAPSHOT [S]
[info] +-io.grpc:grpc-core:1.58.0
[info] +-com.google.android:annotations:4.1.1.4
[info] +-com.google.code.gson:gson:2.10.1
[info] +-com.google.errorprone:error_prone_annotations:2.20.0
[info] +-com.google.guava:guava:32.0.1-android
[info] | +-com.google.code.findbugs:jsr305:3.0.2
[info] | +-com.google.errorprone:error_prone_annotations:2.18.0 (evicted by: 2.20..
[info] | +-com.google.errorprone:error_prone_annotations:2.20.0
[info] | +-com.google.guava:failureaccess:1.0.1
[info] | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-..
[info] | +-com.google.j2objc:j2objc-annotations:2.8
[info] | +-org.checkerframework:checker-qual:3.33.0
[info] |
[info] +-io.grpc:grpc-api:1.58.0
[info] | +-com.google.code.findbugs:jsr305:3.0.2
[info] | +-com.google.errorprone:error_prone_annotations:2.20.0
[info] | +-com.google.guava:guava:32.0.1-android
[info] | +-com.google.code.findbugs:jsr305:3.0.2
[info] | +-com.google.errorprone:error_prone_annotations:2.18.0 (evicted by: 2...
[info] | +-com.google.errorprone:error_prone_annotations:2.20.0
[info] | +-com.google.guava:failureaccess:1.0.1
[info] | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-wit..
[info] | +-com.google.j2objc:j2objc-annotations:2.8
[info] | +-org.checkerframework:checker-qual:3.33.0
[info] |
[info] +-io.grpc:grpc-context:1.58.0
[info] | +-io.grpc:grpc-api:1.58.0
[info] | +-com.google.code.findbugs:jsr305:3.0.2
[info] | +-com.google.errorprone:error_prone_annotations:2.20.0
[info] | +-com.google.guava:guava:32.0.1-android
[info] | +-com.google.code.findbugs:jsr305:3.0.2
[info] | +-com.google.errorprone:error_prone_annotations:2.18.0 (evicted by: ..
[info] | +-com.google.errorprone:error_prone_annotations:2.20.0
[info] | +-com.google.guava:failureaccess:1.0.1
[info] | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-w..
[info] | +-com.google.j2objc:j2objc-annotations:2.8
[info] | +-org.checkerframework:checker-qual:3.33.0
[info] |
[info] +-io.grpc:grpc-util:1.58.0
[info] | +-com.google.guava:guava:32.0.1-android
[info] | | +-com.google.code.findbugs:jsr305:3.0.2
[info] | | +-com.google.errorprone:error_prone_annotations:2.18.0 (evicted by: 2...
[info] | | +-com.google.errorprone:error_prone_annotations:2.20.0
[info] | | +-com.google.guava:failureaccess:1.0.1
[info] | | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-wit..
[info] | | +-com.google.j2objc:j2objc-annotations:2.8
[info] | | +-org.checkerframework:checker-qual:3.33.0
[info] | |
[info] | #-io.grpc:grpc-core:1.58.0 (cycle)
[info] | +-org.codehaus.mojo:animal-sniffer-annotations:1.23
[info] |
[info] +-io.perfmark:perfmark-api:0.26.0
[info] +-org.codehaus.mojo:animal-sniffer-annotations:1.23
when debugging this with a println for each renderTreeNode indent:
#0 renderTreeNode grpc-core 1.58.0
#4 renderTreeNode annotations 4.1.1.4
#4 renderTreeNode gson 2.10.1
#4 renderTreeNode error_prone_annotations 2.20.0
#4 renderTreeNode guava 32.0.1-android
#8 renderTreeNode jsr305 3.0.2
#8 renderTreeNode error_prone_annotations 2.20.0
#8 renderTreeNode failureaccess 1.0.1
#8 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#8 renderTreeNode j2objc-annotations 2.8
#8 renderTreeNode checker-qual 3.33.0
#4 renderTreeNode grpc-api 1.58.0
#8 renderTreeNode jsr305 3.0.2
#8 renderTreeNode error_prone_annotations 2.20.0
#8 renderTreeNode guava 32.0.1-android
#12 renderTreeNode jsr305 3.0.2
#12 renderTreeNode error_prone_annotations 2.20.0
#12 renderTreeNode failureaccess 1.0.1
#12 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#12 renderTreeNode j2objc-annotations 2.8
#12 renderTreeNode checker-qual 3.33.0
#4 renderTreeNode grpc-context 1.58.0
#8 renderTreeNode grpc-api 1.58.0
#12 renderTreeNode jsr305 3.0.2
#12 renderTreeNode error_prone_annotations 2.20.0
#12 renderTreeNode guava 32.0.1-android
#16 renderTreeNode jsr305 3.0.2
#16 renderTreeNode error_prone_annotations 2.20.0
#16 renderTreeNode failureaccess 1.0.1
#16 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#16 renderTreeNode j2objc-annotations 2.8
#16 renderTreeNode checker-qual 3.33.0
#4 renderTreeNode grpc-util 1.58.0
#8 renderTreeNode guava 32.0.1-android
#12 renderTreeNode jsr305 3.0.2
#12 renderTreeNode error_prone_annotations 2.20.0
#12 renderTreeNode failureaccess 1.0.1
#12 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#12 renderTreeNode j2objc-annotations 2.8
#12 renderTreeNode checker-qual 3.33.0
#8 renderTreeNode grpc-core 1.58.0
#12 renderTreeNode annotations 4.1.1.4
#12 renderTreeNode gson 2.10.1
#12 renderTreeNode error_prone_annotations 2.20.0
#12 renderTreeNode guava 32.0.1-android
#16 renderTreeNode jsr305 3.0.2
#16 renderTreeNode error_prone_annotations 2.20.0
#16 renderTreeNode failureaccess 1.0.1
#16 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#16 renderTreeNode j2objc-annotations 2.8
#16 renderTreeNode checker-qual 3.33.0
#12 renderTreeNode grpc-api 1.58.0
#16 renderTreeNode jsr305 3.0.2
#16 renderTreeNode error_prone_annotations 2.20.0
#16 renderTreeNode guava 32.0.1-android
#20 renderTreeNode jsr305 3.0.2
#20 renderTreeNode error_prone_annotations 2.20.0
#20 renderTreeNode failureaccess 1.0.1
#20 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#20 renderTreeNode j2objc-annotations 2.8
#20 renderTreeNode checker-qual 3.33.0
#12 renderTreeNode grpc-context 1.58.0
#16 renderTreeNode grpc-api 1.58.0
#20 renderTreeNode jsr305 3.0.2
#20 renderTreeNode error_prone_annotations 2.20.0
#20 renderTreeNode guava 32.0.1-android
#24 renderTreeNode jsr305 3.0.2
#24 renderTreeNode error_prone_annotations 2.20.0
#24 renderTreeNode failureaccess 1.0.1
#24 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#24 renderTreeNode j2objc-annotations 2.8
#24 renderTreeNode checker-qual 3.33.0
#12 renderTreeNode grpc-util 1.58.0
#16 renderTreeNode guava 32.0.1-android
#20 renderTreeNode jsr305 3.0.2
#20 renderTreeNode error_prone_annotations 2.20.0
#20 renderTreeNode failureaccess 1.0.1
#20 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#20 renderTreeNode j2objc-annotations 2.8
#20 renderTreeNode checker-qual 3.33.0
#16 renderTreeNode grpc-core 1.58.0
#20 renderTreeNode annotations 4.1.1.4
#20 renderTreeNode gson 2.10.1
#20 renderTreeNode error_prone_annotations 2.20.0
#20 renderTreeNode guava 32.0.1-android
#24 renderTreeNode jsr305 3.0.2
#24 renderTreeNode error_prone_annotations 2.20.0
#24 renderTreeNode failureaccess 1.0.1
#24 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#24 renderTreeNode j2objc-annotations 2.8
#24 renderTreeNode checker-qual 3.33.0
#20 renderTreeNode grpc-api 1.58.0
#24 renderTreeNode jsr305 3.0.2
#24 renderTreeNode error_prone_annotations 2.20.0
#24 renderTreeNode guava 32.0.1-android
#28 renderTreeNode jsr305 3.0.2
#28 renderTreeNode error_prone_annotations 2.20.0
#28 renderTreeNode failureaccess 1.0.1
#28 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#28 renderTreeNode j2objc-annotations 2.8
#28 renderTreeNode checker-qual 3.33.0
#20 renderTreeNode grpc-context 1.58.0
#24 renderTreeNode grpc-api 1.58.0
#28 renderTreeNode jsr305 3.0.2
#28 renderTreeNode error_prone_annotations 2.20.0
#28 renderTreeNode guava 32.0.1-android
#32 renderTreeNode jsr305 3.0.2
#32 renderTreeNode error_prone_annotations 2.20.0
#32 renderTreeNode failureaccess 1.0.1
#32 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#32 renderTreeNode j2objc-annotations 2.8
#32 renderTreeNode checker-qual 3.33.0
#20 renderTreeNode grpc-util 1.58.0
#24 renderTreeNode guava 32.0.1-android
#28 renderTreeNode jsr305 3.0.2
#28 renderTreeNode error_prone_annotations 2.20.0
#28 renderTreeNode failureaccess 1.0.1
#28 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#28 renderTreeNode j2objc-annotations 2.8
#28 renderTreeNode checker-qual 3.33.0
#24 renderTreeNode grpc-core 1.58.0
#28 renderTreeNode annotations 4.1.1.4
#28 renderTreeNode gson 2.10.1
#28 renderTreeNode error_prone_annotations 2.20.0
#28 renderTreeNode guava 32.0.1-android
#32 renderTreeNode jsr305 3.0.2
#32 renderTreeNode error_prone_annotations 2.20.0
#32 renderTreeNode failureaccess 1.0.1
#32 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#32 renderTreeNode j2objc-annotations 2.8
#32 renderTreeNode checker-qual 3.33.0
#28 renderTreeNode grpc-api 1.58.0
#32 renderTreeNode jsr305 3.0.2
#32 renderTreeNode error_prone_annotations 2.20.0
#32 renderTreeNode guava 32.0.1-android
#36 renderTreeNode jsr305 3.0.2
#36 renderTreeNode error_prone_annotations 2.20.0
#36 renderTreeNode failureaccess 1.0.1
#36 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#36 renderTreeNode j2objc-annotations 2.8
#36 renderTreeNode checker-qual 3.33.0
#28 renderTreeNode grpc-context 1.58.0
#32 renderTreeNode grpc-api 1.58.0
#36 renderTreeNode jsr305 3.0.2
#36 renderTreeNode error_prone_annotations 2.20.0
#36 renderTreeNode guava 32.0.1-android
#40 renderTreeNode jsr305 3.0.2
#40 renderTreeNode error_prone_annotations 2.20.0
#40 renderTreeNode failureaccess 1.0.1
#40 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#40 renderTreeNode j2objc-annotations 2.8
#40 renderTreeNode checker-qual 3.33.0
#28 renderTreeNode grpc-util 1.58.0
#32 renderTreeNode guava 32.0.1-android
#36 renderTreeNode jsr305 3.0.2
#36 renderTreeNode error_prone_annotations 2.20.0
#36 renderTreeNode failureaccess 1.0.1
#36 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#36 renderTreeNode j2objc-annotations 2.8
#36 renderTreeNode checker-qual 3.33.0
#32 renderTreeNode grpc-core 1.58.0
#36 renderTreeNode annotations 4.1.1.4
#36 renderTreeNode gson 2.10.1
#36 renderTreeNode error_prone_annotations 2.20.0
#36 renderTreeNode guava 32.0.1-android
#40 renderTreeNode jsr305 3.0.2
#40 renderTreeNode error_prone_annotations 2.20.0
#40 renderTreeNode failureaccess 1.0.1
#40 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#40 renderTreeNode j2objc-annotations 2.8
#40 renderTreeNode checker-qual 3.33.0
#36 renderTreeNode grpc-api 1.58.0
#40 renderTreeNode jsr305 3.0.2
#40 renderTreeNode error_prone_annotations 2.20.0
#40 renderTreeNode guava 32.0.1-android
#44 renderTreeNode jsr305 3.0.2
#44 renderTreeNode error_prone_annotations 2.20.0
#44 renderTreeNode failureaccess 1.0.1
#44 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#44 renderTreeNode j2objc-annotations 2.8
#44 renderTreeNode checker-qual 3.33.0
#36 renderTreeNode grpc-context 1.58.0
#40 renderTreeNode grpc-api 1.58.0
#44 renderTreeNode jsr305 3.0.2
#44 renderTreeNode error_prone_annotations 2.20.0
#44 renderTreeNode guava 32.0.1-android
#48 renderTreeNode jsr305 3.0.2
#48 renderTreeNode error_prone_annotations 2.20.0
#48 renderTreeNode failureaccess 1.0.1
#48 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#48 renderTreeNode j2objc-annotations 2.8
#48 renderTreeNode checker-qual 3.33.0
#36 renderTreeNode grpc-util 1.58.0
#40 renderTreeNode guava 32.0.1-android
#44 renderTreeNode jsr305 3.0.2
#44 renderTreeNode error_prone_annotations 2.20.0
#44 renderTreeNode failureaccess 1.0.1
#44 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#44 renderTreeNode j2objc-annotations 2.8
#44 renderTreeNode checker-qual 3.33.0
#40 renderTreeNode grpc-core 1.58.0
#44 renderTreeNode annotations 4.1.1.4
#44 renderTreeNode gson 2.10.1
#44 renderTreeNode error_prone_annotations 2.20.0
#44 renderTreeNode guava 32.0.1-android
#48 renderTreeNode jsr305 3.0.2
#48 renderTreeNode error_prone_annotations 2.20.0
#48 renderTreeNode failureaccess 1.0.1
#48 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#48 renderTreeNode j2objc-annotations 2.8
#48 renderTreeNode checker-qual 3.33.0
#44 renderTreeNode grpc-api 1.58.0
#48 renderTreeNode jsr305 3.0.2
#48 renderTreeNode error_prone_annotations 2.20.0
#48 renderTreeNode guava 32.0.1-android
#52 renderTreeNode jsr305 3.0.2
#52 renderTreeNode error_prone_annotations 2.20.0
#52 renderTreeNode failureaccess 1.0.1
#52 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#52 renderTreeNode j2objc-annotations 2.8
#52 renderTreeNode checker-qual 3.33.0
#44 renderTreeNode grpc-context 1.58.0
#48 renderTreeNode grpc-api 1.58.0
#52 renderTreeNode jsr305 3.0.2
#52 renderTreeNode error_prone_annotations 2.20.0
#52 renderTreeNode guava 32.0.1-android
#56 renderTreeNode jsr305 3.0.2
#56 renderTreeNode error_prone_annotations 2.20.0
#56 renderTreeNode failureaccess 1.0.1
#56 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#56 renderTreeNode j2objc-annotations 2.8
#56 renderTreeNode checker-qual 3.33.0
#44 renderTreeNode grpc-util 1.58.0
#48 renderTreeNode guava 32.0.1-android
#52 renderTreeNode jsr305 3.0.2
#52 renderTreeNode error_prone_annotations 2.20.0
#52 renderTreeNode failureaccess 1.0.1
#52 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#52 renderTreeNode j2objc-annotations 2.8
#52 renderTreeNode checker-qual 3.33.0
#48 renderTreeNode grpc-core 1.58.0
#52 renderTreeNode annotations 4.1.1.4
#52 renderTreeNode gson 2.10.1
#52 renderTreeNode error_prone_annotations 2.20.0
#52 renderTreeNode guava 32.0.1-android
#56 renderTreeNode jsr305 3.0.2
#56 renderTreeNode error_prone_annotations 2.20.0
#56 renderTreeNode failureaccess 1.0.1
#56 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#56 renderTreeNode j2objc-annotations 2.8
#56 renderTreeNode checker-qual 3.33.0
#52 renderTreeNode grpc-api 1.58.0
#56 renderTreeNode jsr305 3.0.2
#56 renderTreeNode error_prone_annotations 2.20.0
#56 renderTreeNode guava 32.0.1-android
#60 renderTreeNode jsr305 3.0.2
#60 renderTreeNode error_prone_annotations 2.20.0
#60 renderTreeNode failureaccess 1.0.1
#60 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#60 renderTreeNode j2objc-annotations 2.8
#60 renderTreeNode checker-qual 3.33.0
#52 renderTreeNode grpc-context 1.58.0
#56 renderTreeNode grpc-api 1.58.0
#60 renderTreeNode jsr305 3.0.2
#60 renderTreeNode error_prone_annotations 2.20.0
#60 renderTreeNode guava 32.0.1-android
#64 renderTreeNode jsr305 3.0.2
#64 renderTreeNode error_prone_annotations 2.20.0
#64 renderTreeNode failureaccess 1.0.1
#64 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#64 renderTreeNode j2objc-annotations 2.8
#64 renderTreeNode checker-qual 3.33.0
#52 renderTreeNode grpc-util 1.58.0
#56 renderTreeNode guava 32.0.1-android
#60 renderTreeNode jsr305 3.0.2
#60 renderTreeNode error_prone_annotations 2.20.0
#60 renderTreeNode failureaccess 1.0.1
#60 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#60 renderTreeNode j2objc-annotations 2.8
#60 renderTreeNode checker-qual 3.33.0
#56 renderTreeNode grpc-core 1.58.0
#60 renderTreeNode annotations 4.1.1.4
#60 renderTreeNode gson 2.10.1
#60 renderTreeNode error_prone_annotations 2.20.0
#60 renderTreeNode guava 32.0.1-android
#64 renderTreeNode jsr305 3.0.2
#64 renderTreeNode error_prone_annotations 2.20.0
#64 renderTreeNode failureaccess 1.0.1
#64 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#64 renderTreeNode j2objc-annotations 2.8
#64 renderTreeNode checker-qual 3.33.0
#60 renderTreeNode grpc-api 1.58.0
#64 renderTreeNode jsr305 3.0.2
#64 renderTreeNode error_prone_annotations 2.20.0
#64 renderTreeNode guava 32.0.1-android
#68 renderTreeNode jsr305 3.0.2
#68 renderTreeNode error_prone_annotations 2.20.0
#68 renderTreeNode failureaccess 1.0.1
#68 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#68 renderTreeNode j2objc-annotations 2.8
#68 renderTreeNode checker-qual 3.33.0
#60 renderTreeNode grpc-context 1.58.0
#64 renderTreeNode grpc-api 1.58.0
#68 renderTreeNode jsr305 3.0.2
#68 renderTreeNode error_prone_annotations 2.20.0
#68 renderTreeNode guava 32.0.1-android
#72 renderTreeNode jsr305 3.0.2
#72 renderTreeNode error_prone_annotations 2.20.0
#72 renderTreeNode failureaccess 1.0.1
#72 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#72 renderTreeNode j2objc-annotations 2.8
#72 renderTreeNode checker-qual 3.33.0
#60 renderTreeNode grpc-util 1.58.0
#64 renderTreeNode guava 32.0.1-android
#68 renderTreeNode jsr305 3.0.2
#68 renderTreeNode error_prone_annotations 2.20.0
#68 renderTreeNode failureaccess 1.0.1
#68 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#68 renderTreeNode j2objc-annotations 2.8
#68 renderTreeNode checker-qual 3.33.0
#64 renderTreeNode grpc-core 1.58.0
#68 renderTreeNode annotations 4.1.1.4
#68 renderTreeNode gson 2.10.1
#68 renderTreeNode error_prone_annotations 2.20.0
#68 renderTreeNode guava 32.0.1-android
#72 renderTreeNode jsr305 3.0.2
#72 renderTreeNode error_prone_annotations 2.20.0
#72 renderTreeNode failureaccess 1.0.1
#72 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#72 renderTreeNode j2objc-annotations 2.8
#72 renderTreeNode checker-qual 3.33.0
#68 renderTreeNode grpc-api 1.58.0
#72 renderTreeNode jsr305 3.0.2
#72 renderTreeNode error_prone_annotations 2.20.0
#72 renderTreeNode guava 32.0.1-android
#76 renderTreeNode jsr305 3.0.2
#76 renderTreeNode error_prone_annotations 2.20.0
#76 renderTreeNode failureaccess 1.0.1
#76 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#76 renderTreeNode j2objc-annotations 2.8
#76 renderTreeNode checker-qual 3.33.0
#68 renderTreeNode grpc-context 1.58.0
#72 renderTreeNode grpc-api 1.58.0
#76 renderTreeNode jsr305 3.0.2
#76 renderTreeNode error_prone_annotations 2.20.0
#76 renderTreeNode guava 32.0.1-android
#80 renderTreeNode jsr305 3.0.2
#80 renderTreeNode error_prone_annotations 2.20.0
#80 renderTreeNode failureaccess 1.0.1
#80 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#80 renderTreeNode j2objc-annotations 2.8
#80 renderTreeNode checker-qual 3.33.0
#68 renderTreeNode grpc-util 1.58.0
#72 renderTreeNode guava 32.0.1-android
#76 renderTreeNode jsr305 3.0.2
#76 renderTreeNode error_prone_annotations 2.20.0
#76 renderTreeNode failureaccess 1.0.1
#76 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#76 renderTreeNode j2objc-annotations 2.8
#76 renderTreeNode checker-qual 3.33.0
#72 renderTreeNode grpc-core 1.58.0
#76 renderTreeNode annotations 4.1.1.4
#76 renderTreeNode gson 2.10.1
#76 renderTreeNode error_prone_annotations 2.20.0
#76 renderTreeNode guava 32.0.1-android
#80 renderTreeNode jsr305 3.0.2
#80 renderTreeNode error_prone_annotations 2.20.0
#80 renderTreeNode failureaccess 1.0.1
#80 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#80 renderTreeNode j2objc-annotations 2.8
#80 renderTreeNode checker-qual 3.33.0
#76 renderTreeNode grpc-api 1.58.0
#80 renderTreeNode jsr305 3.0.2
#80 renderTreeNode error_prone_annotations 2.20.0
#80 renderTreeNode guava 32.0.1-android
#84 renderTreeNode jsr305 3.0.2
#84 renderTreeNode error_prone_annotations 2.20.0
#84 renderTreeNode failureaccess 1.0.1
#84 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#84 renderTreeNode j2objc-annotations 2.8
#84 renderTreeNode checker-qual 3.33.0
#76 renderTreeNode grpc-context 1.58.0
#80 renderTreeNode grpc-api 1.58.0
#84 renderTreeNode jsr305 3.0.2
#84 renderTreeNode error_prone_annotations 2.20.0
#84 renderTreeNode guava 32.0.1-android
#88 renderTreeNode jsr305 3.0.2
#88 renderTreeNode error_prone_annotations 2.20.0
#88 renderTreeNode failureaccess 1.0.1
#88 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#88 renderTreeNode j2objc-annotations 2.8
#88 renderTreeNode checker-qual 3.33.0
#76 renderTreeNode grpc-util 1.58.0
#80 renderTreeNode guava 32.0.1-android
#84 renderTreeNode jsr305 3.0.2
#84 renderTreeNode error_prone_annotations 2.20.0
#84 renderTreeNode failureaccess 1.0.1
#84 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#84 renderTreeNode j2objc-annotations 2.8
#84 renderTreeNode checker-qual 3.33.0
#80 renderTreeNode grpc-core 1.58.0
#84 renderTreeNode annotations 4.1.1.4
#84 renderTreeNode gson 2.10.1
#84 renderTreeNode error_prone_annotations 2.20.0
#84 renderTreeNode guava 32.0.1-android
#88 renderTreeNode jsr305 3.0.2
#88 renderTreeNode error_prone_annotations 2.20.0
#88 renderTreeNode failureaccess 1.0.1
#88 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#88 renderTreeNode j2objc-annotations 2.8
#88 renderTreeNode checker-qual 3.33.0
#84 renderTreeNode grpc-api 1.58.0
#88 renderTreeNode jsr305 3.0.2
#88 renderTreeNode error_prone_annotations 2.20.0
#88 renderTreeNode guava 32.0.1-android
#92 renderTreeNode jsr305 3.0.2
#92 renderTreeNode error_prone_annotations 2.20.0
#92 renderTreeNode failureaccess 1.0.1
#92 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#92 renderTreeNode j2objc-annotations 2.8
#92 renderTreeNode checker-qual 3.33.0
#84 renderTreeNode grpc-context 1.58.0
#88 renderTreeNode grpc-api 1.58.0
#92 renderTreeNode jsr305 3.0.2
#92 renderTreeNode error_prone_annotations 2.20.0
#92 renderTreeNode guava 32.0.1-android
#96 renderTreeNode jsr305 3.0.2
#96 renderTreeNode error_prone_annotations 2.20.0
#96 renderTreeNode failureaccess 1.0.1
#96 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#96 renderTreeNode j2objc-annotations 2.8
#96 renderTreeNode checker-qual 3.33.0
#84 renderTreeNode grpc-util 1.58.0
#88 renderTreeNode guava 32.0.1-android
#92 renderTreeNode jsr305 3.0.2
#92 renderTreeNode error_prone_annotations 2.20.0
#92 renderTreeNode failureaccess 1.0.1
#92 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#92 renderTreeNode j2objc-annotations 2.8
#92 renderTreeNode checker-qual 3.33.0
#88 renderTreeNode grpc-core 1.58.0
#92 renderTreeNode annotations 4.1.1.4
#92 renderTreeNode gson 2.10.1
#92 renderTreeNode error_prone_annotations 2.20.0
#92 renderTreeNode guava 32.0.1-android
#96 renderTreeNode jsr305 3.0.2
#96 renderTreeNode error_prone_annotations 2.20.0
#96 renderTreeNode failureaccess 1.0.1
#96 renderTreeNode listenablefuture 9999.0-empty-to-avoid-conflict-with-guava
#96 renderTreeNode j2objc-annotations 2.8
#96 renderTreeNode checker-qual 3.33.0
#92 renderTreeNode grpc-api 1.58.0
#96 renderTreeNode jsr305 3.0.2
#96 renderTreeNode error_prone_annotations 2.20.0
#96 renderTreeNode guava 32.0.1-android
#92 renderTreeNode grpc-context 1.58.0
#96 renderTreeNode grpc-api 1.58.0
#92 renderTreeNode grpc-util 1.58.0
#96 renderTreeNode guava 32.0.1-android
#96 renderTreeNode grpc-core 1.58.0
#96 renderTreeNode animal-sniffer-annotations 1.23
#92 renderTreeNode perfmark-api 0.26.0
#92 renderTreeNode animal-sniffer-annotations 1.23
#88 renderTreeNode animal-sniffer-annotations 1.23
#84 renderTreeNode perfmark-api 0.26.0
#84 renderTreeNode animal-sniffer-annotations 1.23
#80 renderTreeNode animal-sniffer-annotations 1.23
#76 renderTreeNode perfmark-api 0.26.0
#76 renderTreeNode animal-sniffer-annotations 1.23
#72 renderTreeNode animal-sniffer-annotations 1.23
#68 renderTreeNode perfmark-api 0.26.0
#68 renderTreeNode animal-sniffer-annotations 1.23
#64 renderTreeNode animal-sniffer-annotations 1.23
#60 renderTreeNode perfmark-api 0.26.0
#60 renderTreeNode animal-sniffer-annotations 1.23
#56 renderTreeNode animal-sniffer-annotations 1.23
#52 renderTreeNode perfmark-api 0.26.0
#52 renderTreeNode animal-sniffer-annotations 1.23
#48 renderTreeNode animal-sniffer-annotations 1.23
#44 renderTreeNode perfmark-api 0.26.0
#44 renderTreeNode animal-sniffer-annotations 1.23
#40 renderTreeNode animal-sniffer-annotations 1.23
#36 renderTreeNode perfmark-api 0.26.0
#36 renderTreeNode animal-sniffer-annotations 1.23
#32 renderTreeNode animal-sniffer-annotations 1.23
#28 renderTreeNode perfmark-api 0.26.0
#28 renderTreeNode animal-sniffer-annotations 1.23
#24 renderTreeNode animal-sniffer-annotations 1.23
#20 renderTreeNode perfmark-api 0.26.0
#20 renderTreeNode animal-sniffer-annotations 1.23
#16 renderTreeNode animal-sniffer-annotations 1.23
#12 renderTreeNode perfmark-api 0.26.0
#12 renderTreeNode animal-sniffer-annotations 1.23
#8 renderTreeNode animal-sniffer-annotations 1.23
#4 renderTreeNode perfmark-api 0.26.0
#4 renderTreeNode animal-sniffer-annotations 1.23
#0 renderTreeNode scala-library 2.12.18
if (n.evictedByVersion.isEmpty) { | ||
private def renderTreeNode(p: Printer, graph: ModuleGraph, n: Module, parents: Set[Module]): Unit = | ||
// avoid cycles by checking if in parents | ||
if (n.evictedByVersion.isEmpty && !parents.contains(n)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Now fixed in a more proper way. This was also fixed in dependencyTree ascii rendering sbt/sbt-dependency-graph@0c3cf98
The reason is that grpc-core has a dependency to grpc-util, which has a compile scope dependency back to grpc-core https://repo1.maven.org/maven2/io/grpc/grpc-util/1.58.0/grpc-util-1.58.0.pom
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, that's better.
if (n.evictedByVersion.isEmpty) { | ||
private def renderTreeNode(p: Printer, graph: ModuleGraph, n: Module, parents: Set[Module]): Unit = | ||
// avoid cycles by checking if in parents | ||
if (n.evictedByVersion.isEmpty && !parents.contains(n)) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, that's better.