Visualize your project's dependencies.
The plugin works best with sbt >= 0.13.6. See the compatibility notes to use this plugin with an older version of sbt.
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
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.
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
.graphmlfile 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 ivyReportfor the filename of the generated report
All tasks can be scoped to a configuration to get the report for a specific configuration.
for example, prints the dependencies in the
test configuration. If you don't specify any configuration,
assumed as usual.
filterScalaLibrary: Defines if the scala library should be excluded from the output of the dependency-* functions. If
true, instead of showing the dependency
"[S]"is appended to the artifact name. Set to
falseif you want the scala-library dependency to appear in the output. (default: true)
dependencyGraphMLFile: a setting which allows configuring the output path of
dependencyDotFile: a setting which allows configuring the output path of
dependencyDotHeader: a setting to customize the header of the dot file (e.g. to set your preferred node shapes).
dependencyDotNodeLabel: defines the format of a node label (default set to
build.sbt you can change configuration settings like this:
filterScalaLibrary := false // include scala library in output dependencyDotFile := file("dependencies.dot") //render dot file to `./dependencies.dot`
- #19: There's an unfixed bug with graph generation for particular layouts. Workaround:
- #39: When using sbt-dependency-graph with sbt < 0.13.6.
- sbt < 0.13.6: The plugin will fall back on the old ivy report XML backend which suffers from #39.
sbt < 0.13.5: Old versions of sbt have no
AutoPluginsupport, you need to add
~/.sbt/0.13/user.sbtfor global configuration) to enable the plugin.
- sbt <= 0.12.x: Old versions of sbt are not actively supported any more. Please use the old version from the 0.7 branch.
Published under the Apache License 2.0.