= 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=<
>, fontsize="10.0", URL=null, fontcolor=black, pos="93,18", width="0.88889", height="0.5"];
c1 [label=<>, 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"];
}
}}}