Skip to content

Instantly share code, notes, and snippets.

@suztomo
Created June 19, 2020 21:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suztomo/b0f02c313c2912a7d2e21abd6acf6171 to your computer and use it in GitHub Desktop.
Save suztomo/b0f02c313c2912a7d2e21abd6acf6171 to your computer and use it in GitHub Desktop.
Sbt dependency tree task

Demo of sbt dependencyTree task applied to hello project through sbt-dependency-graph plugin.

suztomo-macbookpro44% cat ~/.sbt/1.0/plugins/plugins.sbt 
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.10.0-RC1")
suztomo-macbookpro44% sbt dependencyTree
[info] Loading settings for project global-plugins from plugins.sbt ...
[info] Loading global plugins from /Users/suztomo/.sbt/1.0/plugins
[info] Updating ProjectRef(uri("file:/Users/suztomo/.sbt/1.0/plugins/"), "global-plugins")...
[info] downloading https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.dwijnand/sbt-compat/scala_2.12/sbt_1.0/1.2.6/jars/sbt-compat.jar ...
[info] 	[SUCCESSFUL ] com.dwijnand#sbt-compat;1.2.6!sbt-compat.jar (529ms)
[info] Done updating.
[info] Loading project definition from /private/tmp/hello/project
[info] Updating ProjectRef(uri("file:/private/tmp/hello/project/"), "hello-build")...
[info] Done updating.
[info] Loading settings for project root from build.sbt ...
[info] Set current project to hello (in build file:/private/tmp/hello/)
[info] Updating ...
[info] downloading https://repo1.maven.org/maven2/com/google/api/gax/1.57.0/gax-1.57.0.jar ...
[info] downloading https://repo1.maven.org/maven2/com/google/guava/guava/28.2-android/guava-28.2-android.jar ...
[info] downloading https://repo1.maven.org/maven2/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar ...
[info] downloading https://repo1.maven.org/maven2/com/google/auth/google-auth-library-oauth2-http/0.20.0/google-auth-library-oauth2-http-0.20.0.jar ...
[info] downloading https://repo1.maven.org/maven2/org/threeten/threetenbp/1.4.1/threetenbp-1.4.1.jar ...
[info] downloading https://repo1.maven.org/maven2/com/google/api/api-common/1.9.2/api-common-1.9.2.jar ...
[info] 	[SUCCESSFUL ] com.google.code.findbugs#jsr305;3.0.2!jsr305.jar (184ms)
[info] downloading https://repo1.maven.org/maven2/io/opencensus/opencensus-api/0.24.0/opencensus-api-0.24.0.jar ...
[info] 	[SUCCESSFUL ] com.google.auth#google-auth-library-oauth2-http;0.20.0!google-auth-library-oauth2-http.jar (194ms)
[info] downloading https://repo1.maven.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.jar ...
[info] 	[SUCCESSFUL ] com.google.api#api-common;1.9.2!api-common.jar (195ms)
[info] downloading https://repo1.maven.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar ...
[info] 	[SUCCESSFUL ] com.google.api#gax;1.57.0!gax.jar (236ms)
[info] downloading https://repo1.maven.org/maven2/org/checkerframework/checker-compat-qual/2.5.5/checker-compat-qual-2.5.5.jar ...
[info] 	[SUCCESSFUL ] org.threeten#threetenbp;1.4.1!threetenbp.jar (234ms)
[info] downloading https://repo1.maven.org/maven2/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar ...
[info] 	[SUCCESSFUL ] com.google.guava#listenablefuture;9999.0-empty-to-avoid-conflict-with-guava!listenablefuture.jar (63ms)
[info] 	[SUCCESSFUL ] com.google.guava#failureaccess;1.0.1!failureaccess.jar(bundle) (68ms)
[info] downloading https://repo1.maven.org/maven2/com/google/auth/google-auth-library-credentials/0.20.0/google-auth-library-credentials-0.20.0.jar ...
[info] downloading https://repo1.maven.org/maven2/com/google/j2objc/j2objc-annotations/1.3/j2objc-annotations-1.3.jar ...
[info] 	[SUCCESSFUL ] io.opencensus#opencensus-api;0.24.0!opencensus-api.jar (110ms)
[info] downloading https://repo1.maven.org/maven2/com/google/http-client/google-http-client/1.34.0/google-http-client-1.34.0.jar ...
[info] 	[SUCCESSFUL ] org.checkerframework#checker-compat-qual;2.5.5!checker-compat-qual.jar (70ms)
[info] 	[SUCCESSFUL ] com.google.errorprone#error_prone_annotations;2.3.4!error_prone_annotations.jar (69ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar ...
[info] downloading https://repo1.maven.org/maven2/com/google/http-client/google-http-client-jackson2/1.34.0/google-http-client-jackson2-1.34.0.jar ...
[info] 	[SUCCESSFUL ] com.google.auth#google-auth-library-credentials;0.20.0!google-auth-library-credentials.jar (97ms)
[info] downloading https://repo1.maven.org/maven2/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar ...
[info] 	[SUCCESSFUL ] com.google.j2objc#j2objc-annotations;1.3!j2objc-annotations.jar (99ms)
[info] downloading https://repo1.maven.org/maven2/io/opencensus/opencensus-contrib-http-util/0.24.0/opencensus-contrib-http-util-0.24.0.jar ...
[info] 	[SUCCESSFUL ] com.google.http-client#google-http-client-jackson2;1.34.0!google-http-client-jackson2.jar (105ms)
[info] downloading https://repo1.maven.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.jar ...
[info] 	[SUCCESSFUL ] com.google.http-client#google-http-client;1.34.0!google-http-client.jar (137ms)
[info] downloading https://repo1.maven.org/maven2/io/grpc/grpc-context/1.22.1/grpc-context-1.22.1.jar ...
[info] 	[SUCCESSFUL ] io.opencensus#opencensus-contrib-http-util;0.24.0!opencensus-contrib-http-util.jar (73ms)
[info] downloading https://repo1.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.10.1/jackson-core-2.10.1.jar ...
[info] 	[SUCCESSFUL ] org.apache.httpcomponents#httpcore;4.4.12!httpcore.jar (146ms)
[info] downloading https://repo1.maven.org/maven2/javax/annotation/javax.annotation-api/1.3.2/javax.annotation-api-1.3.2.jar ...
[info] 	[SUCCESSFUL ] io.grpc#grpc-context;1.22.1!grpc-context.jar (91ms)
[info] downloading https://repo1.maven.org/maven2/com/google/auto/value/auto-value-annotations/1.7.2/auto-value-annotations-1.7.2.jar ...
[info] 	[SUCCESSFUL ] commons-codec#commons-codec;1.11!commons-codec.jar (112ms)
[info] 	[SUCCESSFUL ] javax.annotation#javax.annotation-api;1.3.2!javax.annotation-api.jar (51ms)
[info] 	[SUCCESSFUL ] com.fasterxml.jackson.core#jackson-core;2.10.1!jackson-core.jar(bundle) (122ms)
[info] 	[SUCCESSFUL ] com.google.auto.value#auto-value-annotations;1.7.2!auto-value-annotations.jar (67ms)
[info] 	[SUCCESSFUL ] org.apache.httpcomponents#httpclient;4.5.10!httpclient.jar (288ms)
[info] 	[SUCCESSFUL ] com.google.guava#guava;28.2-android!guava.jar(bundle) (745ms)
[info] Done updating.
[warn] There may be incompatibilities among your library dependencies; run 'evicted' to see detailed eviction warnings.
[info] com.example:hello_2.12:0.1.0-SNAPSHOT [S]
[info]   +-com.google.api:gax:1.57.0
[info]     +-com.google.api:api-common:1.9.2
[info]     | +-com.google.auto.value:auto-value-annotations:1.7.2
[info]     | +-com.google.code.findbugs:jsr305:3.0.2
[info]     | +-com.google.guava:guava:28.2-android
[info]     | | +-com.google.code.findbugs:jsr305:3.0.2
[info]     | | +-com.google.errorprone:error_prone_annotations:2.3.4
[info]     | | +-com.google.guava:failureaccess:1.0.1
[info]     | | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
[info]     | | +-com.google.j2objc:j2objc-annotations:1.3
[info]     | | +-org.checkerframework:checker-compat-qual:2.5.5
[info]     | | 
[info]     | +-com.google.guava:guava:29.0-android (evicted by: 28.2-android)
[info]     | +-javax.annotation:javax.annotation-api:1.3.2
[info]     | 
[info]     +-com.google.auth:google-auth-library-oauth2-http:0.20.0
[info]     | +-com.google.auth:google-auth-library-credentials:0.20.0
[info]     | +-com.google.auto.value:auto-value-annotations:1.7 (evicted by: 1.7.2)
[info]     | +-com.google.auto.value:auto-value-annotations:1.7.2
[info]     | +-com.google.code.findbugs:jsr305:3.0.2
[info]     | +-com.google.guava:guava:28.2-android
[info]     | | +-com.google.code.findbugs:jsr305:3.0.2
[info]     | | +-com.google.errorprone:error_prone_annotations:2.3.4
[info]     | | +-com.google.guava:failureaccess:1.0.1
[info]     | | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
[info]     | | +-com.google.j2objc:j2objc-annotations:1.3
[info]     | | +-org.checkerframework:checker-compat-qual:2.5.5
[info]     | | 
[info]     | +-com.google.http-client:google-http-client-jackson2:1.34.0
[info]     | | +-com.fasterxml.jackson.core:jackson-core:2.10.1
[info]     | | +-com.google.http-client:google-http-client:1.34.0
[info]     | |   +-com.google.code.findbugs:jsr305:3.0.2
[info]     | |   +-com.google.guava:guava:28.1-android (evicted by: 28.2-android)
[info]     | |   +-com.google.guava:guava:28.2-android
[info]     | |   | +-com.google.code.findbugs:jsr305:3.0.2
[info]     | |   | +-com.google.errorprone:error_prone_annotations:2.3.4
[info]     | |   | +-com.google.guava:failureaccess:1.0.1
[info]     | |   | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
[info]     | |   | +-com.google.j2objc:j2objc-annotations:1.3
[info]     | |   | +-org.checkerframework:checker-compat-qual:2.5.5
[info]     | |   | 
[info]     | |   +-com.google.j2objc:j2objc-annotations:1.3
[info]     | |   +-io.opencensus:opencensus-api:0.24.0
[info]     | |   | +-io.grpc:grpc-context:1.22.1
[info]     | |   | 
[info]     | |   +-io.opencensus:opencensus-contrib-http-util:0.24.0
[info]     | |   | +-com.google.guava:guava:26.0-android (evicted by: 28.2-android)
[info]     | |   | +-com.google.guava:guava:28.1-android (evicted by: 28.2-android)
[info]     | |   | +-com.google.guava:guava:28.2-android
[info]     | |   | | +-com.google.code.findbugs:jsr305:3.0.2
[info]     | |   | | +-com.google.errorprone:error_prone_annotations:2.3.4
[info]     | |   | | +-com.google.guava:failureaccess:1.0.1
[info]     | |   | | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
[info]     | |   | | +-com.google.j2objc:j2objc-annotations:1.3
[info]     | |   | | +-org.checkerframework:checker-compat-qual:2.5.5
[info]     | |   | | 
[info]     | |   | +-io.opencensus:opencensus-api:0.24.0
[info]     | |   |   +-io.grpc:grpc-context:1.22.1
[info]     | |   |   
[info]     | |   +-org.apache.httpcomponents:httpclient:4.5.10
[info]     | |   | +-commons-codec:commons-codec:1.11
[info]     | |   | +-commons-logging:commons-logging:1.2
[info]     | |   | +-org.apache.httpcomponents:httpcore:4.4.12
[info]     | |   | 
[info]     | |   +-org.apache.httpcomponents:httpcore:4.4.12
[info]     | |   
[info]     | +-com.google.http-client:google-http-client:1.34.0
[info]     |   +-com.google.code.findbugs:jsr305:3.0.2
[info]     |   +-com.google.guava:guava:28.1-android (evicted by: 28.2-android)
[info]     |   +-com.google.guava:guava:28.2-android
[info]     |   | +-com.google.code.findbugs:jsr305:3.0.2
[info]     |   | +-com.google.errorprone:error_prone_annotations:2.3.4
[info]     |   | +-com.google.guava:failureaccess:1.0.1
[info]     |   | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
[info]     |   | +-com.google.j2objc:j2objc-annotations:1.3
[info]     |   | +-org.checkerframework:checker-compat-qual:2.5.5
[info]     |   | 
[info]     |   +-com.google.j2objc:j2objc-annotations:1.3
[info]     |   +-io.opencensus:opencensus-api:0.24.0
[info]     |   | +-io.grpc:grpc-context:1.22.1
[info]     |   | 
[info]     |   +-io.opencensus:opencensus-contrib-http-util:0.24.0
[info]     |   | +-com.google.guava:guava:26.0-android (evicted by: 28.2-android)
[info]     |   | +-com.google.guava:guava:28.1-android (evicted by: 28.2-android)
[info]     |   | +-com.google.guava:guava:28.2-android
[info]     |   | | +-com.google.code.findbugs:jsr305:3.0.2
[info]     |   | | +-com.google.errorprone:error_prone_annotations:2.3.4
[info]     |   | | +-com.google.guava:failureaccess:1.0.1
[info]     |   | | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
[info]     |   | | +-com.google.j2objc:j2objc-annotations:1.3
[info]     |   | | +-org.checkerframework:checker-compat-qual:2.5.5
[info]     |   | | 
[info]     |   | +-io.opencensus:opencensus-api:0.24.0
[info]     |   |   +-io.grpc:grpc-context:1.22.1
[info]     |   |   
[info]     |   +-org.apache.httpcomponents:httpclient:4.5.10
[info]     |   | +-commons-codec:commons-codec:1.11
[info]     |   | +-commons-logging:commons-logging:1.2
[info]     |   | +-org.apache.httpcomponents:httpcore:4.4.12
[info]     |   | 
[info]     |   +-org.apache.httpcomponents:httpcore:4.4.12
[info]     |   
[info]     +-com.google.code.findbugs:jsr305:3.0.2
[info]     +-com.google.guava:guava:28.2-android
[info]     | +-com.google.code.findbugs:jsr305:3.0.2
[info]     | +-com.google.errorprone:error_prone_annotations:2.3.4
[info]     | +-com.google.guava:failureaccess:1.0.1
[info]     | +-com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
[info]     | +-com.google.j2objc:j2objc-annotations:1.3
[info]     | +-org.checkerframework:checker-compat-qual:2.5.5
[info]     | 
[info]     +-io.opencensus:opencensus-api:0.24.0
[info]     | +-io.grpc:grpc-context:1.22.1
[info]     | 
[info]     +-org.threeten:threetenbp:1.4.1
[info]     
[success] Total time: 5 s, completed Jun 19, 2020 5:53:26 PM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment