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 { 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" }

Last modified June 14, 2021 : Update docsy theme (097a529)