Bazel Build System
Bazel, an open-source build and test tool, can output graphviz dependency graphs.
This graph is generated querying the source of
Abseil, a C++ library, for all the
ways Abseil's random number library depends on Abseil's string library. Using
--output=graph
outputs a Graphviz graph.
bazel query --output=graph --notool_deps 'allpaths(//absl/random, //absl/strings)' | dot -Tsvg > /tmp/deps.svg
See the Bazel query how-to for details.
[Input .gv File] [SVG] [Raster Image]
bazel.gv.txt
digraph mygraph {
fontname="Helvetica,Arial,sans-serif"
node [fontname="Helvetica,Arial,sans-serif"]
edge [fontname="Helvetica,Arial,sans-serif"]
node [shape=box];
"//absl/random:random"
"//absl/random:random" -> "//absl/random:distributions"
"//absl/random:random" -> "//absl/random:seed_sequences"
"//absl/random:random" -> "//absl/random/internal:pool_urbg"
"//absl/random:random" -> "//absl/random/internal:nonsecure_base"
"//absl/random:distributions"
"//absl/random:distributions" -> "//absl/strings:strings"
"//absl/random:seed_sequences"
"//absl/random:seed_sequences" -> "//absl/random/internal:seed_material"
"//absl/random:seed_sequences" -> "//absl/random/internal:salted_seed_seq"
"//absl/random:seed_sequences" -> "//absl/random/internal:pool_urbg"
"//absl/random:seed_sequences" -> "//absl/random/internal:nonsecure_base"
"//absl/random/internal:nonsecure_base"
"//absl/random/internal:nonsecure_base" -> "//absl/random/internal:pool_urbg"
"//absl/random/internal:nonsecure_base" -> "//absl/random/internal:salted_seed_seq"
"//absl/random/internal:nonsecure_base" -> "//absl/random/internal:seed_material"
"//absl/random/internal:pool_urbg"
"//absl/random/internal:pool_urbg" -> "//absl/random/internal:seed_material"
"//absl/random/internal:salted_seed_seq"
"//absl/random/internal:salted_seed_seq" -> "//absl/random/internal:seed_material"
"//absl/random/internal:seed_material"
"//absl/random/internal:seed_material" -> "//absl/strings:strings"
"//absl/strings:strings"
}