Skip to content
ASDF system dependency visualizer
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
roswell
src Handle asdf :feature dependencies in a better way Oct 28, 2018
.gitignore
.travis.yml
README.org
alexandria.png github bug? Oct 20, 2017
asdf-viz.asd class-viz Nov 6, 2017
asdf-viz.png
asdf.png
circle.yml
plump.png
symbolicate.png
symbolicate2.png
test.sh
weblocks.png

README.org

ASDF-VIZ

This is a set of command line utilities for visualizing various object hierarchies of a lisp system. They are roswell-compatible command-line utilities distributed by quicklisp. Command installation is done by ros install asdf-viz.

NEWS Oct 20, 2017 We added another utility call-graph-viz which can visualize the call graph of a function.

NEWS Nov 6, 2017 We added another utility class-viz which visualizes the class inheritances.

NEWS Nov 25, 2017 We have a license flag -l / –licence for asdf-viz.

NEWS Sep 19, 2018 System-provided asdf:require-system systems (e.g. sb-introsoect) are plotted in a different shape/color. (See weblocks examples)

asdf-viz – visualizing the library dependencies of asdf systems.

  • Simple usage: $ asdf-viz [output.png] [system-name]...
  • Complex usage: $ asdf-viz [[-e|--exclude SYSTEM]...] [-l|--license] PNG-PATH [SYSTEM...]

Sample output of asdf-viz -l asdf-viz.png asdf-viz :

./asdf-viz.png

./weblocks.png

call-graph-viz – visualizing the call graph

Usage: call-graph-viz [options...] png-path

source options
  -s / --system SYSTEM : Quickload the system in the beginning. (specified multiple times, accumulates)
  -l / --load FILE     : Load the FILE before the visualization.(specified multiple times, accumulates)
  -r / --ros FILE      : Load a .ros script before the visualization. (specified multiple times, accumulates)
                         This avoids the problem of shebangs in roswell scripts.

filter options
  -p / --package PKG   : Limit the symbols to the package.      (specified multiple times, accumulates)
                         Package names are automatically upcased.
  -f / --function FN   : Specify the root nodes..               (specified multiple times, accumulates)
  -i / --include-outside-calls : Specifies if the leaf node can contain symbols outside the specified packages.

Examples:

call-graph-viz -s alexandria -p alexandria -f alexandria:symbolicate symbolicate.png
call-graph-viz -s alexandria -f alexandria:symbolicate symbolicate.png
 -- Visualize the call graph of alexandria:symbolicate .
    The second example has the same meaning, where -p option is inferred from the symbol package.

call-graph-viz -i -s alexandria -f alexandria:symbolicate symbolicate2.png
 -- Visualize the call graph of alexandria:symbolicate . Leaf nodes include symbols outside alexandria.

call-graph-viz -s alexandria -p alexandria alexandria.png
 -- Visualize the call graph of all external fbound symbols in alexandria

Example outputs:

./symbolicate.png

./symbolicate2.png

./alexandria.png

class-viz – visualizing the class hierarchy

Usage: class-viz [-s|--system system]* [png-path] [class names...]
Example: class-viz asdf.png asdf:component
Example: class-viz -s plump plump.png plump:node

Example outputs:

./asdf.png

./plump.png

Dependencies

roswell and graphviz.

Installation

  • ros install asdf-viz
  • set up PATH to include .roswell/bin/

Author

  • Masataro Asai (guicho2.71828@gmail.com)

Copyright

Copyright (c) 2015 Masataro Asai (guicho2.71828@gmail.com)

License

Licensed under the LLGPL License.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.