Sbt Dependency Graph Plugin

sbt plugin -> sbt dependency graph: show sbt dependencyTree

Usage Instructions

Since sbt-dependency-graph is an informational tool rather than one that changes your build, you will more than likely wish to
install it as a [global plugin] so that you can use it in any SBT project without the need to explicitly add it to each one. To do
this, add the plugin dependency to ~/.sbt/0.13/plugins/plugins.sbt:

1
addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.8.2")

To add the plugin only to a single project, put this line into project/plugins.sbt of your project, instead.

This plugin is an auto-plugin which will be automatically enabled starting from sbt 0.13.5.

Main Tasks

  • dependencyTree: Shows an ASCII tree representation of the project’s dependencies
  • dependencyBrowseGraph: Opens a browser window with a visualization of the dependency graph (courtesy of graphlib-dot + dagre-d3).
  • dependencyGraph: Shows an ASCII graph of the project’s dependencies on the sbt console
  • dependencyList: Shows a flat list of all transitive dependencies on the sbt console (sorted by organization and name)
  • whatDependsOn <organization> <module> <revision>: Find out what depends on an artifact. Shows a reverse dependency
    tree for the selected module.
  • dependencyLicenseInfo: show dependencies grouped by declared license
  • dependencyStats: Shows a table with each module a row with (transitive) Jar sizes and number of dependencies
  • dependencyGraphMl: Generates a .graphml file with the project’s dependencies to target/dependencies-<config>.graphml.
    Use e.g. yEd to format the graph to your needs.
  • dependencyDot: Generates a .dot file with the project’s dependencies to target/dependencies-<config>.dot.
    Use graphviz to render it to your preferred graphic format.
  • ivyReport: let’s ivy generate the resolution report for you project. Use
    show ivyReport for the filename of the generated report

All tasks can be scoped to a configuration to get the report for a specific configuration. test:dependencyGraph,
for example, prints the dependencies in the test configuration. If you don’t specify any configuration, compile is
assumed as usual.