sbt-dependency-graph alternatives and similar packages
Based on the "Sbt plugins" category.
Alternatively, view sbt-dependency-graph alternatives based on common mentions on social networks and blogs.
-
sbt-assembly
Deploy über-JARs. Restart processes. (port of codahale/assembly-sbt) -
sbteclipse
Plugin for sbt to create Eclipse project definitions -
sbt-jmh
"Trust no one, bench everything." - sbt plugin for JMH (Java Microbenchmark Harness) -
sbt-revolver
An SBT plugin for dangerously fast development turnaround in Scala -
sbt-updates
sbt plugin that can check Maven and Ivy repositories for dependency updates -
better-monadic-for
Desugaring scala `for` without implicit `withFilter`s -
sbt-buildinfo
I know this because build.sbt knows this. -
sbt-pack
A sbt plugin for creating distributable Scala packages. -
sbt-microsites
An sbt plugin to create awesome microsites for your project -
sbt-mima-plugin
A tool for catching binary incompatibility in Scala -
sbt-ensime
Generates .ensime config files for SBT projects http://ensime.org/build_tools/sbt -
sbt-sonatype
A sbt plugin for publishing Scala/Java projects to the Maven central. -
sbt-ci-release
sbt plugin to automate Sonatype releases from GitHub Actions -
sbt-dependency-check
SBT Plugin for OWASP DependencyCheck. Monitor your dependencies and report if there are any publicly known vulnerabilities (e.g. CVEs). :rainbow: -
sbt-header
sbt-header is an sbt plugin for creating file headers, e.g. copyright headers -
sbt-play-scalajs
SBT plugin to use Scala.js along with any sbt-web server. -
sbt-api-mappings
An Sbt plugin that fills apiMappings for common Scala libraries. -
sbt-unidoc
sbt plugin to create a unified Scaladoc or Javadoc API document across multiple subprojects. -
sbt-sublime
An sbt plugin for generating Sublime Text projects with library dependencies sources -
sbt pom reader plugin
Translates xml -> awesome. Maven-ish support for sbt. -
sbt-ghpages
git, site and ghpages support for sbt projects. -
sbt-ide-settings
SBT plugin for tweaking various IDE settings -
sbt-scala-js-map
A Sbt plugin that configures source mapping for Scala.js projects hosted on Github -
sbt-versions
Plugin that checks for updated versions of your project's dependencies. -
sbt-hepek
Sbt plugin for rendering Scala objects to files. And more! -
sbt-pantarhei
sbt plugin building and publishing release notes from github pull requests -
sbt-classfinder
SBT plugin for retrieving runtime information about the classes and traits in a project
Clean code begins in your IDE with SonarLint
Do you think we are missing an alternative of sbt-dependency-graph or a related project?
README
sbt-dependency-graph
Visualize your project's dependencies.
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:
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
dependencyTree
: Shows an ASCII tree representation of the project's dependenciesdependencyBrowseGraph
: Opens a browser window with a visualization of the dependency graph (courtesy of graphlib-dot + dagre-d3).dependencyBrowseTree
: Opens a browser window with a visualization of the dependency tree (courtesy of jstree).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. The<revision>
argument is optional.dependencyLicenseInfo
: show dependencies grouped by declared licensedependencyStats
: Shows a table with each module a row with (transitive) Jar sizes and number of dependenciesdependencyGraphMl
: Generates a.graphml
file with the project's dependencies totarget/dependencies-<config>.graphml
. Use e.g. yEd to format the graph to your needs.dependencyDot
: Generates a .dot file with the project's dependencies totarget/dependencies-<config>.dot
. Use graphviz to render it to your preferred graphic format.dependencyGraph
: Shows an ASCII graph of the project's dependencies on the sbt console (only supported on sbt 0.13)ivyReport
: Lets ivy generate the resolution report for you project. Useshow ivyReport
for the filename of the generated report
The following tasks also support the toFile
subtask to save the contents to a file:
dependencyTree
dependencyList
dependencyStats
dependencyLicenseInfo
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
filterScalaLibrary
: Defines if the scala library should be excluded from the output of the dependency-* functions. Iftrue
, instead of showing the dependency"[S]"
is appended to the artifact name. Set tofalse
if you want the scala-library dependency to appear in the output. (default: true)dependencyGraphMLFile
: a setting which allows configuring the output path ofdependency-graph-ml
.dependencyDotFile
: a setting which allows configuring the output path ofdependency-dot
.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[organisation]<BR/><B>[name]</B><BR/>[version]
)
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
- #19: There's an unfixed bug with graph generation for particular layouts. Workaround:
Use
dependency-tree
instead ofdependency-graph
.
License
Published under the Apache License 2.0.
*Note that all licence references and agreements mentioned in the sbt-dependency-graph README section above
are relevant to that project's source code only.