= UMLGraph = http://www.umlgraph.org/index.html https://github.com/dspinellis/UMLGraph == Installation on CentOS == * cd ~ * mkdir tmp * cd tmp * git clone https://github.com/dspinellis/UMLGraph.git * cd UMLGraph/ * mvn clean compile package * cp target/umlgraph-5.7.3-SNAPSHOT.jar /usr/local/lib/UmlGraph.jar * cp umlgraph /usr/local/bin/ * chmod 755 umlgraph /usr/local/bin/umlgraph * vi /usr/local/bin/umlgraph {{{#!highlight bash #!/bin/sh # # Unix shell script to run UMLGraph on the specified base file name # For this to work you must adjust the following defintion of # UMLGRAPH_HOME to point to the directory where UmlGraph.jar is installed. # # UMLGRAPH_HOME=/usr/local/lib JAVA_HOME=/usr/java/default echo "Current UMLGraph Home $UMLGRAPH_HOME" echo "Current Java Home $JAVA_HOME" if [ x$2 = x ] then echo usage: umlgraph base_file_name filetype [umlgraph arguments] 1>&2 echo example: umlgraph MyClass png 1>&2 echo '(The above will convert MyClass.java into MyClass.png)' 1>&2 exit 1 else BASE=$1 FILETYPE=$2 shift 2 java -classpath "$UMLGRAPH_HOME/UmlGraph.jar:$JAVA_HOME/lib/tools.jar" \ org.umlgraph.doclet.UmlGraph -package $* -output - $BASE.java | dot -T$FILETYPE -o$BASE.$FILETYPE fi }}} Generate DOT file (GraphViz) for class Options.java * cd ~/tmp/UMLGraph/src/main/java/org/umlgraph/doclet * umlgraph Options dot {{{#!GraphViz dot digraph G { graph [nodesep="0.25", ranksep="0.5"]; node [label="\N", fontname=Helvetica, fontsize=10, shape=plaintext]; edge [fontname=Helvetica, fontsize=10, labelfontname=Helvetica, labelfontsize=10]; graph [bb="0,0,194,112"]; c0 [label=<
Options
>, fontsize="10.0", URL=null, fontcolor=black, pos="93,18", width="0.88889", height="0.5"]; c1 [label=<
«interface»
Cloneable
>, fontsize="10.0", URL="http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Cloneable.html", fontcolor=black, pos="40,92", width="1.1111", height="0.54167"]; c2 [label=<
«interface»
OptionProvider
>, fontsize="10.0", URL="http://java.sun.com/j2se/1.4.2/docs/api/org/umlgraph/doclet/OptionProvider.html", fontcolor=black, pos="146,92", width="1.3333", height="0.54167"]; c1:p -> c0:p [dir=back, arrowtail=empty, style=dashed, pos="s,51.24,76.307 57.069,68.167 66.943,54.381 78.826,37.791 86.146,27.57"]; c2:p -> c0:p [dir=back, arrowtail=empty, style=dashed, pos="s,134.76,76.307 128.93,68.167 119.06,54.381 107.17,37.791 99.854,27.57"]; } }}}