autodia - a perl script using the Autodia modules to create UML Class Diagrams
or documents. from code or other data sources.
AutoDia takes source files as input and using a handler parses them to create
documentation through templates. The handlers allow AutoDia to parse any
language by providing a handler and registering in in autodia.pm. The
templates allow the output to be heavily customised from Dia XML to simple
HTML and separates the logic of the application from the presentation of the
results.
AutoDia is written in perl and defaults to the perl handler and file extension
matching unless a language is specified using the -l switch.
AutoDia requires Template Toolkit and Perl 5. Some handlers and templates may
require additional software, for example the Java SDK for the java handler.
AutoDia can use GraphViz to generate layout coordinates, and can produce
di-graphs (notation for directional graphs) in dot (plain or canonical) and
vcg, as well as Dia xml.
Helpful information, links and news can be found at the autodia website -
http://www.aarontrevena.co.uk/opensource/autodia/
- "autodia ([-i filename [-p path] ] or [-d directory
[-r] ]) [options]"
- "autodia -i filename : use filename as
input"
- "autodia -i 'filea fileb filec' : use filea, fileb and
filec as input"
- "autodia -i filename -p .. : use ../filename as input
file"
- "autodia -d directoryname : use *.pl/pm in
directoryname as input files"
- "autodia -d 'foo bar quz' : use *pl/pm in directories
foo, bar and quz as input files"
- "autodia -d directory -r : use *pl/pm in directory and
its subdirectories as input files"
- "autodia -d directory -F : use files in directory but
only one file per diagram" =item "autodia.pl -d directory -C : use
files in directory but skip CVS directories"
- "autodia -o outfile.xml : use outfile.xml as output
file (otherwise uses autodial.out.dia)"
- "autodia -O : output to stdout"
- "autodia -l language : parse source as language (ie:
C) and look for appropriate filename extensions if also -d"
- "autodia -t templatefile : use templatefile as
template (otherwise uses template.xml)"
- "autodia -l DBI -i "mysql:test:localhost" -U
username -P password : use test database on localhost with username and
password as username and password"
- "autodia -l Mason -i "/index.html" -p
comp_root -G '\$c' : use HTML::Mason to fetch /index.html from comp_root and
show all components in reach. -G corresponds to allow_globals."
- "autodia -z : output via graphviz"
- "autodia -Z : output via springgraph"
- "autodia -v : output via VCG "
- "autodia -s skipfile : exclude files or packagenames
matching those listed in file"
- c<autodia -D : ignore dependencies (ie do not process or
display dependencies)>
- "autodia -K : do not display packages that are not
part of input"
- "autodia -k : do not display superclasses that are not
part of input"
- "autodia -H : show only Public/Visible
methods"
- "autodia -m : show only Class methods"
- "autodia -M : do not show Class Methods"
- "autodia -a : show only Class Attributes"
- "autodia -A : do not show Class Attributes"
- "autodia -S : silent mode, no output to stdout except
with -O"
- "autodia -h : display this help message"
- "autodia -V : display version and copyright
message"