tools.deps.graph

A tool for making deps.edn dependency graphs.

Deps

Usage

Add tools.deps.graph as an alias in your ~/.clojure/deps.edn so it's available in any project:

{...
 :aliases
 {:graph {:deps {org.clojure/tools.deps.graph {:mvn/version "0.1.14"}}
          :main-opts ["-m" "clojure.tools.deps.graph"]}}}

Run it in your current project:

clj -A:graph <options>

If no options are provided, tools.deps.graph will create a dependency graph for the current project and display it. Ctrl-C to quit.

Options:

  • -d DEPSFILE - deps.edn file to read, default=deps.edn
  • -t - Trace mode, will output one image per expansion step
  • -f TRACEFILE - Trace file mode - read trace file, don't use deps.edn file
  • -o FILE - Output file, in trace mode, required and will create N images with this as a prefix
  • -a - Concatenated alias names to enable when reading deps file
  • --trace-omit - Comma-delimited list of libs to skip in trace images"

Examples

clj -A:graph

Show dependency graph for current project

clj -A:graph -o deps.png

Save dependency graph to deps.png for current project

clj -A:graph -d mydeps.edn -o mydeps.png

Read mydeps.edn, create deps graph, output image to mydeps.png

clj -A:graph -t -o trace

Read deps.edn, trace expansion, output steps as trace100.png, trace101.png, ...

clj -A:graph -d mydeps.edn -t -o trace

Read mydeps.edn, trace expansion, output trace100.png, ...

clj -Strace
clj -A:graph -f trace.edn -o trace

Use -Strace to output a trace.edn file. Read trace.edn file, output trace100.png, ...

Release Information

Latest release: 0.1.14

deps.edn dependency information:

org.clojure/tools.deps.graph {:mvn/version "0.1.14"}

Developer Information

Copyright and License

Copyright © 2019 Rich Hickey, Alex Miller, and contributors

All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.