sbt / sbt-dependency-graph

sbt plugin to create a dependency graph for your project
Apache License 2.0
1.25k stars 113 forks source link
build-tool dependencies sbt sbt-plugin scala

sbt-dependency-graph

Join the chat at https://gitter.im/jrudolph/sbt-dependency-graph

Visualize your project's dependencies.

DEPRECATED: This plugin has been replaced by built-in sbt plugin in sbt 1.4+, please replace your dependency on this plugin with the following statement addDependencyTreePlugin

Note: Under sbt >= 1.3.x some features might currently not work as expected or not at all (like dependencyLicenses).

Usage Instructions

sbt-dependency-graph is an informational tool rather than one that changes your build, so 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 for sbt 0.13 or ~/.sbt/1.0/plugins/plugins.sbt for sbt 1.0:

For sbt 1.4+ use:

addDependencyTreePlugin

For sbt < 1.3 use:

addSbtPlugin("net.virtual-void" % "sbt-dependency-graph" % "0.10.0-RC1")

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

The plugin currently supports sbt versions >= 0.13.10 and sbt 1.0.x. For versions supporting older versions of sbt see the notes of version 0.8.2.

Main Tasks

The following tasks also support the toFile subtask to save the contents to a file:

The toFile subtask has the following syntax:

<config>:<task>::toFile <filename> [-f|--force]

Use -f to force overwriting an existing file.

E.g. test:dependencyStats::toFile target/depstats.txt will write the output of the dependencyStats in the test configuration to the file target/depstats.txt but would not overwrite an existing file.

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.

Note: If you want to run tasks with parameters from outside the sbt shell, make sure to put the whole task invocation in quotes, e.g. sbt "whatDependsOn <org> <module> <version>".

Configuration settings

E.g. in 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`

Known issues

License

Published under the Apache License 2.0.