asdf-viz
asdf-viz copied to clipboard
ASDF system dependency visualizer
- 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]]
[[./spinneret.png]]
** call-graph-viz -- visualizing the call graph
#+begin_src 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 #+end_src
Example outputs:
[[./symbolicate.png]]
[[./symbolicate2.png]]
[[./alexandria.png]]
** class-viz -- visualizing the class hierarchy
#+begin_src 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 #+end_src
Example outputs:
[[./asdf.png]]
[[./plump.png]]
** Dependencies
[[https://github.com/snmsts/roswell/][roswell]] and graphviz.
** Installation
- =ros install asdf-viz=
- set up PATH to include =.roswell/bin/=
** Author
- Masataro Asai ([email protected])
- Copyright
Copyright (c) 2015 Masataro Asai ([email protected])
- License
Licensed under the LLGPL License.