mirror of https://github.com/dspinellis/UMLGraph
Compare commits
446 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
e83df07d5f | |
|
|
e79f81666b | |
|
|
893fa38908 | |
|
|
a4fa650471 | |
|
|
606976778e | |
|
|
8d7a3e4b5c | |
|
|
2a471e5b8c | |
|
|
42c648b596 | |
|
|
5a058a3ace | |
|
|
24e5822d7b | |
|
|
7147eaa5ed | |
|
|
62acb7337b | |
|
|
de056154bd | |
|
|
27d7821666 | |
|
|
16c1937aad | |
|
|
70929da1d0 | |
|
|
6115e12837 | |
|
|
d273b6a3ef | |
|
|
cd8c3629a1 | |
|
|
c8f805bdef | |
|
|
d80597d547 | |
|
|
09576db5ae | |
|
|
75cc871a10 | |
|
|
0967a91289 | |
|
|
0ba1798ac5 | |
|
|
bab25cbe35 | |
|
|
26c9f9d1e5 | |
|
|
e93b793bd6 | |
|
|
e27eeb4bc3 | |
|
|
867dec5d9c | |
|
|
1d03695f8e | |
|
|
8b39c4614f | |
|
|
7169d40228 | |
|
|
dc18c503e9 | |
|
|
c7d8648352 | |
|
|
aa15be7405 | |
|
|
1925d2f1c7 | |
|
|
08b8976076 | |
|
|
1b29f70460 | |
|
|
2f27948475 | |
|
|
7d9f665d07 | |
|
|
9ddf84129a | |
|
|
a4ab6f179a | |
|
|
fe2c0c3df1 | |
|
|
f3e945c646 | |
|
|
141c8a9353 | |
|
|
fc1b199daf | |
|
|
1e52483a86 | |
|
|
f1be5aaee8 | |
|
|
f7df826f53 | |
|
|
644d148455 | |
|
|
e51f53b25e | |
|
|
a29ba21580 | |
|
|
bca0ceae17 | |
|
|
71f74d3093 | |
|
|
1b4c97630d | |
|
|
477d5cc58a | |
|
|
e5bc6f1f8f | |
|
|
e2595350fd | |
|
|
8806b89cd8 | |
|
|
70a7580e2c | |
|
|
cb77d617e9 | |
|
|
13bb2d54bc | |
|
|
27baa4a6be | |
|
|
3eb6f8d034 | |
|
|
b5238b3bdc | |
|
|
0477f4b82d | |
|
|
5de652cfeb | |
|
|
0e69b7a40f | |
|
|
132f389bcf | |
|
|
7cc92e6fa2 | |
|
|
40b24774eb | |
|
|
021dc34d8e | |
|
|
5cd82f641e | |
|
|
ce3847a1e6 | |
|
|
40b5a687cc | |
|
|
c0b7962170 | |
|
|
d744535438 | |
|
|
160a7db3a7 | |
|
|
5e854d5667 | |
|
|
962ad5af72 | |
|
|
e307530d8e | |
|
|
6211164ca2 | |
|
|
37dc189a29 | |
|
|
d0ede46da8 | |
|
|
30a611ec91 | |
|
|
a72c88fb70 | |
|
|
09fab1724d | |
|
|
db1a918e16 | |
|
|
ff13af7ea6 | |
|
|
c4713960af | |
|
|
a0ed8a2672 | |
|
|
c4f32a5a74 | |
|
|
86574a7824 | |
|
|
4425596017 | |
|
|
1ec3be2f98 | |
|
|
105db10e1a | |
|
|
9f25167880 | |
|
|
23e7da7ca5 | |
|
|
49a3f570bf | |
|
|
93e69a4e24 | |
|
|
ee82a7fd20 | |
|
|
17ab5f89f2 | |
|
|
9039a0011b | |
|
|
6700c90fe2 | |
|
|
691cf7fe69 | |
|
|
e2d2529ce6 | |
|
|
0a37b4e98f | |
|
|
3c92579f87 | |
|
|
43517f2a6d | |
|
|
ee39c4bca8 | |
|
|
91157698e3 | |
|
|
d88df8470f | |
|
|
e5d0ce31d3 | |
|
|
0a8e4a2481 | |
|
|
0bf2c1e440 | |
|
|
76c7c6290c | |
|
|
786d98cd71 | |
|
|
abeb6c22e0 | |
|
|
b23a483c1e | |
|
|
f687058ca3 | |
|
|
cc22b016ef | |
|
|
ade4d6dfc6 | |
|
|
d76d42066a | |
|
|
7fc14a491e | |
|
|
da4d335f38 | |
|
|
de854f562b | |
|
|
fe9ac58af1 | |
|
|
a8b1f1ff46 | |
|
|
fa40aaf731 | |
|
|
d46829bb01 | |
|
|
ac69e12d7a | |
|
|
c1d994d650 | |
|
|
52d95c3cc3 | |
|
|
8d77597da5 | |
|
|
a463b627fb | |
|
|
3bdff0e55b | |
|
|
44a146c03d | |
|
|
41d93e14f6 | |
|
|
e58589e4c0 | |
|
|
6202d34fa6 | |
|
|
0435986b92 | |
|
|
bd246d364f | |
|
|
e8b54cfde9 | |
|
|
9240c4a012 | |
|
|
14fca5b59c | |
|
|
c67864269c | |
|
|
bf757a720a | |
|
|
c713061dca | |
|
|
22f95917f4 | |
|
|
ef20511703 | |
|
|
a54b9bfc40 | |
|
|
faedc3f0ff | |
|
|
f6e263028a | |
|
|
af5f800017 | |
|
|
7621aba4df | |
|
|
37cd34d38f | |
|
|
f517c8704e | |
|
|
22d63f06b4 | |
|
|
4fe531b9d0 | |
|
|
6bedd8a96b | |
|
|
93b9f60f0d | |
|
|
22bee0462c | |
|
|
cdcbba6b74 | |
|
|
6c630e04b6 | |
|
|
b91039f798 | |
|
|
0508d2e2e8 | |
|
|
72a7eef460 | |
|
|
a000667eac | |
|
|
841067cda1 | |
|
|
ce821892f2 | |
|
|
f309d89222 | |
|
|
381301b1e3 | |
|
|
897edbda76 | |
|
|
b8a974e20f | |
|
|
c3fe00bb0c | |
|
|
8d63c48637 | |
|
|
402d57a502 | |
|
|
8c637cf8d8 | |
|
|
49fb9100a2 | |
|
|
3a599f0be9 | |
|
|
c19d24b5db | |
|
|
24a435a751 | |
|
|
0fd6bc912a | |
|
|
ea8deeca54 | |
|
|
e92131fdca | |
|
|
5851e43722 | |
|
|
d5d31d7bc6 | |
|
|
76172b583f | |
|
|
eecc4076d5 | |
|
|
a9de3300c0 | |
|
|
caae7d949b | |
|
|
13ae4f5aea | |
|
|
4bfd0200fa | |
|
|
4af68f0d3a | |
|
|
e87bfa6d8a | |
|
|
87a3fc7df3 | |
|
|
6d701ce7a3 | |
|
|
f528f5c973 | |
|
|
d54d8bf7da | |
|
|
6fcc5df6ef | |
|
|
41b09d5e62 | |
|
|
72ec8f2f41 | |
|
|
3f8eb67d7b | |
|
|
eae2f33497 | |
|
|
e8fcbbf72c | |
|
|
6e9eea3f90 | |
|
|
a4136c20d5 | |
|
|
9cbc8dc9d2 | |
|
|
17efed7a0c | |
|
|
88440e18d8 | |
|
|
0c403eb9e2 | |
|
|
2a4c1a936e | |
|
|
d7384d7c0f | |
|
|
1ebaea9eb0 | |
|
|
233c924f18 | |
|
|
eca48d28d3 | |
|
|
b70d336608 | |
|
|
708035d5f2 | |
|
|
630779e815 | |
|
|
e82a26fa64 | |
|
|
da28a7e4ff | |
|
|
d69eda41a3 | |
|
|
be16a6b0ee | |
|
|
c3cba69d67 | |
|
|
767f30bcf9 | |
|
|
41d8a6b2e2 | |
|
|
75f8df20de | |
|
|
e591d58a40 | |
|
|
41b61d45e0 | |
|
|
569d6849cc | |
|
|
328901d184 | |
|
|
5c21f3a786 | |
|
|
a54a65cad8 | |
|
|
ad0b20256f | |
|
|
247bae4d13 | |
|
|
d7eeaf436f | |
|
|
1db49b4577 | |
|
|
aebaf73c38 | |
|
|
befd420ad4 | |
|
|
a105239cc6 | |
|
|
157929db94 | |
|
|
78f4617d08 | |
|
|
3cc69df466 | |
|
|
8e5ba0d321 | |
|
|
1091f88537 | |
|
|
51984abeb6 | |
|
|
47361a08e9 | |
|
|
94557ac9fc | |
|
|
e8608cd8f5 | |
|
|
67afa1ca2a | |
|
|
3bd60dfe7a | |
|
|
f9f3092669 | |
|
|
47b2933c5d | |
|
|
f15cf62d01 | |
|
|
a122641030 | |
|
|
797b0a53ce | |
|
|
6c972e907d | |
|
|
81dbd74afc | |
|
|
c756b2a6a7 | |
|
|
87c6cff453 | |
|
|
abc9282a65 | |
|
|
c7f21798b2 | |
|
|
b1a551bf7b | |
|
|
1c2bae7d96 | |
|
|
4d482a7efb | |
|
|
4369f5bf0b | |
|
|
ea6d967519 | |
|
|
0b726accbe | |
|
|
1427982399 | |
|
|
7ce9ce6914 | |
|
|
c648ec0592 | |
|
|
fdb21fdf95 | |
|
|
80cbbb19ee | |
|
|
fb8b4b734d | |
|
|
b7dc99292c | |
|
|
3f799fe638 | |
|
|
689fbb000e | |
|
|
0555769921 | |
|
|
42f1789dd6 | |
|
|
a934d72b48 | |
|
|
c607ed24ec | |
|
|
06f8a8c98e | |
|
|
e1f11e65d3 | |
|
|
7d56db2d84 | |
|
|
4527cb9de0 | |
|
|
2d8d15a997 | |
|
|
17de32cf49 | |
|
|
285b7902ae | |
|
|
39a280a00f | |
|
|
5da653bbf8 | |
|
|
d8f18b8206 | |
|
|
5c6cb00f32 | |
|
|
30d5235754 | |
|
|
3ee06c1f1c | |
|
|
14e65218ea | |
|
|
b92066039f | |
|
|
f74dbe01e7 | |
|
|
dfb6bb46da | |
|
|
c794b95d4a | |
|
|
7c5496dd99 | |
|
|
edae9bd593 | |
|
|
3f44db55e4 | |
|
|
c68afc038a | |
|
|
a0f8541ac3 | |
|
|
f602edc587 | |
|
|
00883b934b | |
|
|
3d83e5d00f | |
|
|
6901d69a6c | |
|
|
66b795f23b | |
|
|
8d570e7db7 | |
|
|
1ffa818d41 | |
|
|
47453b0991 | |
|
|
0de944164f | |
|
|
249c2633fb | |
|
|
747ffd0b16 | |
|
|
044f614ff9 | |
|
|
c8dec47886 | |
|
|
71f21d6b5c | |
|
|
c60483af35 | |
|
|
20212d97f5 | |
|
|
15b5b303bf | |
|
|
6e5dabef48 | |
|
|
d7700f1715 | |
|
|
c3d3578973 | |
|
|
c2a24c9d41 | |
|
|
e8da03aaf3 | |
|
|
0755e26ffa | |
|
|
4777ec26fd | |
|
|
3000c1920a | |
|
|
ca0b8c59c9 | |
|
|
7155db4e89 | |
|
|
2cf0987e50 | |
|
|
58b41eb627 | |
|
|
950ef99b7c | |
|
|
023d908578 | |
|
|
0af87dbf1d | |
|
|
015ae1b747 | |
|
|
b9325a7f93 | |
|
|
0a3d86a0d0 | |
|
|
96ce9aac63 | |
|
|
e9a1156d87 | |
|
|
84b14f46e7 | |
|
|
ac04f8c72e | |
|
|
02a6de35e2 | |
|
|
6b7f7acc6a | |
|
|
031efd5bdd | |
|
|
c1fcc32bfa | |
|
|
1ade012c50 | |
|
|
6839e3c683 | |
|
|
d852aea76f | |
|
|
9167c95fb8 | |
|
|
c5069700a1 | |
|
|
c410ab3fad | |
|
|
ff7869b7c7 | |
|
|
f58bb743d4 | |
|
|
3755188d07 | |
|
|
71dec862c5 | |
|
|
c8a8916a72 | |
|
|
2f726e3ea8 | |
|
|
3f1c98a328 | |
|
|
84a3c98d16 | |
|
|
19d2716782 | |
|
|
b7b323ced5 | |
|
|
421785ef7d | |
|
|
6660aa26b5 | |
|
|
14b4114e64 | |
|
|
05d4587169 | |
|
|
4b50d26adb | |
|
|
b026ce6bc8 | |
|
|
41ffcdafcf | |
|
|
4321bf772f | |
|
|
845d9fac0d | |
|
|
60d6271d6d | |
|
|
e6f904048d | |
|
|
9925eb997e | |
|
|
92fcfb1514 | |
|
|
d180a45fcc | |
|
|
6c120adba4 | |
|
|
79f73a06d2 | |
|
|
545613a15b | |
|
|
92d45a67d4 | |
|
|
b5837d2840 | |
|
|
14b80c0eab | |
|
|
afa290cca5 | |
|
|
84fa647445 | |
|
|
cbc51f5ed5 | |
|
|
0f3c2cf511 | |
|
|
10d62dabb8 | |
|
|
9545893fa0 | |
|
|
56e3b66325 | |
|
|
e63dfd9fa8 | |
|
|
1a066ccff8 | |
|
|
63dff2aaa3 | |
|
|
fb49bafe0f | |
|
|
015357b8c7 | |
|
|
61a4cdea18 | |
|
|
1f6fcc90c7 | |
|
|
37cfbf2043 | |
|
|
6704856194 | |
|
|
b467af9238 | |
|
|
d827bdf1f5 | |
|
|
6bbf7d2f71 | |
|
|
561b50c0f2 | |
|
|
f971bded86 | |
|
|
9bac4fb51a | |
|
|
0c41210872 | |
|
|
51a19f4be1 | |
|
|
20070fafaf | |
|
|
54796efd41 | |
|
|
14932ba5b2 | |
|
|
19989b3736 | |
|
|
73c2338bce | |
|
|
78bea1ee77 | |
|
|
8ad82c975c | |
|
|
74a9c16003 | |
|
|
a1f3f6ab6c | |
|
|
6e7f99ef8c | |
|
|
17779ac68b | |
|
|
bdfc02ae06 | |
|
|
72f918b68c | |
|
|
23fbf7ff19 | |
|
|
bdc1e297ae | |
|
|
b7a7c2335e | |
|
|
6f36d06dc8 | |
|
|
8e35628205 | |
|
|
44d645541a | |
|
|
96163568f4 | |
|
|
f6e22bc3d5 | |
|
|
f2e38d03e5 | |
|
|
9d6602d0f5 | |
|
|
3dc36ec498 | |
|
|
f7f0725667 | |
|
|
fd167e489e | |
|
|
287c34e3d7 | |
|
|
bca022de5b | |
|
|
14c71ffd5a | |
|
|
6fc777d81f | |
|
|
ea955c8b37 | |
|
|
2a7a49f4db | |
|
|
2053cb50eb | |
|
|
11575dfd31 | |
|
|
6a16efccf3 | |
|
|
fa56977424 | |
|
|
18604f7165 | |
|
|
d04ac049c7 |
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="var" path="JDK_LIB/tools.jar"/>
|
||||
<classpathentry kind="output" path="build"/>
|
||||
</classpath>
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
.settings
|
||||
build
|
||||
lib
|
||||
javadoc
|
||||
UMLGraph-snapshot
|
||||
UMLGraph-snapshot.tar.gz
|
||||
UMLGraph-snapshot.zip
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
*.DS_Store
|
||||
*.iml
|
||||
*.ipr
|
||||
*.iws
|
||||
*.swp
|
||||
.idea
|
||||
.settings
|
||||
.project
|
||||
.classpath
|
||||
_vimrc
|
||||
build
|
||||
CHECKSUM.MD5
|
||||
javadoc
|
||||
lib
|
||||
TAGS
|
||||
target
|
||||
UMLGraph-R*
|
||||
UMLGraph-snapshot*
|
||||
17
.project
17
.project
|
|
@ -1,17 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>umlgraph_cvs</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
language: java
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- graphviz
|
||||
|
||||
install: ant
|
||||
|
||||
script: ant test
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
Copyright (c) 2002-2007, Diomidis Spinellis
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of Diomidis Spinellis nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||
TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
65
Makefile
65
Makefile
|
|
@ -1,14 +1,9 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
VERSION?=4.2
|
||||
TAGVERSION=$(shell echo $(VERSION) | sed 's/\./_/g')
|
||||
TARBALL=UMLGraph-$(VERSION).tar.gz
|
||||
VERSION:=$(shell git describe --abbrev=6 HEAD | sed 's/R//;s/_/./;s/-/./;s/-.*$$/-SNAPSHOT/')
|
||||
BALL_TAR_GZ=UMLGraph-$(VERSION).tar.gz
|
||||
ZIPBALL=UMLGraph-$(VERSION).zip
|
||||
DISTDIR=UMLGraph-$(VERSION)
|
||||
WEBDIR=/dds/pubs/web/home/sw/umlgraph
|
||||
DOCLETSRCPATH=src/gr/spinellis/umlgraph/doclet
|
||||
WEBDIR=$(UH)/dds/pubs/web/home/umlgraph
|
||||
DOCLETSRCPATH=src/main/java/org/umlgraph/doclet
|
||||
DOCLETSRC= \
|
||||
$(DOCLETSRCPATH)/ClassGraph.java \
|
||||
$(DOCLETSRCPATH)/ClassInfo.java \
|
||||
|
|
@ -17,13 +12,12 @@ DOCLETSRC= \
|
|||
$(DOCLETSRCPATH)/UmlGraph.java \
|
||||
$(DOCLETSRCPATH)/Version.java
|
||||
TESTSRC = \
|
||||
src/gr/spinellis/umlgraph/test/DotDiff.java \
|
||||
src/gr/spinellis/umlgraph/test/BasicTest.java
|
||||
src/main/java/org/umlgraph/test/DotDiff.java \
|
||||
src/main/java/org/umlgraph/test/BasicTest.java
|
||||
PICFILE=sequence.pic
|
||||
README=README.txt
|
||||
OTHERSRC=index.html build.xml Makefile
|
||||
# Files to tag
|
||||
ALLTAG=$(DOCLETSRC) $(TESTSRC) $(PICFILE) $(README) $(OTHERSRC)
|
||||
LICENSE=LICENSE
|
||||
OTHERSRC=index.html build.xml Makefile oldversion.html
|
||||
# Documentation location (release)
|
||||
ifeq ($(VERSION),snapshot)
|
||||
DOC=snapshot-doc
|
||||
|
|
@ -38,27 +32,29 @@ LF=perl -p -e 'BEGIN {binmode(STDOUT);} s/\r//'
|
|||
|
||||
all: $(JARFILE)
|
||||
|
||||
tarball: $(TARBALL)
|
||||
tarball: $(BALL_TAR_GZ)
|
||||
|
||||
src/gr/spinellis/umlgraph/doclet/Version.java: Makefile
|
||||
ant -DVERSION="$(VERSION)" version
|
||||
|
||||
$(TARBALL): $(JARFILE) docs Makefile
|
||||
$(BALL_TAR_GZ): $(JARFILE) docs Makefile
|
||||
-cmd /c rd /s/q $(DISTDIR)
|
||||
mkdir $(DISTDIR)
|
||||
mkdir $(DISTDIR)/doc
|
||||
mkdir $(DISTDIR)/lib
|
||||
mkdir $(DISTDIR)/bin
|
||||
$(LF) $(README) >$(DISTDIR)/$(README)
|
||||
$(LF) $(LICENSE) >$(DISTDIR)/$(LICENSE)
|
||||
$(LF) $(PICFILE) >$(DISTDIR)/lib/$(PICFILE)
|
||||
cp $(JARFILE) $(DISTDIR)/lib
|
||||
cp $(WEBDIR)/$(DOC)/* $(DISTDIR)/doc
|
||||
cp build.xml $(DISTDIR)
|
||||
tar cf - src testdata/{java,dot-ref} javadoc --exclude='*/RCS' | tar -C $(DISTDIR) -xvf -
|
||||
cp umlgraph.bat $(DISTDIR)/bin
|
||||
$(LF) umlgraph >$(DISTDIR)/bin/umlgraph
|
||||
tar cf - src testdata/{java,dot-ref} javadoc --exclude='*/CVS' | tar -C $(DISTDIR) -xvf -
|
||||
$(LF) $(PICFILE) >$(DISTDIR)/src/$(PICFILE)
|
||||
tar cvf - $(DISTDIR) | gzip -c >$(TARBALL)
|
||||
tar czf $(BALL_TAR_GZ) $(DISTDIR)
|
||||
zip -r $(ZIPBALL) $(DISTDIR)
|
||||
|
||||
docs:
|
||||
(cd $(UH)/dds/pubs/Courses/tools && make)
|
||||
(cd doc && make DOC=$(DOC))
|
||||
ant javadocs
|
||||
|
||||
|
|
@ -68,15 +64,26 @@ $(JARFILE): $(DOCLETSRC)
|
|||
test:
|
||||
ant test
|
||||
|
||||
web: $(TARBALL) CHECKSUM.MD5
|
||||
cp $(TARBALL) $(ZIPBALL) CHECKSUM.MD5 $(WEBDIR)
|
||||
testupdate:
|
||||
bash tools/testupdate.sh
|
||||
|
||||
# Create only the static HTML pages
|
||||
static-web:
|
||||
(cd web && sh build.sh)
|
||||
cp web/build/* $(WEBDIR)
|
||||
sed "s/VERSION/$(VERSION)/g" web/build/download.html >$(WEBDIR)/download.html
|
||||
|
||||
web: $(BALL_TAR_GZ) CHECKSUM.MD5
|
||||
cp $(BALL_TAR_GZ) $(ZIPBALL) CHECKSUM.MD5 $(WEBDIR)
|
||||
(cd web && sh build.sh)
|
||||
cp web/build/* $(WEBDIR)
|
||||
sed "s/VERSION/$(VERSION)/g" web/build/download.html >$(WEBDIR)/download.html
|
||||
cp $(JARFILE) $(WEBDIR)/jars/UmlGraph-$(VERSION).jar
|
||||
tar cf - javadoc | tar -C $(WEBDIR) -xvf -
|
||||
sed "s/VERSION/$(VERSION)/g" index.html >$(WEBDIR)/index.html
|
||||
|
||||
CHECKSUM.MD5: $(TARBALL) $(JARFILE)
|
||||
md5 UMLGraph-2.10.* UMLGraph-$(VERSION).* >CHECKSUM.MD5
|
||||
(cd lib ; md5 UmlGraph.jar) >>CHECKSUM.MD5
|
||||
CHECKSUM.MD5: $(BALL_TAR_GZ) $(JARFILE)
|
||||
openssl md5 legacy/UMLGraph-2.10.* legacy/UMLGraph-4.8.* UMLGraph-$(VERSION).* >CHECKSUM.MD5
|
||||
(cd lib ; openssl md5 UmlGraph.jar) >>CHECKSUM.MD5
|
||||
|
||||
tag:
|
||||
rcs -nV$(TAGVERSION): $(ALLTAG)
|
||||
tags:
|
||||
etags **/*.java
|
||||
|
|
|
|||
|
|
@ -0,0 +1,69 @@
|
|||
# UMLGraph - Declarative Drawing of UML Diagrams
|
||||
|
||||
*UMLGraph* allows the declarative specification and drawing of UML diagrams.
|
||||
You can browse the system's documentation
|
||||
through [this link](http://www.spinellis.gr/umlgraph/doc/index.html),
|
||||
or print it through [this link](http://www.spinellis.gr/umlgraph/doc/indexw.html).
|
||||
|
||||
In order to run *UMLGraph*, you need to have [GraphViz](https://www.graphviz.org/)
|
||||
installed in your system path. On most Linux distributions, this can be easily
|
||||
installed using the regular package manager.
|
||||
|
||||
To compile the Java doclet from the source code run *ant* on the
|
||||
*build.xml* file.
|
||||
|
||||
If you change the source code, you can run regression tests by
|
||||
executing *ant test*.
|
||||
|
||||
Visit the project's [home page](http://www.spinellis.gr/umlgraph) for more information.
|
||||
|
||||
## Compatibility
|
||||
|
||||
If you build against Java 8, please use latest version of 5.X of the Doclet.
|
||||
|
||||
Since Java 9 doclet APIs where completely rewritten, the Doclet in version 6 supports only supports Java 9 and above.
|
||||
|
||||
## Development versions
|
||||
|
||||
In order to use development versions, you can use [JitPack](https://jitpack.io/#dspinellis/UMLGraph/master-SNAPSHOT).
|
||||
Note that as this is compiled on demand, you may sometimes see a "Read timed out" when the package is recompiled,
|
||||
and it should be fine a few seconds later. And because the master branch can change any time, you may want to use
|
||||
a versioned snapshot instead (see the Jitpack documentation for details).
|
||||
|
||||
**Gradle**:
|
||||
```
|
||||
repositories { maven { url 'https://jitpack.io' } }
|
||||
configurations { umlgraph }
|
||||
dependencies { umlgraph 'com.github.dspinellis:UMLGraph:master-SNAPSHOT' }
|
||||
javadoc {
|
||||
doclet = 'org.umlgraph.doclet.UmlGraphDoc'
|
||||
docletpath = configurations.umlgraph.files.asType(List)
|
||||
tags("hidden:X", "opt:X", "has:X", "navhas:X", "assoc:X", "navassoc:X",
|
||||
"composed:X", "navcomposed:X", "stereotype:X", "depend:X")
|
||||
}
|
||||
```
|
||||
|
||||
**Maven**:
|
||||
```
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>jitpack.io</id>
|
||||
<url>https://jitpack.io</url>
|
||||
</repository>
|
||||
</repositories>
|
||||
...
|
||||
<dependency>
|
||||
<groupId>com.github.dspinellis</groupId>
|
||||
<artifactId>UMLGraph</artifactId>
|
||||
<version>master-SNAPSHOT</version>
|
||||
<scope>compile</scope>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
**Jar download**: <https://jitpack.io/com/github/dspinellis/UMLGraph/master-SNAPSHOT/UMLGraph-master-SNAPSHOT.jar>
|
||||
|
||||
## See also
|
||||
* [D2: Declarative Diagraming](https://d2lang.com/) (Emphasis on aesthetics and extensionability)
|
||||
* [Mermaid diagramming and charting tool](https://mermaid.js.org/) (JavaScript-based; easier syntax, good Markdown integration; interactive diagrams)
|
||||
* [PlantUML](https://plantuml.com/) (Java-based; supports IDEs and more diagram types)
|
||||
* [Comparison of textual diagraming systems](https://text-to-diagram.com/)
|
||||
22
README.txt
22
README.txt
|
|
@ -1,22 +0,0 @@
|
|||
UMLGraph - Declarative Drawing of UML Diagrams
|
||||
|
||||
UMLGraph allows the declarative specification and drawing of
|
||||
UML class and sequence diagrams. You can browse the system's
|
||||
documentation from the doc/index.html page, or print it from
|
||||
doc/indexw.html.
|
||||
|
||||
To install the elements required to run UMLGraph, simply copy
|
||||
the contents of the lib directory to a location consistent with
|
||||
your installation's conventions (for example to /usr/local/lib).
|
||||
|
||||
To compile the Java doclet from the source code run ant on the
|
||||
build.xml file.
|
||||
|
||||
If you change the source code, you can run regression tests by
|
||||
executing "ant test".
|
||||
|
||||
Project home page: http://www.spinellis.gr/sw/umlgraph
|
||||
|
||||
Diomidis Spinellis - November 2005
|
||||
|
||||
$Id$
|
||||
40
TODO
40
TODO
|
|
@ -1,24 +1,23 @@
|
|||
$Id$
|
||||
http://stackoverflow.com/questions/8609546/umlgraph-not-automatic-integrated-in-javadoc
|
||||
|
||||
Frederic Barachant wrote:
|
||||
I'd like to propose you an enhancement. If it ever works, that might help to get graphs with
|
||||
less human work. The enhancement concerns association/navAssociations and java 1.5.
|
||||
Would it be possible that 1.5 genericized Collections get automatically tagged as an association?
|
||||
For example a 'class Test{Collection<MyType> bla;}' would be a class Test with a non navigable 1-* association
|
||||
to a MyType class. Eventually, if MyType had a field referencing a Test, the association would be navigable both ways.
|
||||
On the same idea, if MyType had a Collection<Test> the reference would become *-*.
|
||||
Support for all UML diagrams: state, use-case, etc.
|
||||
|
||||
State diagrams:
|
||||
See state-example.dot
|
||||
See also http://forrst.com/posts/State_Machine_Dont_abuse_the_if-1fE
|
||||
|
||||
Note that Hierarchically nested states cannot be shown in GraphViz,
|
||||
because you can't set shape and labels in cluster, nor can they act
|
||||
as edge targets.
|
||||
|
||||
Add in UmlGraphDoc support for showing package dependencies.
|
||||
See http://java.dzone.com/articles/reverse-engineer-source-code-u#comment-6124
|
||||
|
||||
Yves Bossel: If I may do some suggestions:
|
||||
+ I would appreciate to be able to add UML comments to both diagram types.
|
||||
+ Adding patterns (collaborations ellipse with roles bound to classes) would be welcome into class diagrams.
|
||||
+ Self-adjusting box size and placement on sequence diagrams would help (I use lots of inner classes whose names are long and descriptive).
|
||||
|
||||
|
||||
Try the http://prefuse.sourceforge.net/ back end for large graphs.
|
||||
|
||||
Break into source into separate files per class
|
||||
|
||||
Provide a parameter to say how (untagged) data members relate to other
|
||||
classes.
|
||||
The line can be a composition, an aggregation, or a navigable association.
|
||||
|
|
@ -31,25 +30,10 @@ public class A {
|
|||
}
|
||||
Requires special care for containers and arrays.
|
||||
|
||||
Move source into a package:
|
||||
On each file add at the very beginning:
|
||||
package gr.spinellis.umlgraph.core;
|
||||
Move the classes into gr/spinellis/umlgraph/core directory
|
||||
jar cvf UmlGraph.jar gr\spinellis\umlgraph\core\*.class
|
||||
Invoke as javadoc -docletpath UmlGraph.jar -doclet gr.spinellis.umlgraph.core.UmlGraph -output foo in\Abstr.java
|
||||
|
||||
|
||||
Add package, note, interface and node icons to graphviz
|
||||
(folder) dog-ear =[] 3D box
|
||||
|
||||
Support for all UML diagrams: state, use-case, etc.
|
||||
|
||||
command-line (and global) options for setting all graph attributes
|
||||
|
||||
Class options for setting edge attributes fillcolor fontcolor etc per edge
|
||||
|
||||
@active tag to render a class as active
|
||||
|
||||
Use doclet error reporting functions
|
||||
|
||||
A class can specify its rank, or its cluster.
|
||||
|
|
|
|||
258
build.xml
258
build.xml
|
|
@ -1,20 +1,77 @@
|
|||
<project name="umlgraph" default="compile" basedir=".">
|
||||
<project name="umlgraph" default="compile" basedir="."
|
||||
xmlns:artifact="antlib:org.apache.maven.artifact.ant" >
|
||||
|
||||
<description>
|
||||
The specification for the Java-based umlgraph build processes.
|
||||
$Id$
|
||||
</description>
|
||||
|
||||
<!-- set global properties for this build -->
|
||||
<property name="src" location="src"/>
|
||||
<property name="src" location="src/main/java"/>
|
||||
<property name="testsrc" location="src/test"/>
|
||||
<property name="build" location="build"/>
|
||||
<property name="javadoc" location="javadoc"/>
|
||||
<property name="lib" location="lib"/>
|
||||
<property name="testsrc" location="test/src"/>
|
||||
<property name="testout" location="${basedir}/testdata/dot-out"/>
|
||||
<property name="testref" location="${basedir}/testdata/dot-ref"/>
|
||||
|
||||
<property name="dist" location="dist" />
|
||||
|
||||
<!-- obtain version from git; see http://techblog.41concepts.com/2009/05/08/generating-ant-build-numbers-using-subversion/ -->
|
||||
<macrodef name="gitversion" description="Get git version.">
|
||||
<attribute name="outputproperty"/>
|
||||
<sequential>
|
||||
<echo message="git rev-parse --short=6 => '@{outputproperty}'"/>
|
||||
<exec executable="git"
|
||||
failonerror="true"
|
||||
outputproperty="@{outputproperty}">
|
||||
<arg value="rev-parse"/>
|
||||
<arg value="--short=6"/>
|
||||
<arg value="HEAD"/>
|
||||
<redirector>
|
||||
<outputfilterchain>
|
||||
<tokenfilter>
|
||||
<replaceregex pattern="R" replace=""/>
|
||||
<replaceregex pattern="_" replace="."/>
|
||||
<replaceregex pattern="-" replace="."/>
|
||||
<replaceregex pattern="(-.*)$" replace="-SNAPSHOT"/>
|
||||
</tokenfilter>
|
||||
</outputfilterchain>
|
||||
</redirector>
|
||||
</exec>
|
||||
<echo message="gitversion returned '${@{outputproperty}}'"/>
|
||||
</sequential>
|
||||
</macrodef>
|
||||
|
||||
<!-- define Maven coordinates; see https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-7c.DeploySnapshotsandStageReleaseswithAnt -->
|
||||
<property name="groupId" value="org.umlgraph" />
|
||||
<property name="artifactId" value="UmlGraph" />
|
||||
<!-- <property name="version" value="1.0-SNAPSHOT" /> -->
|
||||
<gitversion outputproperty="version"/>
|
||||
|
||||
<!-- define artifacts' name, which follows the convention of Maven -->
|
||||
<property name="maven-jar" value="${dist}/lib/${artifactId}-${version}.jar" />
|
||||
<property name="maven-javadoc-jar" value="${dist}/lib/${artifactId}-${version}-javadoc.jar" />
|
||||
<property name="maven-sources-jar" value="${dist}/lib/${artifactId}-${version}-sources.jar" />
|
||||
|
||||
<!-- defined maven snapshots and staging repository id and url -->
|
||||
<!-- passwords are stored in \Users\Diomidis Spinellis\.m2\settings.xml -->
|
||||
<property name="maven-snapshots-repository-id" value="sonatype-nexus-snapshots" />
|
||||
<property name="maven-snapshots-repository-url" value="https://oss.sonatype.org/content/repositories/snapshots/" />
|
||||
<property name="maven-staging-repository-id" value="sonatype-nexus-staging" />
|
||||
<property name="maven-staging-repository-url" value="https://oss.sonatype.org/service/local/staging/deploy/maven2/" />
|
||||
|
||||
<!-- import environment variables -->
|
||||
<property environment="env"/>
|
||||
|
||||
<target name="clean">
|
||||
<delete dir="${build}"/>
|
||||
<delete dir="${lib}"/>
|
||||
<delete dir="testdata/dot-out"/>
|
||||
<delete dir="${javadoc}"/>
|
||||
<delete dir="${dist}/lib"/>
|
||||
</target>
|
||||
|
||||
<target name="init">
|
||||
<!-- Create the time stamp -->
|
||||
<tstamp/>
|
||||
|
|
@ -23,67 +80,200 @@
|
|||
<mkdir dir="${lib}"/>
|
||||
<mkdir dir="testdata/dot-out"/>
|
||||
<mkdir dir="${javadoc}"/>
|
||||
<mkdir dir="${dist}/lib"/>
|
||||
</target>
|
||||
|
||||
<target name="version">
|
||||
<exec executable="git"
|
||||
outputproperty="VERSION">
|
||||
<arg value="rev-parse"/>
|
||||
<arg value="--short=6"/>
|
||||
<arg value="HEAD"/>
|
||||
</exec>
|
||||
<echo>Version is ${VERSION}</echo>
|
||||
<echo file="src/gr/spinellis/umlgraph/doclet/Version.java">/* Automatically generated file */
|
||||
package gr.spinellis.umlgraph.doclet;
|
||||
<echo file="src/main/java/org/umlgraph/doclet/Version.java">/* Automatically generated file */
|
||||
package org.umlgraph.doclet;
|
||||
class Version { public static String VERSION = "${VERSION}";}
|
||||
</echo>
|
||||
</target>
|
||||
|
||||
<target name="compile" depends="init"
|
||||
<target name="compile" depends="init,version"
|
||||
description="compile the source, build library " >
|
||||
<javac srcdir="${src}" destdir="${build}" debug="true" excludes="gr/spinellis/umlgraph/doclet/RCS/*,gr/spinellis/umlgraph/test/RCS/*"/>
|
||||
<jar basedir="${build}" destfile="${lib}/UmlGraph.jar" includes="gr/spinellis/umlgraph/doclet/*.class"/>
|
||||
<javac srcdir="${src}" destdir="${build}" debug="true"
|
||||
deprecation="true" includeantruntime="false" >
|
||||
<compilerarg value="-Xlint"/>
|
||||
<classpath>
|
||||
<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
|
||||
</classpath>
|
||||
</javac>
|
||||
<jar basedir="${build}" destfile="${lib}/UmlGraph.jar" includes="org/umlgraph/doclet/*.class">
|
||||
<manifest>
|
||||
<attribute name="Main-Class" value="org.umlgraph.doclet.UmlGraph"/>
|
||||
<attribute name="Class-Path" value="tools.jar"/>
|
||||
</manifest>
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="test" depends="compile"
|
||||
description="run the regression tests" >
|
||||
<java classname="gr.spinellis.umlgraph.test.BasicTest" fork="true">
|
||||
<target name="testcompile" depends="init"
|
||||
description="compile the test code " >
|
||||
<javac srcdir="${testsrc}" destdir="${build}" debug="true"
|
||||
deprecation="true" includeantruntime="false" >
|
||||
<classpath>
|
||||
<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
|
||||
<pathelement location="${build}"/>
|
||||
<pathelement location="${lib}/UmlGraph.jar"/>
|
||||
</classpath>
|
||||
</java>
|
||||
<compilerarg value="-Xlint"/>
|
||||
</javac>
|
||||
</target>
|
||||
|
||||
<target name="test" depends="compile,testcompile"
|
||||
description="run the regression tests" >
|
||||
<!-- postpone failures, so we get to see the pngs -->
|
||||
<java classname="org.umlgraph.test.BasicTest" fork="true" resultproperty="BasicTest.exit">
|
||||
<classpath>
|
||||
<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
|
||||
<pathelement location="${build}"/>
|
||||
<pathelement location="${lib}/UmlGraph.jar"/>
|
||||
</classpath>
|
||||
</java>
|
||||
<java classname="org.umlgraph.test.UmlDocTest" fork="true" resultproperty="UmlDocTest.exit">
|
||||
<classpath>
|
||||
<pathelement location="${env.JAVA_HOME}/lib/tools.jar"/>
|
||||
<pathelement location="${build}"/>
|
||||
<pathelement location="${lib}/UmlGraph.jar"/>
|
||||
</classpath>
|
||||
</java>
|
||||
<apply executable="dot" dest="${testout}" parallel="false">
|
||||
<arg value="-Tpng"/>
|
||||
<arg value="-o"/>
|
||||
<targetfile/>
|
||||
<srcfile/>
|
||||
<fileset dir="${testout}" includes="*.dot"/>
|
||||
<mapper type="glob" from="*.dot" to="*.png"/>
|
||||
<fileset dir="${testout}" includes="*.dot"/>
|
||||
<mapper type="glob" from="*.dot" to="*.png"/>
|
||||
</apply>
|
||||
<apply executable="dot" dest="${testref}" parallel="false">
|
||||
<arg value="-Tpng"/>
|
||||
<arg value="-o"/>
|
||||
<targetfile/>
|
||||
<srcfile/>
|
||||
<fileset dir="${testref}" includes="*.dot"/>
|
||||
<mapper type="glob" from="*.dot" to="*.png"/>
|
||||
<fileset dir="${testref}" includes="*.dot"/>
|
||||
<mapper type="glob" from="*.dot" to="*.png"/>
|
||||
</apply>
|
||||
<!-- postponed failure, so we get to see the pngs -->
|
||||
<fail message="BasicTest failed">
|
||||
<condition><not><equals arg1="0" arg2="${BasicTest.exit}"/></not></condition>
|
||||
</fail>
|
||||
<fail message="UmlDocTest failed">
|
||||
<condition><not><equals arg1="0" arg2="${UmlDocTest.exit}"/></not></condition>
|
||||
</fail>
|
||||
</target>
|
||||
|
||||
<target name="javadocs" depends="compile">
|
||||
<javadoc sourcepath="${src}" packagenames="gr.spinellis.umlgraph.doclet.*" destdir="${javadoc}" package="true"/>
|
||||
<property name="outFolder" location="${javadoc}/gr/spinellis/umlgraph/doclet"/>
|
||||
<property name="dotName" value="umlgraph.dot"/>
|
||||
<property name="dotFile" location="${outFolder}/${dotName}"/>
|
||||
<property name="gifFile" location="${javadoc}/gr/spinellis/umlgraph/doclet/umlgraph.gif"/>
|
||||
<javadoc sourcepath="${src}" packagenames="gr.spinellis.umlgraph.doclet.*" package="true">
|
||||
<doclet name="gr.spinellis.umlgraph.doclet.UmlGraph" path="${lib}/UMLGraph.jar">
|
||||
<param name="-d" value="${outFolder}"/>
|
||||
<param name="-output" value="${dotName}"/>
|
||||
<param name="-operations"/>
|
||||
<javadoc sourcepath="${src}" packagenames="org.umlgraph.doclet.*" destdir="${javadoc}" private="true">
|
||||
<doclet name="org.umlgraph.doclet.UmlGraphDoc" path="${lib}/UmlGraph.jar">
|
||||
<param name="-inferrel"/>
|
||||
<param name="-inferdep"/>
|
||||
<param name="-autosize"/>
|
||||
<param name="-collapsible"/>
|
||||
<param name="-hide" value="java.*"/>
|
||||
<param name="-collpackages" value="java.util.*"/>
|
||||
<param name="-qualify"/>
|
||||
<param name="-postfixpackage"/>
|
||||
<param name="-nodefontsize" value="9"/>
|
||||
<param name="-nodefontpackagesize" value="7"/>
|
||||
<param name="-link" value="http://docs.oracle.com/javase/7/docs/jdk/api/javadoc/doclet/"/>
|
||||
<param name="-link" value="http://download.oracle.com/javase/7/docs/api/"/>
|
||||
</doclet>
|
||||
</javadoc>
|
||||
<exec executable="dot">
|
||||
<arg value="-Tgif"/>
|
||||
<arg value="-o${gifFile}"/>
|
||||
<arg value="${dotFile}"/>
|
||||
</exec>
|
||||
</target>
|
||||
|
||||
|
||||
<target name="pom" description="generate the pom.xml file with the correct version">
|
||||
<copy file="pom.template.xml"
|
||||
tofile="pom.xml"
|
||||
filtering="yes" overwrite="yes">
|
||||
<filterchain>
|
||||
<filterreader classname="org.apache.tools.ant.filters.ExpandProperties"/>
|
||||
</filterchain>
|
||||
</copy>
|
||||
</target>
|
||||
|
||||
<target name="dist" depends="compile" description="generate the distribution">
|
||||
<!-- build the main artifact -->
|
||||
<jar jarfile="${maven-jar}" basedir="${build}" />
|
||||
|
||||
<!-- build the javadoc artifact -->
|
||||
<javadoc sourcepath="${src}" destdir="${dist}/javadoc" />
|
||||
<jar jarfile="${maven-javadoc-jar}">
|
||||
<fileset dir="${dist}/javadoc" />
|
||||
</jar>
|
||||
|
||||
<!-- build the sources artifact -->
|
||||
<jar jarfile="${maven-sources-jar}">
|
||||
<fileset dir="${src}" />
|
||||
</jar>
|
||||
</target>
|
||||
|
||||
<target name="deploy" depends="dist,pom" description="deploy snapshot version to Maven snapshot repository">
|
||||
<!-- for this to work install http://maven.apache.org/ant-tasks/download.html into ant/lib -->
|
||||
<artifact:mvn>
|
||||
<arg value="org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file" />
|
||||
<arg value="-Durl=${maven-snapshots-repository-url}" />
|
||||
<arg value="-DrepositoryId=${maven-snapshots-repository-id}" />
|
||||
<arg value="-DpomFile=pom.xml" />
|
||||
<arg value="-Dfile=${maven-jar}" />
|
||||
</artifact:mvn>
|
||||
<artifact:mvn>
|
||||
<arg value="org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file" />
|
||||
<arg value="-Durl=${maven-snapshots-repository-url}" />
|
||||
<arg value="-DrepositoryId=${maven-snapshots-repository-id}" />
|
||||
<arg value="-DpomFile=pom.xml" />
|
||||
<arg value="-Dfile=${maven-sources-jar}" />
|
||||
<arg value="-Dclassifier=sources" />
|
||||
</artifact:mvn>
|
||||
|
||||
<!-- sign and deploy the javadoc artifact -->
|
||||
<artifact:mvn>
|
||||
<arg value="org.apache.maven.plugins:maven-deploy-plugin:2.6:deploy-file" />
|
||||
<arg value="-Durl=${maven-snapshots-repository-url}" />
|
||||
<arg value="-DrepositoryId=${maven-snapshots-repository-id}" />
|
||||
<arg value="-DpomFile=pom.xml" />
|
||||
<arg value="-Dfile=${maven-javadoc-jar}" />
|
||||
<arg value="-Dclassifier=javadoc" />
|
||||
</artifact:mvn>
|
||||
</target>
|
||||
|
||||
<!-- before this, update project version (both build.xml and pom.xml) from SNAPSHOT to RELEASE -->
|
||||
<target name="stage" depends="dist,pom" description="deploy release version to Maven staging repository">
|
||||
<!-- sign and deploy the main artifact -->
|
||||
<artifact:mvn>
|
||||
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
|
||||
<arg value="-Durl=${maven-staging-repository-url}" />
|
||||
<arg value="-DrepositoryId=${maven-staging-repository-id}" />
|
||||
<arg value="-DpomFile=pom.xml" />
|
||||
<arg value="-Dfile=${maven-jar}" />
|
||||
<arg value="-Pgpg" />
|
||||
</artifact:mvn>
|
||||
|
||||
<!-- sign and deploy the sources artifact -->
|
||||
<artifact:mvn>
|
||||
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
|
||||
<arg value="-Durl=${maven-staging-repository-url}" />
|
||||
<arg value="-DrepositoryId=${maven-staging-repository-id}" />
|
||||
<arg value="-DpomFile=pom.xml" />
|
||||
<arg value="-Dfile=${maven-sources-jar}" />
|
||||
<arg value="-Dclassifier=sources" />
|
||||
<arg value="-Pgpg" />
|
||||
</artifact:mvn>
|
||||
|
||||
<!-- sign and deploy the javadoc artifact -->
|
||||
<artifact:mvn>
|
||||
<arg value="org.apache.maven.plugins:maven-gpg-plugin:1.3:sign-and-deploy-file" />
|
||||
<arg value="-Durl=${maven-staging-repository-url}" />
|
||||
<arg value="-DrepositoryId=${maven-staging-repository-id}" />
|
||||
<arg value="-DpomFile=pom.xml" />
|
||||
<arg value="-Dfile=${maven-javadoc-jar}" />
|
||||
<arg value="-Dclassifier=javadoc" />
|
||||
<arg value="-Pgpg" />
|
||||
</artifact:mvn>
|
||||
</target>
|
||||
|
||||
</project>
|
||||
|
|
|
|||
|
|
@ -1,28 +0,0 @@
|
|||
bib.xml
|
||||
GUI-DB.gif
|
||||
advrel.gif
|
||||
assoc.gif
|
||||
car.gif
|
||||
catalina.gif
|
||||
cd-opt.err
|
||||
class-eg.gif
|
||||
classadd.gif
|
||||
color.gif
|
||||
dist-52.gif
|
||||
dnsq.gif
|
||||
faq.err
|
||||
fmtcache
|
||||
general.gif
|
||||
schema.gif
|
||||
seq-cd.gif
|
||||
seq-eg.gif
|
||||
seq-impr.gif
|
||||
seq-ops.err
|
||||
seq-simple.gif
|
||||
uml-182.gif
|
||||
uml-184.gif
|
||||
uml-71.gif
|
||||
uml-appa.gif
|
||||
ver.err
|
||||
vis.gif
|
||||
*.dot
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
bib.xml
|
||||
fmtcache
|
||||
*.dot
|
||||
*.gif
|
||||
*.err
|
||||
|
|
@ -13,7 +13,6 @@
|
|||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
31
doc/Makefile
31
doc/Makefile
|
|
@ -1,12 +1,11 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
PIC2PLOT=/app/plotutils/bin/pic2plot
|
||||
NETPBM=/app/netpbm/bin
|
||||
GS=/app/gs
|
||||
DESTDIR=/dds/pubs/web/home/sw/umlgraph
|
||||
NOTETOOLS=/dds/pubs/courses/tools
|
||||
ROOT=/cygdrive/c
|
||||
PIC2PLOT=pic2plot
|
||||
GS=gs
|
||||
DESTDIR=/dds/pubs/web/home/umlgraph
|
||||
NOTETOOLS=/dds/pubs/Courses/tools
|
||||
GIF := $(shell sed -n 's/.*<img *src *= *"\([^.]*\.gif\)".*/\1/p' *.xml)
|
||||
XML := $(wildcard *.xml)
|
||||
DOC?=snapshot-doc
|
||||
|
|
@ -14,18 +13,14 @@ DOC?=snapshot-doc
|
|||
.SUFFIXES:.java .dot .ps .gif .pic .eps .png
|
||||
|
||||
.java.dot:
|
||||
javadoc -docletpath ../lib/UmlGraph.jar -doclet gr.spinellis.umlgraph.doclet.UmlGraph -private $<
|
||||
javadoc -docletpath ../lib/UmlGraph.jar -doclet org.umlgraph.doclet.UmlGraph -private $<
|
||||
mv graph.dot $@
|
||||
|
||||
.dot.eps:
|
||||
dot -Teps -o$@ $<
|
||||
|
||||
.dot.gif:
|
||||
dot -Tps $< | \
|
||||
$(GS)/gs -I$(GS) -I$(GS)/fonts -q -r360 -dNOPAUSE -sDEVICE=pnm -sOutputFile=- - -c quit | \
|
||||
$(NETPBM)/pnmcrop | \
|
||||
$(NETPBM)/pnmscale 0.25 | \
|
||||
$(NETPBM)/ppmtogif >$@
|
||||
dot -Tgif $< -o$@
|
||||
|
||||
.pic.eps:
|
||||
perl -p -e 'BEGIN {binmode(STDOUT);} s/\r//' $< | $(PIC2PLOT) -Teps >$@
|
||||
|
|
@ -35,15 +30,15 @@ DOC?=snapshot-doc
|
|||
.pic.gif:
|
||||
perl -p -e 'BEGIN {binmode(STDOUT);} s/\r//' $< | \
|
||||
$(PIC2PLOT) -Tps | \
|
||||
$(GS)/gs -I$(GS) -I$(GS)/fonts -q -r360 -dNOPAUSE -sDEVICE=pnm -sOutputFile=- - -c quit | \
|
||||
$(NETPBM)/pnmcrop | \
|
||||
$(NETPBM)/pnmscale 0.25 | \
|
||||
$(NETPBM)/ppmtogif >$@
|
||||
$(GS) -q -r360 -dNOPAUSE -sDEVICE=pnm -sOutputFile=- - -c quit | \
|
||||
pnmcrop | \
|
||||
pnmscale 0.25 | \
|
||||
ppmtogif >$@
|
||||
|
||||
|
||||
all: sequence.pic $(GIF) $(XML)
|
||||
sh $(NOTETOOLS)/coursebib.sh bib
|
||||
echo "Drawing UML Diagrams with UMLGraph" | perl $(NOTETOOLS)/thread.pl -n -h html -r -p ../index.html index ${DESTDIR}/${DOC}
|
||||
sh $(ROOT)/$(NOTETOOLS)/coursebib.sh bib
|
||||
echo "Drawing UML Diagrams with UMLGraph" | /c/Perl/bin/perl $(NOTETOOLS)/thread.pl -n -h html -r -p ../index.html index ${DESTDIR}/${DOC}
|
||||
|
||||
sequence.pic: ../sequence.pic
|
||||
perl -p -e 'BEGIN {binmode(STDOUT);} s/\r//' $< >$@
|
||||
|
|
|
|||
Binary file not shown.
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 4.3 KiB |
|
|
@ -1,5 +1,4 @@
|
|||
// Author: Vadim Nasardinov
|
||||
// Version: $Id$
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
|
|||
BIN
doc/Root.png
BIN
doc/Root.png
Binary file not shown.
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 7.3 KiB |
|
|
@ -1,6 +1,5 @@
|
|||
// Author: Vadim Nasardinov
|
||||
// Author: Andrea Aime
|
||||
// Version: $Id$
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -64,4 +63,4 @@ class DetailedView {}
|
|||
/**
|
||||
* @view
|
||||
*/
|
||||
class Overview {}
|
||||
class Overview {}
|
||||
|
|
|
|||
44
doc/ack.xml
44
doc/ack.xml
|
|
@ -1,21 +1,59 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following individuals have constributed useful comments and code.
|
||||
<p>
|
||||
UMLGraph was developed and is being maintained by
|
||||
<a href="http://www.spinellis.gr">Diomidis Spinellis</a>.
|
||||
Andrea Aime has contributed the functionality for
|
||||
adding UML diagrams to javadoc pages, for inferring relationships,
|
||||
and for multiple diagram views.
|
||||
</p>
|
||||
<p>
|
||||
In addition,
|
||||
the following individuals have contributed useful comments and code.
|
||||
UMLGraph would not be in its current state without their contributions.
|
||||
</p>
|
||||
<ul>
|
||||
<li>Nascif Abousalh-Neto</li>
|
||||
<li>Andrea Aime</li>
|
||||
<li>Roger Alexander</li>
|
||||
<li>Panagiotis Astithas</li>
|
||||
<li>Bernd Blacha</li>
|
||||
<li>Yves Bossel</li>
|
||||
<li>Maxim Butov</li>
|
||||
<li>David P. Caldwell</li>
|
||||
<li>Anthony Callegaro</li>
|
||||
<li>Cimballi</li>
|
||||
<li>Dirk Datzert</li>
|
||||
<li>Christophe Deneux</li>
|
||||
<li>Nick Efthymiou</li>
|
||||
<li>Georgios Gousios</li>
|
||||
<li>Antti Hakala</li>
|
||||
<li>Art Hampton</li>
|
||||
<li>Alan Jeffrey</li>
|
||||
<li>Øyvind Jergan</li>
|
||||
<li>Scott Johnson</li>
|
||||
<li>Gunho Kim</li>
|
||||
<li>Nikita Kozlov</li>
|
||||
<li>Trustin Lee</li>
|
||||
<li>Joshua Lim</li>
|
||||
<li>Stefano Martina</li>
|
||||
<li>Vadim Nasardinov</li>
|
||||
<li>Laird Nelson</li>
|
||||
<li>Bernd Onasch</li>
|
||||
<li>Sébastien Pierre</li>
|
||||
<li>Olek Poplavskyy</li>
|
||||
<li>Alessandro Riva</li>
|
||||
<li>Arnaud Rogues</li>
|
||||
<li>Soraya Santana de la Fe</li>
|
||||
<li>Jonathan R. Santos</li>
|
||||
<li>Jan Schlüter</li>
|
||||
<li>Erich Schubert</li>
|
||||
<li>Sebastian Setzer</li>
|
||||
<li>Jörn Guy Süß</li>
|
||||
<li>Andreas Studer</li>
|
||||
<li>Przemyslaw Szufel</li>
|
||||
<li>Ivan F. Villanueva B.</li>
|
||||
<li>Przemyslaw Wesolek</li>
|
||||
<li>Franz Wilhelmstoetter</li>
|
||||
<li>Zhigang Xie</li>
|
||||
</ul>
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
* Advanced relationships
|
||||
* UML User Guide p. 137
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
To run the UMLGraph doclet from <em>ant</em>, use a rule,
|
||||
like the following.
|
||||
|
|
@ -13,7 +12,7 @@ like the following.
|
|||
<pathelement path="${src.java.dir}"/>
|
||||
</path>
|
||||
<javadoc sourcepathref="uml.source.path" packagenames="*" package="true">
|
||||
<doclet name="gr.spinellis.umlgraph.doclet.UmlGraph" path="${basedir}/lib/UMLGraph.jar">
|
||||
<doclet name="org.umlgraph.doclet.UmlGraph" path="${basedir}/lib/UmlGraph.jar">
|
||||
<param name="-d" value="${uml.dir}"/>
|
||||
</doclet>
|
||||
</javadoc>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
// $Id$
|
||||
|
||||
/**
|
||||
* Associations with visibility
|
||||
|
|
|
|||
40
doc/bib.bib
40
doc/bib.bib
|
|
@ -81,3 +81,43 @@
|
|||
Year=2006
|
||||
}
|
||||
|
||||
@Misc{Shoe06,
|
||||
Title="{UML} Diagrams Using {G}raphviz {D}ot",
|
||||
Month=apr,
|
||||
Year=2006,
|
||||
URL="http://www.ffnn.nl/pages/articles/media/uml-diagrams-using-graphviz-dot.php",
|
||||
Note="Available online \url{http://www.ffnn.nl/pages/articles/media/uml-diagrams-using-graphviz-dot.php}",
|
||||
Author="Frank Schoep"
|
||||
}
|
||||
|
||||
@TechReport{OMG02,
|
||||
Author="{Object Management Group}",
|
||||
Title="Human-Usable Textual Notation ({HUTN}) Specification",
|
||||
Note="Available online \url{http://www.omg.org/docs/ptc/02-12-01.pdf}",
|
||||
URL="http://www.omg.org/docs/ptc/02-12-01.pdf",
|
||||
Number="ptc/02-12-01",
|
||||
Month=dec,
|
||||
Year=2002,
|
||||
Institution="OMG Inc.",
|
||||
Address="Needham, MA"
|
||||
}
|
||||
|
||||
@Misc{Mir08,
|
||||
Title="Reverse-engineer Source Code into UML Diagrams",
|
||||
Month=aug,
|
||||
Year=2008,
|
||||
URL="http://java.dzone.com/articles/reverse-engineer-source-code-u",
|
||||
Note="Available online \url{http://java.dzone.com/articles/reverse-engineer-source-code-u}",
|
||||
Author="Meera Subbarao"
|
||||
}
|
||||
|
||||
@CONFERENCE{SG16,
|
||||
author={Seifermann, S. and Groenda, H.},
|
||||
title={Survey on textual notations for the Unified Modeling Language},
|
||||
journal={MODELSWARD 2016 - Proceedings of the 4th International Conference on Model-Driven Engineering and Software Development},
|
||||
year={2016},
|
||||
pages={28--39},
|
||||
note={cited By 0},
|
||||
url={https://www.cooperate-project.de/images/publications/MODELSWARD2016.pdf},
|
||||
document_type={Conference Paper},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
// $Id$
|
||||
|
||||
class Tyre {}
|
||||
class Engine {}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,13 @@
|
|||
/*
|
||||
* Interface and generalization relationships in Jakarta Catalina
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* @opt nodefontname "Arial"
|
||||
* @hidden
|
||||
*/
|
||||
class UMLOptions{}
|
||||
|
||||
class HttpResponseBase
|
||||
extends ResponseBase
|
||||
implements HttpResponse, HttpServletResponse {}
|
||||
|
|
|
|||
|
|
@ -1,14 +1,13 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-7" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
One specifies a class diagram using the Java syntax complemented by
|
||||
<a href="http://java.sun.com/j2se/javadoc/"><em>javadoc</em></a>
|
||||
tags.
|
||||
Running the UmlGraph doclet on the specification will generate
|
||||
a
|
||||
<a href="http://www.research.att.com/sw/tools/graphviz/">Graphviz</a>
|
||||
<a href="http://www.graphviz.org/">Graphviz</a>
|
||||
diagram specification that can be automatically processed to
|
||||
create Postscript, GIF, SVG, JPEG, fig, or Framemaker drawings.
|
||||
create PNG, SVG, EMF, Postscript, GIF, JPEG, fig, or Framemaker drawings.
|
||||
<p />
|
||||
The following is an example of a specification and the resulting UML class
|
||||
diagram:
|
||||
|
|
|
|||
|
|
@ -1,10 +1,14 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The UMLGraph class diagrams allows you to model
|
||||
<ul>
|
||||
<li>classes (specified as Java classes)
|
||||
</li>
|
||||
<li>
|
||||
active classes, components, nodes, use cases,
|
||||
collaborations, and packages
|
||||
(specified as Java classes with an <code>@opt shape</code> tag)
|
||||
</li>
|
||||
<li>attributes (specified as Java class fields)
|
||||
</li>
|
||||
<li>operations (specified as Java class methods)
|
||||
|
|
@ -17,18 +21,16 @@ The UMLGraph class diagrams allows you to model
|
|||
</li>
|
||||
<li>generalization relationships (specified using the Java <code>extends</code> declaration or (for multiple inheritance) the <em>javadoc</em> <code>@extends</code> tag)
|
||||
</li>
|
||||
<li>association relationships (specified using the <em>javadoc</em> <code>@assoc</code> tag)
|
||||
</li>
|
||||
<li>navigatable (directed) association relationships (specified using the <em>javadoc</em> <code>@navassoc</code> tag)
|
||||
</li>
|
||||
<li>aggregation relationships (specified using the <em>javadoc</em> <code>@has</code> tag)
|
||||
</li>
|
||||
<li>composition relationships (specified using the <em>javadoc</em> <code>@composed</code> tag)
|
||||
</li>
|
||||
<li>association relationships (specified using the <em>javadoc</em> <code>@assoc</code> tag) </li>
|
||||
<li>navigable (directed) association relationships (specified using the <em>javadoc</em> <code>@navassoc</code> tag) </li>
|
||||
<li>aggregation relationships (specified using the <em>javadoc</em> <code>@has</code> tag) </li>
|
||||
<li>navigable aggregation relationships (specified using the <em>javadoc</em> <code>@navhas</code> tag) </li>
|
||||
<li>composition relationships (specified using the <em>javadoc</em> <code>@composed</code> tag) </li>
|
||||
<li>navigable composition relationships (specified using the <em>javadoc</em> <code>@navcomposed</code> tag) </li>
|
||||
<li>dependency relationships (specified using the <em>javadoc</em> <code>@depend</code> tag)
|
||||
</li>
|
||||
</ul>
|
||||
All relationship tags appart from <code>@extends</code> take four arguments:
|
||||
All relationship tags apart from <code>@extends</code> take four arguments:
|
||||
<ol>
|
||||
<li> The source adornments (role, multiplicity, and visibility)
|
||||
</li>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
<?xml version="1.0" ?>
|
||||
<notes>
|
||||
In UMLGraph you can easily add a note (comment) to an element,
|
||||
using the <code>@note</code> tag.
|
||||
The corresponding text will be split into lines, as specified in the note.
|
||||
Multiple tags can be used to add more notes to the same element.
|
||||
More complicated, (one to many) relationships can be established
|
||||
by creating an element with a note shape, setting its contents
|
||||
to its comment text through the <code>@opt commentname</code> tag,
|
||||
and associating it with other elements with the <code>@assoc</code>
|
||||
tag.
|
||||
<table>
|
||||
<tr><td>
|
||||
<fmtcode ext="java">
|
||||
/**
|
||||
* @opt shape node
|
||||
* @note Located in the
|
||||
* machine room
|
||||
* @note Sun Blade 6048
|
||||
* @depend - - - MapLocation
|
||||
* @depend - - - DataMine
|
||||
*/
|
||||
class Server{}
|
||||
|
||||
/** @opt shape component */
|
||||
class MapLocation {}
|
||||
|
||||
/** @opt shape component */
|
||||
class DataMine {}
|
||||
|
||||
/**
|
||||
* CPU-munching
|
||||
* components that must
|
||||
* run on this server
|
||||
* @opt shape note
|
||||
* @opt commentname
|
||||
* @assoc - - - MapLocation
|
||||
* @assoc - - - DataMine
|
||||
*/
|
||||
class munchComment {}
|
||||
</fmtcode>
|
||||
</td><td>
|
||||
<img src="note.gif" alt="UML note example" />
|
||||
</td></tr></table>
|
||||
|
||||
</notes>
|
||||
117
doc/cd-oper.xml
117
doc/cd-oper.xml
|
|
@ -1,13 +1,5 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
To use UMLGraph class drawing facility you need to have
|
||||
<a href="http://java.sun.com/j2se/javadoc/"><em>javadoc</em></a>
|
||||
and
|
||||
<a href="http://www.research.att.com/sw/tools/graphviz/">Graphviz</a>
|
||||
installed on your computer.
|
||||
Both programs are freely available, from Sun and AT&T respectively,
|
||||
for many platforms including Unix and Windows.
|
||||
UMLGraph's input follows the Java syntax and semantics.
|
||||
However,
|
||||
since the main purpose of UMLGraph is the declarative specification of
|
||||
|
|
@ -20,48 +12,119 @@ You can hide these details from the UML diagram using the <em>javadoc</em>
|
|||
<code>@hidden</code> tag applied to classes, methods, and fields.
|
||||
In theory you can also use UMLGraph to reverse engineer existing
|
||||
Java code.
|
||||
Note however that UMLGraph is not designed for this purpose;
|
||||
Note however that UMLGraph was not originally designed for this purpose;
|
||||
the resulting graphs may be large and unwieldy.
|
||||
<p />
|
||||
UMLGraph is implemented as a <em>javadoc</em> doclet (a program satisfying the
|
||||
doclet API that specifies the content and format of the output
|
||||
generated by the <em>javadoc</em> tool).
|
||||
<em>Javadoc</em> is part of the Sun JDK, so a typical JDK installation will also
|
||||
include <em>javadoc</em>.
|
||||
Before running <em>javadoc</em> you need to place the <code>UmlGraph.jar</code>
|
||||
file in a location accessible by <em>javadoc</em>
|
||||
(e.g. the Java class path or the current directory).
|
||||
You then run <em>javadoc</em> with arguments <code>-doclet gr.spinellis.umlgraph.doclet.UmlGraph</code>
|
||||
<code>-docletpath /path/to/UmlGraph.jar</code>
|
||||
and append at the end the file(s) that contain your diagram
|
||||
specification.
|
||||
You can of course use any of the <em>javadoc</em> general options;
|
||||
There are various ways to invoke UMLGraph,
|
||||
each providing a different balance between convenience and flexibility.
|
||||
<h2>Option 1: Using the Supplied Script</h2>
|
||||
This is the simplest option.
|
||||
If <code>umlgraph</code> (or <code>umlgraph.bat</code>) is correctly
|
||||
installed,
|
||||
you can run UMLGraph by simply specifying the basename of
|
||||
the Java file containing the diagram specification and the file type of
|
||||
the generated diagram (e.g. gif, ps, png, svg).
|
||||
Example:
|
||||
<fmtcode ext="sh">
|
||||
umlgraph Test png
|
||||
</fmtcode>
|
||||
Any additional UMLGraph or <em>javadoc</em> arguments can be added at
|
||||
the end of the command line.
|
||||
This command will read the specification file (e.g. Test.java) and
|
||||
generate directly a diagram of the appropriate type
|
||||
(e.g. Test.png).
|
||||
<h2>Option 2: Running Java</h2>
|
||||
This option provides the maximum flexibility.
|
||||
In order to run, <em>javadoc</em> needs to access <code>tools.jar</code>.
|
||||
You can accomplish this in two ways.
|
||||
<ol>
|
||||
<li>
|
||||
Specify the location of <code>tools.jar</code> as a part of Java's classpath
|
||||
and specify the full name of the UMLGraph doclet as an argument to Java.
|
||||
This is an invocation example under Windows
|
||||
<fmtcode ext="bat">
|
||||
java -classpath "lib/UmlGraph.jar;c:\program files\java\jdk1.6.0_02\lib\Tools.jar"
|
||||
org.umlgraph.doclet.UmlGraph -package Test.java
|
||||
</fmtcode>
|
||||
and under Unix
|
||||
<fmtcode ext="sh">
|
||||
java -classpath '/usr/share/lib/UmlGraph.jar:/opt/Java-1.6/lib/tools.jar' \
|
||||
org.umlgraph.doclet.UmlGraph -package Test.java
|
||||
</fmtcode>
|
||||
</li>
|
||||
<li> Place the <code>UmlGraph.jar</code>
|
||||
file in a directory that also contains the Java SDK <code>tools.jar</code> file.
|
||||
You can accomplish this either by copying <code>UmlGraph.jar</code> to the SDK
|
||||
<code>lib</code> directory where <code>tools.jar</code> resides,
|
||||
or by copying the JDK <code>tools.jar</code> file into the directory
|
||||
where you installed UMLGraph.
|
||||
You then run
|
||||
<fmtcode ext="sh">
|
||||
java -jar /path/to/UmlGraph.jar yourfile1.java ...
|
||||
</fmtcode>
|
||||
</li>
|
||||
</ol>
|
||||
You can use any of the <em>javadoc</em> general options;
|
||||
<code>-private</code> is usually needed to avoid having to explicitly
|
||||
specify public elements.
|
||||
Example:
|
||||
<fmtcode ext="sh">
|
||||
java -jar /usr/jvm/java-1.5.0/lib/UmlGraph.jar -private Simple.java
|
||||
</fmtcode>
|
||||
<p />
|
||||
To generate a diagram of all classes in the package specify as arguments
|
||||
to the Java invocation the name of the package and the directory where
|
||||
it resides.
|
||||
The following example generates a diagram of all UMLGraph classes.
|
||||
<fmtcode ext="sh">
|
||||
java -classpath ... org.umlgraph.doclet.UmlGraph -sourcepath src/main/java org.umlgraph.doclet
|
||||
</fmtcode>
|
||||
<p />
|
||||
Specifying some packages before the list of source files will designate
|
||||
those packages as <em>local</em>.
|
||||
When you specify a package list,
|
||||
the SVG output UmlGraph generates will contain
|
||||
the SVG output UMLgraph generates will contain
|
||||
local hyperlinks for the local classes
|
||||
and hyperlinks to the Sun Java API documentation for all other classes.
|
||||
<p />
|
||||
|
||||
<h2>Option 3: Running Javadoc</h2>
|
||||
Alternatively, you can also run <em>UMLGraph</em> from within <em>javadoc</em>.
|
||||
This can be useful if your IDE provides additional support for running <em>javadoc</em>.
|
||||
In this case you run
|
||||
<em>javadoc</em> with arguments <code>-doclet org.umlgraph.doclet.UmlGraph</code>
|
||||
<code>-docletpath /path/to/UmlGraph.jar</code>
|
||||
and append at the end the file(s) that contain your diagram
|
||||
specification.
|
||||
Example:
|
||||
<fmtcode ext="sh">
|
||||
javadoc -docletpath UmlGraph.jar -doclet gr.spinellis.umlgraph.doclet.UmlGraph -private Simple.java
|
||||
javadoc -docletpath UmlGraph.jar -doclet org.umlgraph.doclet.UmlGraph -private Simple.java
|
||||
</fmtcode>
|
||||
|
||||
<h2>Running Dot</h2>
|
||||
The last two options, will generate the UML diagram in
|
||||
<em>Graphviz</em> <em>dot</em> format.
|
||||
This is a text file that can be processed by the <em>Graphviz</em> <em>dot</em>
|
||||
program to layout and draw the graph.
|
||||
<em>javadoc</em> will create by default a file named <code>graph.dot</code>
|
||||
in the current directory; option to
|
||||
this is a text file that can be processed by the <em>Graphviz</em>
|
||||
<em>dot</em> program to layout and draw the graph.
|
||||
in the current directory.
|
||||
A command line like the following will convert the <code>graph.dot</code>
|
||||
file into Postscript:
|
||||
<fmtcode ext="sh">
|
||||
dot -Tps -ograph.ps graph.dot
|
||||
</fmtcode>
|
||||
or PNG
|
||||
<fmtcode ext="sh">
|
||||
dot -Tpng -ograph.png graph.dot
|
||||
</fmtcode>
|
||||
Refer to the <em>dot</em> documentation for information on creating other file formats
|
||||
or adjusting the UMLGraph output.
|
||||
<p />
|
||||
You also can pipe the result of <em>UMLGraph</em> directly into <em>dot</em>:
|
||||
<fmtcode ext="sh">
|
||||
java -jar /.../UmlGraph.jar -private -output - Simple.java | dot -Tgif -ograph.gif
|
||||
</fmtcode>
|
||||
<p />
|
||||
Note that when you use <em>dot</em> for generating SVG diagrams your
|
||||
should specify the <code>-outputencoding UTF-8</code> option to UMLGraph.
|
||||
This option will correctly render the stereotype guillemot characters
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" ?>
|
||||
<notes>
|
||||
Since the options are really a part of the generated graph you
|
||||
want in many cases to include them in the diagram specification.
|
||||
You can do that by adding <em>javadoc</em> <code>@opt</code> tags in front
|
||||
of a class named <code>UMLOptions</code>, as in the following example:
|
||||
<fmtcode ext="java">
|
||||
/**
|
||||
* @opt horizontal
|
||||
* @opt all
|
||||
* @hidden
|
||||
*/
|
||||
class UMLOptions {}
|
||||
</fmtcode>
|
||||
<p />
|
||||
Similarly, you can also globally specify options for all the note elements.
|
||||
through a class named <code>UMLNoteOptions</code>, as in the following example:
|
||||
<fmtcode ext="java">
|
||||
/**
|
||||
* @hidden
|
||||
* @opt nodefontcolor "blue"
|
||||
*/
|
||||
class UMLNoteOptions{}
|
||||
</fmtcode>
|
||||
<p />
|
||||
|
||||
You can also change the UMLGraph operation on a per-class basis by
|
||||
using <code>@opt</code> attributes on individual classes.
|
||||
In this case the <code>@opt</code> specification temporarily overrides
|
||||
the particular global setting for the class being processed.
|
||||
|
||||
<p/>Finally, you can reset an option to its default value by prefixing it
|
||||
with an exclamation mark. For example:
|
||||
<fmtcode ext="java">
|
||||
/**
|
||||
* @opt !attributes
|
||||
* @opt !nodefontsize
|
||||
*/
|
||||
class MyClass {}
|
||||
</fmtcode>
|
||||
|
||||
will disable attribute listing for MyClass, and reset the node font size
|
||||
to its default value (10).
|
||||
</notes>
|
||||
|
||||
279
doc/cd-opt.xml
279
doc/cd-opt.xml
|
|
@ -1,40 +1,13 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
A number of command-line options contol the operation of UMLGraph
|
||||
class diagram generator:
|
||||
A number of options control the operation of UMLGraph
|
||||
class diagram generator.
|
||||
These can be specified on the command line, and most can also
|
||||
be specified through javadoc <code>@opt</code> tags within the diagram, affecting all or some elements.
|
||||
Most have a negated version by prefixing an exclamation mark.
|
||||
<p/>
|
||||
<h2>What Gets Drawn</h2> <!-- {{{1 -->
|
||||
<dl>
|
||||
<dt>-output</dt><dd>Specify the output file (default <code>graph.dot</code>).
|
||||
If the output directory is provided, -output can only specify a file name, otherwise
|
||||
a full path is accepted as well.
|
||||
</dd>
|
||||
<dt>-d</dt><dd>Specify the output directory (defaults to the current directory).
|
||||
</dd>
|
||||
<dt>-outputencoding</dt><dd>Specify the output encoding character set (default <code>ISO-8859-1</code>).
|
||||
When using <em>dot</em> to generate SVG diagrams you should specify
|
||||
<code>UTF-8</code> as the output encoding, to have guillemots correctly
|
||||
appearing in the resulting SVG.
|
||||
</dd>
|
||||
<dt>-qualify</dt><dd>Produce fully-qualified class names.
|
||||
</dd>
|
||||
<dt>-horizontal</dt><dd>Layout the graph in the horizontal direction.
|
||||
</dd>
|
||||
<dt>-attributes</dt><dd>Show class attributes (Java fields)
|
||||
</dd>
|
||||
<dt>-operations</dt><dd>Show class operations (Java methods)
|
||||
</dd>
|
||||
<dt>-constructors</dt><dd>Show a class's constructors
|
||||
</dd>
|
||||
<dt>-visibility</dt><dd>Adorn class elements according to their
|
||||
visibility (private, public, protected, package)
|
||||
</dd>
|
||||
<dt>-types</dt><dd>Add type information to attributes and operations
|
||||
</dd>
|
||||
<dt>-enumerations</dt><dd>Show enumarations as separate stereotyped primitive
|
||||
types.
|
||||
</dd>
|
||||
<dt>-enumconstants</dt><dd>When showing enumerations, also show the values they can take.
|
||||
</dd>
|
||||
<dt>-all</dt><dd>Same as
|
||||
<code>-attributes</code>
|
||||
<code>-operations</code>
|
||||
|
|
@ -43,40 +16,101 @@ types.
|
|||
<code>-enumerations</code>
|
||||
<code>-enumconstants</code>
|
||||
</dd>
|
||||
<dt>-nodefillcolor</dt><dd>Specify the color to use to fill the shapes.
|
||||
</dd>
|
||||
<dt>-nodefontname</dt><dd>Specify the font name to use inside nodes.
|
||||
</dd>
|
||||
<dt>-nodefontabstractname</dt><dd>Specify the font name to use
|
||||
inside abstract class nodes.
|
||||
</dd>
|
||||
<dt>-nodefontsize</dt><dd>Specify the font size to use inside nodes.
|
||||
</dd>
|
||||
<dt>-nodefontcolor</dt><dd>Specify the font color to use inside nodes.
|
||||
</dd>
|
||||
<dt>-edgefontname</dt><dd>Specify the font name to use for edge labels.
|
||||
</dd>
|
||||
<dt>-edgefontsize</dt><dd>Specify the font size to use for edge labels.
|
||||
</dd>
|
||||
<dt>-edgefontcolor</dt><dd>Specify the font color to use for edge labels.
|
||||
</dd>
|
||||
<dt>-edgecolor</dt><dd>Specify the color for drawing edges.
|
||||
</dd>
|
||||
<dt>-bgcolor</dt><dd>Specify the graph's background color.
|
||||
</dd>
|
||||
<dt>-attributes</dt><dd>Show class attributes (Java fields) </dd>
|
||||
<dt>-commentname</dt><dd>Name the element using the text in the javadoc comment, instead of the name of its class. </dd>
|
||||
<dt>-constructors</dt><dd>Show a class's constructors </dd>
|
||||
<dt>-enumconstants</dt><dd>When showing enumerations, also show the values they can take. </dd>
|
||||
<dt>-enumerations</dt><dd>Show enumarations as separate stereotyped primitive types. </dd>
|
||||
<dt>-hide</dt><dd>Specify entities to hide from the graph.
|
||||
Matching is done using a non-anchored regular match.
|
||||
For instance, "<code>-hide (Big|\.)Widget</code>" would hide "<code>com.foo.widgets.Widget</code>" and
|
||||
"<code>com.foo.widgets.BigWidget</code>". Can also be used without arguments,
|
||||
in this case it will hide everything (useful in the context of views
|
||||
to selectively unhide some portions of the graph, see the view chapter for
|
||||
further details).
|
||||
</dd>
|
||||
Matching is done using a non-anchored regular match.
|
||||
For instance, "<code>-hide (Big|\.)Widget</code>" would hide "<code>com.foo.widgets.Widget</code>" and
|
||||
"<code>com.foo.widgets.BigWidget</code>". Can also be used without arguments,
|
||||
in this case it will hide everything (useful in the context of views
|
||||
to selectively unhide some portions of the graph, see the view chapter for
|
||||
further details). </dd>
|
||||
<dt>-include</dt><dd>Match classes to include with a non-anchored match. This is weaker than
|
||||
the <code>-hide</code> option, but can be used to include classes from foreign packages
|
||||
in the package view (which would by default filter to only include package members).</dd>
|
||||
<dt>-operations</dt><dd>Show class operations (Java methods) </dd>
|
||||
<dt>-qualify</dt><dd>Produce fully-qualified class names. </dd>
|
||||
<dt>-qualifyGenerics</dt><dd>Use fully-qualified class names in Java generics.</dd>
|
||||
<dt>-types</dt><dd>Add type information to attributes and operations </dd>
|
||||
<dt>-view</dt><dd>Specify the fully qualified name of a class that contains
|
||||
a view definition. Only the class diagram specified by this view will be generated.
|
||||
<br/>See the views chapter for more details.
|
||||
a view definition. Only the class diagram specified by this view will be generated.
|
||||
<br/>See the views chapter for more details. </dd>
|
||||
<dt>-views</dt><dd>Generate a class diagram for every view found in the source path. </dd>
|
||||
<dt>-visibility</dt><dd>Adorn class elements according to their visibility (private, public, protected, package) </dd>
|
||||
</dl>
|
||||
<h2>Visual Appearance</h2> <!-- {{{1 -->
|
||||
<dl>
|
||||
<dt>-bgcolor</dt><dd>Specify the graph's background color. </dd>
|
||||
<dt>-autosize</dt><dd>Fits generated graph to the width of the page/window. Defaults to true. </dd>
|
||||
<dt>-collapsible</dt><dd>Enhance the javadoc HTML files containing UML diagrams with Javascript that provides a link for showing the (initially collapsed) diagrams. </dd>
|
||||
<dt>-edgecolor</dt><dd>Specify the color for drawing edges. </dd>
|
||||
<dt>-edgefontcolor</dt><dd>Specify the font color to use for edge labels. </dd>
|
||||
<dt>-edgefontname</dt><dd>Specify the font name to use for edge labels. </dd>
|
||||
<dt>-edgefontsize</dt><dd>Specify the font size to use for edge labels. </dd>
|
||||
<dt>-horizontal</dt><dd>Layout the graph in the horizontal direction. </dd>
|
||||
<dt>-nodefillcolor</dt><dd>Specify the color to use to fill the shapes. </dd>
|
||||
<dt>-nodefontabstractname</dt><dd>Specify the font name to use inside abstract class nodes. </dd>
|
||||
<dt>-nodefontclassabstractname</dt><dd>Specify the font name use for the class name of abstract classes. </dd>
|
||||
<dt>-nodefontclassname</dt><dd>Specify the font name to use for the class names. </dd>
|
||||
<dt>-nodefontclasssize</dt><dd>Specify the font size to use for the class names. </dd>
|
||||
<dt>-nodefontcolor</dt><dd>Specify the font color to use inside nodes. </dd>
|
||||
<dt>-nodefontname</dt><dd>Specify the font name to use inside nodes. </dd>
|
||||
<dt>-nodefontpackagename</dt><dd>Specify the font name to use for the package names (used only when the package name is postfixed, see -postfixpackage). </dd>
|
||||
<dt>-nodefontpackagesize</dt><dd>Specify the font size to use for the package names (used only when it package name is postfixed, see -postfixpackage). </dd>
|
||||
<dt>-nodefontsize</dt><dd>Specify the font size to use inside nodes. </dd>
|
||||
<dt>-nodefonttagname</dt><dd>Specify the font name to use for the tag names. </dd>
|
||||
<dt>-nodefonttagsize</dt><dd>Specify the font size to use for the tag names. </dd>
|
||||
<dt>-nodesep</dt><dd>Specify the horizontal separation between the class nodes (0.25 by default). Decreasing this can make a diagram more compact.</dd>
|
||||
<dt>-noguillemot</dt><dd>Specify that guillemot characters should not be used to denote special terms like "interface" and stereotype names. This is used on some platforms to circumvent problems associated with displaying non-ASCII characters. </dd>
|
||||
<dt>-postfixpackage</dt><dd>When using qualified class names, put the package name in the line after the class name, in order to reduce the width of class nodes. </dd>
|
||||
<dt>-ranksep</dt><dd>Specify the vertical separation between the class nodes (0.5 by default). Decreasing this can make a diagram more compact.</dd>
|
||||
<dt>-shape</dt><dd>Specify the shape to use for the rendered element(s).
|
||||
The following UML shapes are available:
|
||||
<ul>
|
||||
<li>class (default)</li>
|
||||
<li>node</li>
|
||||
<li>component</li>
|
||||
<li>package</li>
|
||||
<li>collaboration</li>
|
||||
<li>usecase</li>
|
||||
<li>activeclass</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
|
||||
<p />
|
||||
All colors can be either a symbolic name (e.g. blue),
|
||||
a triple specifying hue-saturation-brightness as values 0-1
|
||||
(e.g. ".13 0.9 1"),
|
||||
or a triple specifying red-green-blue values as hexadecimal
|
||||
digits prefixed by a # (e.g. "#ff8020").
|
||||
The symbolic color names are derived from the X Windows System;
|
||||
you can find a complete list in the
|
||||
<a href="http://www.graphviz.org/doc/info/colors.html">Graphviz documentation</a>
|
||||
<p />
|
||||
Font names are passed directly to the dot graph generation back-end.
|
||||
In general the Postcript standard names Times, Helvetica, Courier, and
|
||||
Symbol are safe to use.
|
||||
<h2>Relationship Inference</h2> <!-- {{{1 -->
|
||||
<dl>
|
||||
<dt>-collpackages</dt><dd>Specify the classes that will be treated as
|
||||
containers for one to many relationships when inference is enabled.
|
||||
Matching is done using a non-anchored regular match. Empty by default.
|
||||
</dd>
|
||||
<dt>-views</dt><dd>Generate a class diagram for every view found in the source path.
|
||||
<dt>-inferdep</dt><dd>Try to automatically infer dependencies between classes by inspecting
|
||||
methods and fields. See the class diagram inference chapter for more details. Disabled by default.
|
||||
</dd>
|
||||
<dt>-inferdepinpackage</dt><dd>Enable or disable dependency inference among classes in the
|
||||
same package. This option is disabled by default, because classes in the same package are supposed
|
||||
to be related anyway, and also because there's no working mechanism to actually detect all
|
||||
of these dependencies since imports are not required to use classes in the same package.
|
||||
</dd>
|
||||
<dt>-inferdepvis</dt><dd>Specifies the lowest visibility level of elements used to infer
|
||||
dependencies among classes. Possible values are private, package, protected, public, in this
|
||||
order. The default value is private. Use higher levels to limit the number of inferred dependencies.
|
||||
</dd>
|
||||
<dt>-inferrel</dt><dd>Try to automatically infer relationships between classes by inspecting
|
||||
field values. See the class diagram inference chapter for further details. Disabled by default.
|
||||
|
|
@ -84,17 +118,21 @@ field values. See the class diagram inference chapter for further details. Disab
|
|||
<dt>-inferreltype</dt><dd>The type of relationship inferred when -inferrel is activated.
|
||||
Defaults to "navassoc" (see the class modelling chapter for a list of relationship types).
|
||||
</dd>
|
||||
<dt>-inferdep</dt><dd>Try to automatically infer dependencies between classes by inspecting
|
||||
methods and fields. See the class diagram inference chapter for more details. Disabled by default.
|
||||
</dd>
|
||||
<dt>-useimports</dt><dd>Will also use imports to infer dependencies.
|
||||
Disabled by default, since it does not work properly if there are multiple
|
||||
classes in the same source file (will add dependencies to every class in
|
||||
the source file).
|
||||
</dd>
|
||||
<dt>-collpackages</dt><dd>Specify the classes that will be treated as
|
||||
containers for one to many relationships when inference is enabled.
|
||||
Matching is done using a non-anchored regular match. Empty by default.
|
||||
</dl>
|
||||
<h2>API Hyperlinks</h2> <!-- {{{1 -->
|
||||
<dl>
|
||||
<dt>-apidocmap</dt><dd>Specify the file name of the URL mapping table.
|
||||
The is a standard Java property file, where the property name is a regular
|
||||
expression (as defined in the java.util.regex package) and the property value is
|
||||
an URL "root" as described above.
|
||||
This table is used to resolved external class names (class names that do not
|
||||
belong to the current package being processed by UMLGraph). If no file is provided,
|
||||
external classes will just be mapped to the on-line Java API documentation.
|
||||
</dd>
|
||||
<dt>-apidocroot</dt><dd>Specify the URL that should be used as the "root" for local classes.
|
||||
This URL will be used as a prefix, to which the page name for the local class or
|
||||
|
|
@ -107,62 +145,49 @@ final class diagram by setting the output to SVG, or by creating an HTML page
|
|||
that associates the diagram static image (a .gif or .png) with a client-side
|
||||
image map.
|
||||
</dd>
|
||||
<dt>-apidocmap</dt><dd>Specify the file name of the URL mapping table.
|
||||
The is a standard Java property file, where the property name is a regular
|
||||
expression (as defined in the java.util.regex package) and the property value is
|
||||
an URL "root" as described above.
|
||||
This table is used to resolved external class names (class names that do not
|
||||
belong to the current package being processed by UMLGraph). If no file is provided,
|
||||
external classes will just be mapped to the on-line Java API documentation.
|
||||
</dd>
|
||||
<dt>-noguillemot</dt><dd>Specify that guillemot characters should not
|
||||
be used to denote special terms like "interface" and stereotype names.
|
||||
This is used on some platforms to circumvent problems associated
|
||||
with displaying non-ASCII characters.
|
||||
<dt>-link</dt><dd>A clone of the standard doclet
|
||||
<a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/windows/javadoc.html#link">-link</a>
|
||||
option, allows UMLGraph to generate links from class symbols to their external javadoc
|
||||
documentation (image maps are automatically generated in UMLGraphDoc, you'll have to generate them
|
||||
manually with graphviz if using UMLGraph).
|
||||
</dd>
|
||||
</dl>
|
||||
<p />
|
||||
All colors can be either a symbolic name (e.g. blue),
|
||||
a tripple specifying hue-saturation-brightness as values 0-1
|
||||
(e.g. ".13 0.9 1"),
|
||||
or a tripple specifying red-green-blue values as hexadecimal
|
||||
digits prefixed by a # (e.g. "#ff8020").
|
||||
The symbolic color names are derived from the X Windows System;
|
||||
you can find a complete list in the
|
||||
<a href="http://www.graphviz.org/doc/info/colors.html">Graphviz documentation</a>
|
||||
<p />
|
||||
Font names are passed directly to the dot graph generation back-end.
|
||||
In general the Postcript standard names Times, Helvetica, Courier, and
|
||||
Symbol are safe to use.
|
||||
<p />
|
||||
Since the options are really a part of the generated graph you
|
||||
want in many cases to include them in the diagram specification.
|
||||
You can do that by adding <em>javadoc</em> <code>@opt</code> tags in front
|
||||
of a class named <code>UMLOptions</code>, as in the following example:
|
||||
<fmtcode ext="java">
|
||||
/**
|
||||
* @opt horizontal
|
||||
* @opt all
|
||||
* @hidden
|
||||
*/
|
||||
class UMLOptions {}
|
||||
</fmtcode>
|
||||
|
||||
You can also change the UMLGraph operation on a per-class basis by
|
||||
using <code>@opt</code> attributes on individual classes.
|
||||
In this case the <code>@opt</code> specification temporarily overrides
|
||||
the particular global setting for the class being processed.
|
||||
|
||||
<p/>Finally, you can reset an option to its default value by prefixing it
|
||||
with an exclamation mark. For example:
|
||||
<fmtcode ext="java">
|
||||
/**
|
||||
* @opt !attributes
|
||||
* @opt !nodefontsize
|
||||
*/
|
||||
class MyClass {}
|
||||
</fmtcode>
|
||||
|
||||
will disable attribute listing for MyClass, and reset the node font size
|
||||
to its default value (10).
|
||||
<h2>Operation</h2> <!-- {{{1 -->
|
||||
<dl>
|
||||
<dt>-compact</dt><dd>Generate compact dot files, that is, print HTML labels
|
||||
in a single line instead of "pretty printing" them. Useful if the dot file
|
||||
has to be manipulated by an automated tool
|
||||
(e.g., the UMLGraph regression test suite).
|
||||
</dd>
|
||||
<dt>-d</dt><dd>Specify the output directory (defaults to the current directory).
|
||||
</dd>
|
||||
<dt>-dotexecutable</dt><dd>Specify the path of the <em>dot</em> executable.
|
||||
</dd>
|
||||
<dt>-linkoffline</dt><dd>Specify
|
||||
links to javadoc-generated documentation for external referenced classes.
|
||||
The <code>-linkoffline</code> option takes two arguments:
|
||||
the first for the string to be embedded in the <code>href</code>
|
||||
links, the second telling it where to find the <code>package-list</code>.
|
||||
Example:
|
||||
<pre>
|
||||
-linkoffline http://developer.android.com/reference file:/home/doc/android/
|
||||
</pre>
|
||||
See the <em>javadoc</em> documentation for more details.
|
||||
</dd>
|
||||
<dt>-output</dt><dd>Specify the output file (default <code>graph.dot</code>).
|
||||
If the output directory is provided, -output can only specify a file name,
|
||||
otherwise a full path is accepted as well.
|
||||
If the filename specified is a dash, then the results are printed on the
|
||||
standard output, and can be directly piped into <em>dot</em>.
|
||||
Note that, in order to avoid <em>javadoc</em> messages to contaminate
|
||||
UMLGraph's output, you must execute UMLGraph directly as a jar,
|
||||
not through <em>javadoc</em>.
|
||||
</dd>
|
||||
<dt>-outputencoding</dt><dd>Specify the output encoding character set (default <code>ISO-8859-1</code>).
|
||||
When using <em>dot</em> to generate SVG diagrams you should specify
|
||||
<code>UTF-8</code> as the output encoding, to have guillemots correctly
|
||||
appearing in the resulting SVG.
|
||||
</dd>
|
||||
</dl>
|
||||
<!-- Footer {{{1 -->
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" ?>
|
||||
<notes>
|
||||
UmlGraphDoc is a standard doclet wrapper that combines
|
||||
the standard doclet output (javadoc documentation) along with auto-generated
|
||||
class diagrams for both packages and classes.
|
||||
|
||||
The UmlGraphDoc process is driven by all the parameters that can be specified for
|
||||
UMLGraph and the standard doclet; each will be passed to the appropriate
|
||||
doclet.
|
||||
|
||||
Diagram generation is based on the idea of context:
|
||||
<ul>
|
||||
<li>for packages, the diagram contains all of the classes in the package itself</li>
|
||||
<li>for classes, the set of classes somehow related to the current class</li>
|
||||
</ul>
|
||||
|
||||
The actual content of the diagrams depends on the kind of relations declared on the
|
||||
class files (with the UMLGraph javadoc annotations) and/or on the kind of automated
|
||||
inference that UMLGraph is allowed to use.
|
||||
|
||||
UMLGraph javadocs are now generated with UmlGraphDoc with the following ant target:
|
||||
|
||||
<fmtcode ext="xml">
|
||||
<target name="javadocs" depends="compile">
|
||||
<javadoc sourcepath="${src}" packagenames="org.umlgraph.doclet.*" destdir="${javadoc}"
|
||||
private="true">
|
||||
<doclet name="org.umlgraph.doclet.UmlGraphDoc" path="${lib}/UMLGraph.jar">
|
||||
<param name="-inferrel"/>
|
||||
<param name="-inferdep"/>
|
||||
<param name="-hide" value="java.*"/>
|
||||
<param name="-collpackages" value="java.util.*"/>
|
||||
<param name="-qualify"/>
|
||||
<param name="-postfixpackage"/>
|
||||
<param name="-nodefontsize" value="9"/>
|
||||
<param name="-nodefontpackagesize" value="7"/>
|
||||
<param name="-link" value="http://java.sun.com/j2se/1.5.0/docs/guide/javadoc/doclet/spec"/>
|
||||
<param name="-link" value="http://java.sun.com/j2se/1.5/docs/api"/>
|
||||
</doclet>
|
||||
</javadoc>
|
||||
</target>
|
||||
</fmtcode>
|
||||
|
||||
When generating documentation with UmlGraphDoc you will encounter
|
||||
at some point the "fur ball" effect: some central classes that
|
||||
have very complex context diagrams.
|
||||
To reduce this, you can avoid dependency inference
|
||||
altogheter, or reduce the number of inferred dependencies by using the -inferdepvis options.
|
||||
|
||||
If you find that this is not enough and have suggestions on how to improve the situation further,
|
||||
we are eager to listen.
|
||||
</notes>
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
@ -32,7 +31,7 @@ class SetTopController implements URLStreamHandler {
|
|||
void connect() {}
|
||||
}
|
||||
|
||||
/** @depend - <friend> - SetTopController */
|
||||
/** @depend - <friend> - SetTopController */
|
||||
class ChannelIterator {}
|
||||
|
||||
interface URLStreamHandler {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<fmtcode ext="java">
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
@ -43,5 +42,50 @@ class ColorValue{}
|
|||
</fmtcode>
|
||||
</td><td>
|
||||
<img src="color.gif" alt="UML diagram demonstrating the use of colors" />
|
||||
</td></tr></table>
|
||||
</td></tr>
|
||||
<tr><td>
|
||||
<fmtcode ext="java">
|
||||
package net.sf.whatever.test;
|
||||
|
||||
/**
|
||||
* @hidden
|
||||
* @opt postfixpackage
|
||||
* @opt edgefontname arialbd
|
||||
* @opt nodefontname arial
|
||||
* @opt nodefontsize 9
|
||||
* @opt nodefontabstract ariali
|
||||
* @opt nodefontclassname arialbd
|
||||
* @opt nodefontclassabstractname arialbi
|
||||
* @opt nodefonttagsize 6
|
||||
* @opt nodefonttagname ariali
|
||||
* @opt nodefontpackagesize 8
|
||||
* @opt operations
|
||||
* @opt attributes
|
||||
* @opt qualify
|
||||
* @opt types
|
||||
*/
|
||||
class UMLOptions{}
|
||||
|
||||
/**
|
||||
* @stereotype base
|
||||
* @tagvalue since 1.0
|
||||
*/
|
||||
abstract class AbstractBase {
|
||||
/** @tagvalue since 1.5 */
|
||||
private int field;
|
||||
public abstract void abstractMethod();
|
||||
public int concreteMethod() { return 1; }
|
||||
}
|
||||
|
||||
/**
|
||||
* @composed 1 has * from.Outer.Space.AlienClass
|
||||
*/
|
||||
class Composite extends AbstractBase {}
|
||||
|
||||
public class Style extends AbstractBase {}
|
||||
</fmtcode>
|
||||
</td><td>
|
||||
<img src="style.png" alt="UML diagram demonstrating the use of fonts" />
|
||||
</td></tr>
|
||||
</table>
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,14 @@
|
|||
<?xml version="1.0" ?>
|
||||
<notes>
|
||||
The following was generated by annotating the
|
||||
<a href="https://github.com/istlab/Alitheia-Core/tree/master/alitheia/core/src/main/java/eu/sqooss/service/db">source code</a> of the
|
||||
<a href="https://github.com/istlab/Alitheia-Core/">Alitheia Core</a> project.
|
||||
Georgios Gousios, who created it, wrote:
|
||||
<blockquote>
|
||||
<p>
|
||||
I've used UMLgraph to generate an E-R diagram out of the DAOs we use in Alitheia Core. I've just annotated a few classes with @assoc tags, removed the super class DAObject from all entities with sed, did some tweaking by hand in the .dot output, et voila, an E-R depicting almost 30 classes in less than 30 minutes!
|
||||
</p>
|
||||
</blockquote>
|
||||
<p />
|
||||
<img src="er-sqo-oss.png" alt="UML diagram showing an entity relationship diagram" />
|
||||
</notes>
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
@ -13,6 +12,7 @@ import java.util.Arrays;
|
|||
* @opt inferrel
|
||||
* @opt collpackages java.util.*
|
||||
* @opt inferdep
|
||||
* @opt inferdepinpackage
|
||||
* @opt hide java.*
|
||||
* @hidden
|
||||
*/
|
||||
|
|
@ -20,8 +20,8 @@ class UMLOptions {}
|
|||
|
||||
class Person {
|
||||
House[] houses;
|
||||
List<Dog> dogs;
|
||||
|
||||
List<Dog> dogs;
|
||||
|
||||
public Room getFavouriteRoom(House house) {}
|
||||
}
|
||||
|
||||
|
|
@ -29,7 +29,7 @@ class Person {
|
|||
* @opt inferreltype composed
|
||||
*/
|
||||
class House {
|
||||
Map<String, Room> nameRoomMap;
|
||||
Map<String, Room> nameRoomMap;
|
||||
}
|
||||
|
||||
class Room {}
|
||||
|
|
@ -37,7 +37,6 @@ class Room {}
|
|||
class Dog {
|
||||
Person owner;
|
||||
}
|
||||
|
||||
</fmtcode>
|
||||
</td><td>
|
||||
<img src="infer.png" alt="UML diagram with relationship inference" />
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
Vadim Nasardinov noted that an advantage of UMLGraph over many
|
||||
GUI-oriented UML drawing tools is the ability
|
||||
|
|
@ -16,7 +15,6 @@ a Makefile illustrates a way to organize this process.
|
|||
<h2>Java Description</h2>
|
||||
<fmtcode ext="java">
|
||||
// Author: Vadim Nasardinov
|
||||
// Version: $Id$
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -63,107 +61,63 @@ class DataOperation extends Element {}
|
|||
<fmtcode ext="mak">
|
||||
# Author: Vadim Nasardinov (vadimn@redhat.com)
|
||||
# Since: 2004-05-26
|
||||
# Version: $Id$
|
||||
# See: http://www.spinellis.gr/umlgraph/doc/ceg-mv.html
|
||||
|
||||
# Requires: graphviz
|
||||
# Requires: transfig
|
||||
# Requires: libxslt
|
||||
# Requires: javac
|
||||
# Requires: javadoc
|
||||
# Requires: JAVA_HOME/lib/tools.jar
|
||||
|
||||
.PHONY : clean all build jar dot png debug
|
||||
.PHONY : clean all dot png
|
||||
|
||||
BUILD=build
|
||||
UMLGRAPH := /var/vadim/binaries/UMLGraph-4.8
|
||||
uml_graph := $(UMLGRAPH)/lib/UmlGraph.jar
|
||||
|
||||
jar_dir:=$(BUILD)/jars
|
||||
diagrams := notes/diagrams
|
||||
|
||||
java_files := $(shell find $(diagrams) -name *.java)
|
||||
java_files := $(shell find diagrams -name *.java)
|
||||
dot_files := $(subst .java,.dot,$(java_files))
|
||||
dot_files := $(foreach dot, $(dot_files), $(BUILD)/$(dot))
|
||||
dot_files := $(foreach dot, $(dot_files), build/$(dot))
|
||||
dot_files += $(subst .dot,-small.dot,$(dot_files))
|
||||
|
||||
png_files := $(subst .dot,.png,$(dot_files))
|
||||
|
||||
fig_files := $(shell find $(diagrams) -name *.fig)
|
||||
|
||||
png_files += $(subst .fig,.png,$(foreach fig, $(fig_files), $(BUILD)/$(fig)))
|
||||
|
||||
|
||||
premade_src_png := $(shell find $(diagrams) -name *.png)
|
||||
png_files += $(foreach png, $(premade_src_png), $(BUILD)/$(png))
|
||||
|
||||
xml_files:=$(shell find notes -name *.xml)
|
||||
html_files:=$(subst notes/,$(BUILD)/notes/,$(xml_files))
|
||||
html_files:=$(subst .xml,.html,$(html_files))
|
||||
stylesheet:= notes/notes.xsl
|
||||
|
||||
javac_dest:=$(BUILD)/classes
|
||||
|
||||
classpath:=
|
||||
javac=javac -classpath $(JAVA_HOME)/lib/tools.jar -d $(javac_dest)
|
||||
|
||||
timestamp:=$(BUILD)/.timestamp
|
||||
|
||||
uml_graph:=$(jar_dir)/UmlGraph.jar
|
||||
|
||||
jd:=javadoc
|
||||
jd_flags := -docletpath $(uml_graph) -doclet gr.spinellis.umlgraph.doclet.UmlGraph -private
|
||||
jd_flags += -nodefontname luxisr -nodefontabstractname luxisri
|
||||
jd_flags += -edgefontname luxisr
|
||||
jd_flags += -nodefontsize 8 -edgefontsize 8
|
||||
jd_flags := -docletpath $(uml_graph) -doclet org.umlgraph.doclet.UmlGraph -private
|
||||
|
||||
jd_flags += -nodefontsize 9 -edgefontsize 9
|
||||
jd_flags += -nodefillcolor LemonChiffon
|
||||
detailed_flags := -attributes -operations -types
|
||||
|
||||
all: doc
|
||||
all: png
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD)
|
||||
rm -rf build
|
||||
|
||||
jar: $(uml_graph)
|
||||
|
||||
build: $(timestamp)
|
||||
|
||||
$(timestamp): src/UmlGraph.java
|
||||
mkdir -p $(javac_dest)
|
||||
$(javac) $?
|
||||
touch $(timestamp)
|
||||
|
||||
$(uml_graph): $(timestamp)
|
||||
mkdir -p $(jar_dir)
|
||||
jar cf $(uml_graph) -C $(BUILD)/classes .
|
||||
jar i $(uml_graph)
|
||||
|
||||
|
||||
build/%.dot : %.java $(uml_graph)
|
||||
build/%.dot : %.java
|
||||
mkdir -p $(dir $@)
|
||||
$(jd) $(jd_flags) $(detailed_flags) -output $@ $<
|
||||
$(jd) $(jd_flags) $(detailed_flags) -output $@ $<
|
||||
|
||||
build/%-small.dot : %.java $(uml_graph)
|
||||
build/%-small.dot : %.java
|
||||
mkdir -p $(dir $@)
|
||||
$(jd) $(jd_flags) -output $@ $<
|
||||
$(jd) $(jd_flags) -output $@ $<
|
||||
|
||||
%.png : %.dot $(uml_graph)
|
||||
dot -Nheight=0.2 -Elabelfontcolor=DarkSlateBlue -Elabelfontsize=8 -Tpng -o $@ $<
|
||||
%.png : %.dot
|
||||
dot -Nheight=0.2 -Elabelfontcolor=DarkSlateBlue -Elabelfontsize=8 -Tpng -o $@ $<
|
||||
|
||||
build/%.png : %.fig
|
||||
mkdir -p $(dir $@)
|
||||
fig2dev -L png -S 4 $< $@
|
||||
fig2dev -L png -S 4 $< $@
|
||||
|
||||
dot: $(dot_files)
|
||||
|
||||
png: $(png_files)
|
||||
|
||||
build/%.png : %.png
|
||||
mkdir -p $(dir $@)
|
||||
cp $< $@
|
||||
cp $< $@
|
||||
|
||||
build/%.html: %.xml $(stylesheet)
|
||||
mkdir -p $(dir $@)
|
||||
xsltproc -o $@ $(stylesheet) $<
|
||||
|
||||
doc: $(html_files) $(png_files)
|
||||
|
||||
debug:
|
||||
@echo $(dot_files)
|
||||
# Example usage:
|
||||
# make debug-java_files
|
||||
# make debug-png_files
|
||||
debug-%:
|
||||
@echo $* is $($*)
|
||||
</fmtcode>
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,74 @@
|
|||
<?xml version="1.0" ?>
|
||||
<notes>
|
||||
<fmtcode ext="java">
|
||||
/**
|
||||
* @hidden
|
||||
* @opt nodefontcolor "blue"
|
||||
*/
|
||||
class UMLNoteOptions{}
|
||||
|
||||
/**
|
||||
* Structural Things
|
||||
* @opt commentname
|
||||
* @note Notes can
|
||||
* be extended to
|
||||
* span multiple lines
|
||||
*/
|
||||
class Structural{}
|
||||
|
||||
/**
|
||||
* spelling.java
|
||||
* @opt shape component
|
||||
* @opt commentname
|
||||
* @note Component
|
||||
*/
|
||||
class Component extends Structural{}
|
||||
|
||||
/** @opt shape node */
|
||||
class Node extends Structural{}
|
||||
|
||||
/**
|
||||
* Chain of
|
||||
* responsibility
|
||||
* @opt shape collaboration
|
||||
* @opt commentname
|
||||
* @note Collaboration
|
||||
*/
|
||||
class Collaboration extends Structural{}
|
||||
|
||||
/**
|
||||
* Place order
|
||||
* @opt shape usecase
|
||||
* @opt commentname
|
||||
* @note Use Case
|
||||
*/
|
||||
class UseCase extends Structural{}
|
||||
|
||||
/**
|
||||
* Business rules
|
||||
* @opt shape package
|
||||
* @opt commentname
|
||||
* @note Package
|
||||
*/
|
||||
class Package{}
|
||||
|
||||
/**
|
||||
* @opt all
|
||||
* @note Class
|
||||
*/
|
||||
class Counter extends Structural {
|
||||
static public int counter;
|
||||
public int getCounter();
|
||||
}
|
||||
|
||||
/**
|
||||
* @opt shape activeclass
|
||||
* @opt all
|
||||
* @note Active Class
|
||||
*/
|
||||
class RunningCounter extends Counter{}
|
||||
|
||||
</fmtcode>
|
||||
<p/>
|
||||
<img src="shapes.gif" alt="UML diagram showing the shapes supported by UMLGraph" />
|
||||
</notes>
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<table>
|
||||
<tr><td>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The makefile-based multiple view example can be generated by using internal
|
||||
view support by means of the following sources (note the use of UmlOptions
|
||||
|
|
@ -9,7 +8,6 @@ diagrams at different detail level).
|
|||
<fmtcode ext="java">
|
||||
// Author: Vadim Nasardinov
|
||||
// Author: Andrea Aime
|
||||
// Version: $Id$
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
|
@ -80,7 +78,7 @@ and by invoking the following commands (assuming UmlGraph.jar is in the
|
|||
current directory):
|
||||
|
||||
<fmtcode ext="bat">
|
||||
javadoc -doclet gr.spinellis.umlgraph.doclet.UmlGraph -private -docletpath UmlGraph.jar -views RootViews.java
|
||||
javadoc -doclet org.umlgraph.doclet.UmlGraph -private -docletpath UmlGraph.jar -views RootViews.java
|
||||
dot -Tpng -o root-small.png Overview.dot
|
||||
dot -Tpng -o root.png DetailedView.dot
|
||||
</fmtcode>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
Views are especially interesting in big projects, since they allow to
|
||||
generate package specific diagrams and overview diagrams in a quick and
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
Views are special classes that allow the generation of a custom class
|
||||
diagram based on a set of diagram global options and a set of option
|
||||
|
|
@ -81,4 +80,5 @@ overrides, and have concrete view classes that extend for diagram generation.
|
|||
<li>View options</li>
|
||||
<li>Base view match overrides</li>
|
||||
<li>View match overrides</li>
|
||||
</ul>
|
||||
</ul>
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
// $Id$
|
||||
|
||||
/**
|
||||
* @opt nodefillcolor ".13 .9 1"
|
||||
|
|
|
|||
|
|
@ -1,13 +1,12 @@
|
|||
/*
|
||||
* Class stereotypes and tagged values
|
||||
* UML User Guide p. 439
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* @opt attributes
|
||||
* @opt operations
|
||||
* @opt types
|
||||
/**
|
||||
* @opt attributes
|
||||
* @opt operations
|
||||
* @opt types
|
||||
* @hidden
|
||||
*/
|
||||
class UMLOptions {}
|
||||
|
|
@ -15,8 +14,8 @@ class UMLOptions {}
|
|||
/** @hidden */
|
||||
class Action {}
|
||||
|
||||
/**
|
||||
* @stereotype container
|
||||
/**
|
||||
* @stereotype container
|
||||
* @tagvalue version 3.2
|
||||
*/
|
||||
class ActionQueue {
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
// $Id$
|
||||
|
||||
/**
|
||||
* @opt edgecolor "yellow"
|
||||
|
|
@ -11,12 +10,13 @@
|
|||
class UMLOptions{}
|
||||
|
||||
/**
|
||||
* @opt nodefontname "Helvetica-Bold"
|
||||
* @opt nodefontname "Arial"
|
||||
* @opt nodefontcolor "white"
|
||||
* @composed - - - Red
|
||||
* @composed - - - Green
|
||||
* @composed - - - Blue
|
||||
* @opt attributes
|
||||
* @opt operations
|
||||
* @opt visibility
|
||||
* @opt types
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" ?>
|
||||
<notes>
|
||||
Here are other programs or efforts that build on UMLGraph's
|
||||
code or ideas.
|
||||
<ul>
|
||||
<li> <a href="http://maven-plugins.sourceforge.net/maven-dotuml-plugin/">Dotuml</a>
|
||||
integrates UMLGraph into <a href="http://maven.apache.org/">Maven</a>.</li>
|
||||
<li> The <a href="http://www.primordion.com/Xholon/index.html">Xholon</a>
|
||||
framework for building loosely-organized systems
|
||||
captures object interactions at runtime,
|
||||
and creates UML 2.0 sequence diagrams using UMLGraph.</li>
|
||||
<li> <a href="http://phpcallgraph.sourceforge.net/">phpCallGraph</a>
|
||||
can output its analysis in UMLGraph format, allowing the
|
||||
automatic production of UML sequence diagrams from PHP code.</li>
|
||||
<li> <a href="http://lightuml.sourceforge.net/">LightUML</a>
|
||||
integrates UMLGraph into <a href="http://www.eclipse.org">Eclipse</a>.</li>
|
||||
<li> <a href="http://ruby-uml.rubyforge.org/">ruby-uml</a>
|
||||
traces aspects of an application
|
||||
using UMLGraph to generate sequence and class diagrams.</li>
|
||||
<li> The Politecnico Di Torino SoftEng group has extended UMLGraph into
|
||||
the <a href="http://softeng.polito.it/projects/XUG/">XUG</a>
|
||||
reverse engineering tool.</li>
|
||||
<li> Adam Feuer's
|
||||
<a href="http://www.python.org/pypi/PyUMLGraph">PyUMLGraph</a>
|
||||
system applies the concept to Python programs.</li>
|
||||
<li> The <a href="http://moinmo.in/">MoinMoin</a> Wiki engine
|
||||
uses UMLGraph to provide
|
||||
<a href="http://moinmo.in/ParserMarket/UmlSequence">support for UML sequence diagrams</a>.</li>
|
||||
<li> The <a href="http://jbrugge.com/glean/">Glean</a>
|
||||
framework for generating feedback on a team's source code
|
||||
supports the scripting of UMLGraph.</li>
|
||||
<li> W. Goesgens has <a href="http://wiki.ioslo.net/dokuwiki/graphviz#plugging_umlgraph_infront_of_graphviz">documented here</a> a way to use
|
||||
UMLGraph diagrams in
|
||||
<a href="http://wiki.splitbrain.org/wiki:dokuwiki">DokuWiki</a>.</li>
|
||||
<li> Mykhaylo Sorochan has built on top of UMLGraph a
|
||||
<a href="http://macroexpand.org/doku.php/articles:uml-sequence-diagram-dsl-txl:start">higher-level domain-specific language for specifying UML sequence diagrams</a>.</li>
|
||||
<li>
|
||||
<a href="http://sketchlet.sourceforge.net/">Sketchlet</a> is using UMLGraph as a widget plugin. You can find a video about the Sketchlet UMLGraph widget usage at <a href="http://www.youtube.com/watch?v=H6lrgSYyzE0">http://www.youtube.com/watch?v=H6lrgSYyzE0</a>.
|
||||
</li>
|
||||
<li>
|
||||
<a href="http://argouml-graphviz.tigris.org/">argouml-graphviz</a>
|
||||
is a plugin to let ArgoUML generate graphviz files.
|
||||
</li>
|
||||
</ul>
|
||||
</notes>
|
||||
|
|
@ -1,6 +1,5 @@
|
|||
# UML Distilled: Figure 5-2 p. 70
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following diagram, based on the diagram appearing on p. 70 of
|
||||
UML Distilled, contains self calls, object activation,
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following diagram, illustrates the operating system calls of
|
||||
a typical DNS query.
|
||||
|
|
@ -17,7 +16,6 @@ drawing facility.
|
|||
#
|
||||
# DNS query collaboration diagram
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
#
|
||||
# DNS query collaboration diagram
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 103 KiB |
99
doc/faq.xml
99
doc/faq.xml
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
|
||||
<!--
|
||||
|
|
@ -10,6 +9,7 @@ To update the table of contents execute the following vim command from a registe
|
|||
<h2>Contents</h2>
|
||||
<ul>
|
||||
|
||||
<li> <a href="#cmdline">What is the command line sequence to generate a UMLGraph class diagram?</a></li>
|
||||
<li> <a href="#utfsvg">Why are the SVG diagrams dot generates malformed?</a></li>
|
||||
<li> <a href="#antialias">How can I improve the quality of the bitmap images I generate?</a></li>
|
||||
<li> <a href="#layout">How can I improve the layout of my class diagrams?</a></li>
|
||||
|
|
@ -19,13 +19,31 @@ To update the table of contents execute the following vim command from a registe
|
|||
<li> <a href="#cr">Under Windows the output of <em>pic2plot</em> appears empty. Why?</a></li>
|
||||
<li> <a href="#maven">I have a problem with Maven's Dotuml plugin. Can you help me?</a></li>
|
||||
<li> <a href="#autopic">How can I make the UMLGraph doclet generate sequence diagrams?</a></li>
|
||||
<li> <a href="#packname">Why the vanity package name? Why not name the package org.umlgraph?</a></li>
|
||||
<li> <a href="#unnamed">Why do the options specified in the <code>UMLOptions</code> class stop working, when I pass the <code>packagenames</code> option to <em>javadoc</em>?</a></li>
|
||||
<li> <a href="#tiger">Why doesn't UMLGraph run under Mac OS X?</a></li>
|
||||
<li> <a href="#cpp">Can I create UML class diagrams from C++ code?</a></li>
|
||||
<li> <a href="#ClassCastException">How can I get around a UMLGraphDoc crash with a ClassCastException?</a></li>
|
||||
<li> <a href="#license">Under what license is UMLGraph distributed?</a></li>
|
||||
<li> <a href="#classnotfound">Why do I get an exception java.lang.NoClassDefFoundError: com/sun/tools/javadoc/Main?</a></li>
|
||||
<li> <a href="#truncxml">How can I prevent clipped SVG images in sequence diagrams?</a></li>
|
||||
<li> <a href="#private">How can I instruct UMLGraph to include private fields in its output?</a></li>
|
||||
</ul>
|
||||
|
||||
<h2><a name="cmdline">What is the command line sequence to generate a UMLGraph class diagram?</a></h2>
|
||||
Assuming that you diagram's description is in the file Diag.java,
|
||||
issue the command:
|
||||
<fmtcode ext="sh">
|
||||
umlgraph Diag png
|
||||
java -jar path-to/UmlGraph.jar -package -output - Diag.java | dot -Tpng -oDiag.png Diag.dot
|
||||
</fmtcode>
|
||||
In the above you can change <code>png</code> to another file format,
|
||||
and add more UMLGraph switches at the end of the line.
|
||||
<p />
|
||||
|
||||
|
||||
<h2><a name="utfsvg">Why are the SVG diagrams dot generates malformed?</a></h2>
|
||||
UMLGraph uses guillemot characters for representing the angle brackets around
|
||||
stereotypes, as in «interface».
|
||||
stereotypes, as in «interface».
|
||||
By default these are encoded as ISO-8859-1 characters, which are illegal
|
||||
in the UTF-8 output that dot generates for SVG.
|
||||
When using dot to generate SVG output, you should also specify
|
||||
|
|
@ -56,7 +74,7 @@ ppmtogif >FILENAME.gif
|
|||
(David Griffiths reports that he had to add to the <em>gs</em> command
|
||||
<code>-sPAPERSIZE=a4</code> or
|
||||
<code>-dDEVICEHEIGHTPOINTS=1000</code> to avoid getting
|
||||
his resutls chopped-off.)
|
||||
his results chopped-off.)
|
||||
|
||||
<p />
|
||||
One other possibility for converting the sequence diagram into Postscript
|
||||
|
|
@ -132,10 +150,6 @@ The following Perl invocation is such a filter:
|
|||
<fmtcode ext="sh">
|
||||
perl -p -e "BEGIN {binmode(STDOUT);} s/\r//"
|
||||
</fmtcode>
|
||||
You can remove the CR characters in-place by running:
|
||||
<fmtcode ext="sh">
|
||||
perl -pi.bak -e "BEGIN {binmode(STDOUT);} s/\r//" FILENAME.pic
|
||||
</fmtcode>
|
||||
In addition, <em>pic2plot</em> appears to require that the last input file
|
||||
be properly terminated (with a newline).
|
||||
Apparently, some Windows editors may leave the last line unterminated,
|
||||
|
|
@ -151,14 +165,6 @@ Have a look at the project's documentation and mailing lists available through
|
|||
You can't.
|
||||
You have to write the <em>pic</em> code for the sequence diagrams by hand.
|
||||
|
||||
<h2><a name="packname">Why the vanity package name? Why not name the package org.umlgraph?</a></h2>
|
||||
The package names are supposed to be unique.
|
||||
If everybody names their project under the org.* namespace there's
|
||||
no mechanism for ensuring that the name will be unique,
|
||||
unless the developer also registers the corresponding domain name.
|
||||
Registering a different domain name for each project is not practical,
|
||||
therefore I name the packages I develop using the domain name I own.
|
||||
|
||||
<h2><a name="unnamed">Why do the options specified in the <code>UMLOptions</code> class stop working, when I pass the <code>packagenames</code> option to <em>javadoc</em>?</a></h2>
|
||||
When you pass the <code>packagenames</code> option to
|
||||
<em>javadoc</em>, the default (unnamed) package (and the
|
||||
|
|
@ -166,4 +172,65 @@ When you pass the <code>packagenames</code> option to
|
|||
located in it) is ignored.
|
||||
In such cases you should include the <code>UMLOptions</code> class
|
||||
within a named package.
|
||||
|
||||
<h2><a name="tiger">Why doesn't UMLGraph run under Mac OS X?</a></h2>
|
||||
Make sure you are running Java 1.5 (run <code>java -version</code> to see).
|
||||
If you are not running 1.5 you may need to adjust the symbolic links
|
||||
in
|
||||
<code>/System/Library/Frameworks/JavaVM.framework/Versions</code>.
|
||||
|
||||
<h2><a name="cpp">Can I create UML class diagrams from C++ code?</a></h2>
|
||||
This <a href="http://www.spinellis.gr/blog/20060921/">blog entry</a> describes
|
||||
a simple solution that has worked for me.
|
||||
Depending on your requirements YMMV.
|
||||
|
||||
<h2><a name="ClassCastException">How can I get around a UMLGraphDoc crash with a ClassCastException?</a></h2>
|
||||
This happens due to a know <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6442982">javadoc bug</a>.
|
||||
By fixing the classpath used for the UNLGraph invocation you can avoid this
|
||||
problem.
|
||||
Olivier Duysens notes:
|
||||
<blockquote>
|
||||
<p>
|
||||
JBuilder users need to go to Preferences/Build/Ant,
|
||||
and tick the box "Use project libraries when running ant" to solve the issue.
|
||||
</p>
|
||||
</blockquote>
|
||||
|
||||
<h2><a name="license">Under what license is UMLGraph distributed?</a></h2>
|
||||
UMLGraph is distributed under the
|
||||
<a href="http://www.opensource.org/licenses/bsd-license.html">BSD license</a>
|
||||
(see the file LICENSE in the distribution).
|
||||
For uniformity with the rest of the web content appearing on this site,
|
||||
the web site of UMLGraph appears under a
|
||||
<a href="http://creativecommons.org/licenses/by-nc-nd/2.5/">Creative Commons Attribution-NonCommercial-NoDerivs 2.5</a>
|
||||
license.
|
||||
This affects only the UMLGraph home page; all other material
|
||||
(for example the documentation) is also part of the UMLGraph distribution,
|
||||
and can therefore be used under the BSD license.
|
||||
|
||||
<h2><a name="classnotfound">Why do I get an exception java.lang.NoClassDefFoundError: com/sun/tools/javadoc/Main?</a></h2>
|
||||
This exception will occur when you execute UMLGraph directly as a jar
|
||||
(not through<em>javadoc</em>), and the files UmlGraph.jar and tools.jar
|
||||
are not in the same directory.
|
||||
Either copy UmlGraph.jar in the directory where the tools.jar
|
||||
of the JDK distribution is located (and execute UmlGraph.jar from there),
|
||||
or copy tools.jar to the directory where UmlGraph.jar is located.
|
||||
(The file tools.jar is typically located in the lib directory
|
||||
of your JDK distribution.)
|
||||
|
||||
<h2><a name="truncxml">How can I prevent clipped SVG images in sequence diagrams?</a></h2>
|
||||
This appears to be a limitation of <em>pic2plot</em>.
|
||||
You can work around it, by increasing the width and height values appearing
|
||||
in the SVG XML file that <em>pic2plot</em> generates.
|
||||
<h2><a name="private">How can I instruct UMLGraph to include private fields in its output?</a></h2>
|
||||
You need to pass the <code>-private</code> flag to <em>javadoc</em>.
|
||||
Note that
|
||||
when processing code that includes annotations
|
||||
defined by libraries outside the core J2SE distribution,
|
||||
it is a good idea to include the library jars to the classpath.
|
||||
Otherwise, <em>javadoc</em> (and concequently UMLGraph)
|
||||
will fail to process the input classes correctly.
|
||||
This is <a href="http://forums.oracle.com/forums/thread.jspa?threadID=1521148">a known issue</a> with <em>javadoc</em>,
|
||||
but only manifests in certain occasions when running UMLGraph,
|
||||
for example when processing private class fields.
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
* Generalisation
|
||||
* UML User Guide p. 141
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/* Basic categorisations */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following sequence diagram demonstrates the use of the frame and comment elements.
|
||||
<h2>Diagram</h2>
|
||||
|
|
|
|||
|
|
@ -1,23 +1,28 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<index>
|
||||
<ch><ti>Introduction</ti><fi>intro</fi></ch>
|
||||
<ch><ti>Installation</ti><fi>install</fi></ch>
|
||||
<ch><ti>Class Diagrams</ti><fi>cd-intro</fi></ch>
|
||||
<ch><ti>Class Diagram Operations</ti><fi>cd-oper</fi></ch>
|
||||
<ch><ti>Class Modelling</ti><fi>cd-model</fi></ch>
|
||||
<ch><ti>Notes in Class Diagrams</ti><fi>cd-note</fi></ch>
|
||||
<ch><ti>Class Diagram Options</ti><fi>cd-opt</fi></ch>
|
||||
<ch><ti>Specifying class Diagram Options</ti><fi>cd-opt-spec</fi></ch>
|
||||
<ch><ti>Javadocs and UML class diagrams with UMLGraphDoc</ti><fi>cd-umldoc</fi></ch>
|
||||
<ch><ti>Class Diagram Views</ti><fi>views</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Shapes</ti><fi>ceg-shape</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Generalisation Relationships</ti><fi>ceg-gen</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Advanced Relationships</ti><fi>ceg-adv</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Relationships Inference</ti><fi>ceg-infer</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Schema</ti><fi>ceg-schema</fi></ch>
|
||||
<ch><ti>Class Diagram Example: ER</ti><fi>ceg-er</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Element Visibility</ti><fi>ceg-ev</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Association Types</ti><fi>ceg-at</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Real Example (Catalina Classes)</ti><fi>ceg-cat</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Class Stereotypes and Tagged Values</ti><fi>ceg-ster</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Colors, Global and Local Options</ti><fi>ceg-color</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Fonts, Colors, Global and Local Options</ti><fi>ceg-color</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Multiple Views Through Command-Line Options</ti><fi>ceg-mv</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Inner support for views</ti><fi>ceg-view-spec</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Built-in Support for Views</ti><fi>ceg-view-spec</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Views With Different Specification Details</ti><fi>ceg-view-details</fi></ch>
|
||||
<ch><ti>Class Diagram Example: Views for Different Packages</ti><fi>ceg-view-packages</fi></ch>
|
||||
<ch><ti>Running the Doclet from Ant</ti><fi>ant</fi></ch>
|
||||
|
|
@ -37,6 +42,7 @@
|
|||
<ch><ti>Sequence Diagram Example: A Comments and Frames</ti><fi>gui-db</fi></ch>
|
||||
<ch><ti>Frequently Asked Questions</ti><fi>faq</fi></ch>
|
||||
<ch><ti>Bibliography</ti><fi>bib</fi></ch>
|
||||
<ch><ti>Projects Based on UMLGraph</ti><fi>deriv</fi></ch>
|
||||
<ch><ti>Version History</ti><fi>ver</fi></ch>
|
||||
<ch><ti>Acknowledgements</ti><fi>ack</fi></ch>
|
||||
</index>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
/*
|
||||
* Relationship inference
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -12,6 +11,7 @@ import java.util.Arrays;
|
|||
* @opt inferrel
|
||||
* @opt collpackages java.util.*
|
||||
* @opt inferdep
|
||||
* @opt inferdepinpackage
|
||||
* @opt hide java.*
|
||||
* @hidden
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="ISO-8859-7" ?>
|
||||
<notes>
|
||||
To install UmlGraph follow these steps.
|
||||
<ol>
|
||||
<li> Copy the files in <code>lib</code> to a directory you will
|
||||
use for storing UmlGraph's installation
|
||||
(for instance, <code>/usr/local/lib</code>).
|
||||
</li>
|
||||
<li> Copy the file <code>bin/umlgraph</code> (for Unix) or
|
||||
<code>bin/umlgraph.bat</code> (for Windows) to a directory
|
||||
of your execution path (for instance, <code>/usr/local/bin</code>).</li>
|
||||
<li> Adjust the above file, setting <code>UMLGRAPH_HOME</code> to
|
||||
point to the directory where you installed the UmlGraph library files.
|
||||
</li>
|
||||
</ol>
|
||||
<p>
|
||||
UMLGraph is implemented as a <em>javadoc</em> doclet (a program satisfying the
|
||||
doclet API that specifies the content and format of the output
|
||||
generated by the <em>javadoc</em> tool).
|
||||
Furthermore, the output of UmlGraph needs to be post-processed
|
||||
with the <em>Graphviz</em> <em>dot</em> program.
|
||||
Therefore, to draw class diagrams with UmlGraph class you will need to have
|
||||
<a href="http://java.sun.com/j2se/javadoc/"><em>javadoc</em></a>
|
||||
and
|
||||
<a href="http://www.graphviz.org/">Graphviz</a>
|
||||
installed on your computer.
|
||||
Both programs are freely available, from Sun and AT&T respectively,
|
||||
for many platforms including Unix and Windows.
|
||||
<em>Javadoc</em> is part of the Sun JDK, so a typical JDK installation will also
|
||||
include <em>javadoc</em>.
|
||||
</p>
|
||||
<p>
|
||||
To draw UML sequence diagrams you must also install the free
|
||||
<a href="http://www.gnu.org/software/plotutils/plotutils.html">GNU plotutils</a>
|
||||
system.
|
||||
</p>
|
||||
</notes>
|
||||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
UMLGraph allows the declarative specification and drawing of
|
||||
UML class and sequence diagrams.
|
||||
|
|
@ -34,8 +33,9 @@ Creating models in a declarative, textual notation offers a number of advantages
|
|||
It is more difficult for designers to get away, as they often do now, with drawing for a model a nice picture of the implementation they have in mind.</li>
|
||||
<li> The declarative representation is also highly malleable, the existing visual structure does not hinder drastic changes, nor is effort wasted on the tidy arrangement of graph nodes a psychological barrier against massive design refactoring.</li>
|
||||
<li> Declarative models are also highly automatable: they can be easily generated from even higher-level descriptions by trivial scripts and tools operating on design process inputs such as database schemas, existing code, or structured requirements documents.</li>
|
||||
<li> Text macro processors can be used for configuration management, while revision control and team integration activities can utilize the same proven tools and processes that are currently used for managing source code.
|
||||
Thus with a tool like CVS or RCS one can keep track of design revisions, create and merge branches, and monitor model changes, while a system like CVS can allow work to be split into teams.</li>
|
||||
<li> With a declarative specification under the programmer's control a macro processors can be used for configuration management, allowing the same model to be used for generating diverse diagrams.</li>
|
||||
<li> Revision control and team integration activities can utilize the same proven tools and processes that are currently used for managing source code.
|
||||
Thus with a tool like Subversion or Git one can keep track of design revisions, create and merge branches, monitor model changes, and split work among a team.</li>
|
||||
<li> Finally, the declarative approach can readily utilize existing text processing tools for tasks that a drawing editor system may not provide.</li>
|
||||
</ul>
|
||||
Consider how your favorite model editor handles the following tasks and how you could handle them using a simple Perl script or a text-processing pipeline applied to the declarative model specification:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,33 @@
|
|||
/**
|
||||
* @opt nodefontname "Helvetica"
|
||||
* @opt edgefontname "Helvetica"
|
||||
* @hidden
|
||||
*/
|
||||
class UMLOptions{}
|
||||
|
||||
/**
|
||||
* @opt shape node
|
||||
* @note Located in the
|
||||
* machine room
|
||||
* @note Sun Blade 6048
|
||||
* @depend - - - MapLocation
|
||||
* @depend - - - DataMine
|
||||
*/
|
||||
class Server{}
|
||||
|
||||
/** @opt shape component */
|
||||
class MapLocation {}
|
||||
|
||||
/** @opt shape component */
|
||||
class DataMine {}
|
||||
|
||||
/**
|
||||
* CPU-munching
|
||||
* components that must
|
||||
* run on this server
|
||||
* @opt shape note
|
||||
* @opt commentname
|
||||
* @assoc - - - MapLocation
|
||||
* @assoc - - - DataMine
|
||||
*/
|
||||
class munchComment {}
|
||||
|
|
@ -1,7 +1,6 @@
|
|||
/*
|
||||
* Schema model
|
||||
* UML User Guide p. 112
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
.PS
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
Objects do not always appear at the top of a UML sequence diagram;
|
||||
they are often constructed by other objects.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
# UML User Guide: Appendix A,p. 436
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
.PS
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
Let us try to improve the simple sequence diagram.
|
||||
<fmtcode ext="pic">
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
One specifies a sequence diagram using <em>pic</em> macros to define
|
||||
objects and method invocations.
|
||||
|
|
@ -46,6 +45,6 @@ complete(O);
|
|||
The diagram is drawn from its source code specification using a command
|
||||
like:
|
||||
<fmtcode ext="sh">
|
||||
pictplot -Tgif FILENAME.pic >FILENAME.gif
|
||||
pic2plot -Tgif FILENAME.pic >FILENAME.gif
|
||||
</fmtcode>
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following calls can be used to define a sequence diagram.
|
||||
<dl>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
#
|
||||
# $Id$
|
||||
#
|
||||
.PS
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
A sequence diagram is defined in three main phases:
|
||||
<ol>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
Sequence diagrams consist of objects, their lifelines
|
||||
(also known as smimming lanes),
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The value of
|
||||
<em>pic</em> variables can sometimes be modified by assignment
|
||||
|
|
@ -24,5 +23,6 @@ a drawing.
|
|||
<tr><td>dashwid</td><td>0.05</td><td>Interval for dashed lines</td></tr>
|
||||
<tr><td>maxpswid</td><td>11</td><td>Maximum width of picture</td></tr>
|
||||
<tr><td>maxpsht</td><td>11</td><td>Maximum height of picture</td></tr>
|
||||
<tr><td>underline</td><td>1</td><td>Underline the name of objects</td></tr>
|
||||
</table>
|
||||
</notes>
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
|
||||
|
|
@ -34,13 +33,14 @@ define comment_default_move {up 0.25 right 0.25};
|
|||
comment_default_ht=0.5;
|
||||
# Comment width
|
||||
comment_default_wid=1;
|
||||
|
||||
# Underline object name
|
||||
underline=1;
|
||||
|
||||
# Create a new object(name,label)
|
||||
define object {
|
||||
$1: box $2; move;
|
||||
# Could also underline text with \mk\ul\ul\ul...\rt
|
||||
{
|
||||
if (underline) then {
|
||||
line from $1.w + (.1, -.07) to $1.e + (-.1, -.07);
|
||||
}
|
||||
move to $1.e;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,67 @@
|
|||
/**
|
||||
* @hidden
|
||||
* @opt nodefontcolor "blue"
|
||||
*/
|
||||
class UMLNoteOptions{}
|
||||
|
||||
/**
|
||||
* Structural Things
|
||||
* @opt commentname
|
||||
* @note Notes can
|
||||
* be extended to
|
||||
* span multiple lines
|
||||
*/
|
||||
class Structural{}
|
||||
|
||||
/**
|
||||
* spelling.java
|
||||
* @opt shape component
|
||||
* @opt commentname
|
||||
* @note Component
|
||||
*/
|
||||
class Component extends Structural{}
|
||||
|
||||
/** @opt shape node */
|
||||
class Node extends Structural{}
|
||||
|
||||
/**
|
||||
* Chain of
|
||||
* responsibility
|
||||
* @opt shape collaboration
|
||||
* @opt commentname
|
||||
* @note Collaboration
|
||||
*/
|
||||
class Collaboration extends Structural{}
|
||||
|
||||
/**
|
||||
* Place order
|
||||
* @opt shape usecase
|
||||
* @opt commentname
|
||||
* @note Use Case
|
||||
*/
|
||||
class UseCase extends Structural{}
|
||||
|
||||
/**
|
||||
* Business rules
|
||||
* @opt shape package
|
||||
* @opt commentname
|
||||
* @note Package
|
||||
*/
|
||||
class Package{}
|
||||
|
||||
/**
|
||||
* @opt all
|
||||
* @note Class
|
||||
*/
|
||||
class Counter extends Structural {
|
||||
static public int counter;
|
||||
public int getCounter();
|
||||
}
|
||||
|
||||
/**
|
||||
* @opt shape activeclass
|
||||
* @opt all
|
||||
* @note Active Class
|
||||
*/
|
||||
class RunningCounter extends Counter{}
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
|
|
@ -1,6 +1,5 @@
|
|||
# UML User Guide: Figure 18-2
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following diagram, based on the one appearing on p. 247 of the
|
||||
UML User Guide, illustrates the dynamic creation and destruction of
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
# UML User Guide: Figure 18-4
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following diagram, based on Figure 18-4 appearing on p. 252 of the
|
||||
UML User Guide, illustrates constraints on an object's lifeline,
|
||||
|
|
@ -31,7 +30,7 @@ async(); message(S,W,"liftReceiver"); sync();
|
|||
active(S);
|
||||
message(W,S,"setDialTone()");
|
||||
async(); message(S,W,"*dialDigit(d)"); sync();
|
||||
lconstraint(W,"{dialing.executionTime < 30s}");
|
||||
lconstraint(W,"{dialing.executionTime < 30s}");
|
||||
active(W);
|
||||
message(W,W,"routeCalls(s,n)");
|
||||
inactive(W);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
# UML User Guide Figure 7-1.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
.PS
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following diagram, based on Figure 7-1 appearing on p. 102 of the
|
||||
UML User Guide, illustrates an interaction diagram with an
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
# UML User Guide: Appendix A,p. 436
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
.PS
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
The following diagram, based on the one appearing on p. 436 of the
|
||||
UML User Guide, contains the most important elements
|
||||
|
|
|
|||
270
doc/ver.xml
270
doc/ver.xml
|
|
@ -1,14 +1,231 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
<dl>
|
||||
|
||||
<dt>Version 4.2 Under development</dt><dd>
|
||||
<dt>Version 5.7 Under development </dt><dd>
|
||||
<ul>
|
||||
<li>The <code>@opt include</code> option can be used to include classes from
|
||||
foreign packages in the package view (unless hidden with <code>@opt hide</code>).</li>
|
||||
<li>You can now also use <code>@opt</code> in <code>package-info.java</code>.</li>
|
||||
<li>Added <code>-qualifyGenerics</code> option to separately control the inclusion of
|
||||
package names for the class (<code>-qualify</code>) and its generics. In particular
|
||||
this works well with <code>-qualify -postfixpackage</code> (and <code>-!qualifyGenerics</code>).<br />
|
||||
To get the old <code>-qualify</code> behavior, you need to add <code>-qualifyGenerics</code>,
|
||||
the default is off, and it will not inherit from <code>-qualify</code>.</li>
|
||||
<li>Better handling of complex names with generics and inner classes such as <code>pkg.Outer<T>.Inner</code>.</li>
|
||||
<li>Use <i> tags for italic, because the old font naming approach does not work with SVG anymore.
|
||||
Replace <code>-nodefontabstractname</code> and <code>-nodefontclassabstractname</code>
|
||||
with a simple flag <code>-nodefontabstractitalic</code> instead.</li>
|
||||
<li>Added <code>-hideprivateinner</code> to hide all private inner classes.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 5.6 2012-05-31 </dt><dd>
|
||||
<ul>
|
||||
<li>Maven artifact deployment</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 5.5 2012-05-13 </dt><dd>
|
||||
<ul>
|
||||
<li>Added ability to make aggregate relationships (<code>@has</code> and
|
||||
<code>@composed</code>) navigable through the new <code>@navhas</code>
|
||||
and <code>@navcomposed</code> relationships.
|
||||
(Contributed by Alan Jeffrey.)</li>
|
||||
<li>Make UMLGraphDoc generation compatible with JDK 7
|
||||
(Contributed by Stefano Martina.)</li>
|
||||
<li>Moved project's source code repository hosting to
|
||||
<a href="https://github.com/dspinellis/UMLGraph">GitHub</a>.</li>
|
||||
<li>Various documentation improvements.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 5.4 2011-01-08</dt><dd>
|
||||
<ul>
|
||||
<li>Make the generation of diamond shapes compatible with GraphViz 2.27.
|
||||
(Contributed by Soraya Santana de la Fe.)</li>
|
||||
<li>Make the diagram elements appearing in HTML content clickable.
|
||||
(Contributed by Bernd Onasch.)</li>
|
||||
<li>Fix to ensure that class images only appear once.
|
||||
(Contributed by Zhigang Xie.)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 5.3 2010-05-24</dt><dd>
|
||||
<ul>
|
||||
<li>Sequence diagrams provide an option to specify whether objects are
|
||||
underlined or not.</li>
|
||||
<li>Documentation generated with UMLGraph will process correctly
|
||||
non-ASCII characters.
|
||||
(Fix contributed by Gunho Kim.)</li>
|
||||
<li>New <code>-dotexecutable</code> option allows the explicit specification of
|
||||
<em>dot</em>'s location.
|
||||
(Contributed by Laird Nelson.)</li>
|
||||
<li><em>UmlGraphDoc</em> will obey the options specified through
|
||||
<code>@opt</code> tags within Java files.
|
||||
(Contributed by Laird Nelson.)</li>
|
||||
<li>Use a logical font rather than a font file name for italics.
|
||||
This fixes a problem with unresolved fonts under Windows and
|
||||
modern versions of Graphviz.
|
||||
(Suggested by Przemyslaw Szufel.)</li>
|
||||
<li>Support for <em>javadoc</em>'s <code>-linkoffline</code> option.
|
||||
(Contributed by Nikita Kozlov.)</li>
|
||||
<li>Do not show relations of hidden fields.
|
||||
(Fix contributed by Cimballi.)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 5.2 2008-12-03</dt><dd>
|
||||
<ul>
|
||||
<li> Corrected case of the tools.jar filename in the umlgraph shell script.
|
||||
(Reported by Øyvind Jergan).
|
||||
</li>
|
||||
<li> Fixed exception when an unknown class dependency is specified.
|
||||
(Reported by Jan Schlüter).
|
||||
</li>
|
||||
<li> Corrected NullPointerException occurring when no global options were
|
||||
available.
|
||||
(Fix supplied by Bernd Blacha.)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 5.1 2008-08-27 </dt><dd>
|
||||
<ul>
|
||||
<li> Active classes now appear with a double vertical border, following UML2.</li>
|
||||
<li>Reorganized the documentation of class diagram options.</li>
|
||||
<li> New class diagram options <code>-nodesep</code> and <code>-ranksep</code>,
|
||||
which allow fine control of the generated diagram layout.
|
||||
(Patch submitted by Trustin Lee.)
|
||||
</li>
|
||||
<li> A class's title will appear as a tooltip in image files that support this
|
||||
feature.
|
||||
(Patch submitted by Anthony Callegaro.)
|
||||
</li>
|
||||
<li>
|
||||
Nested class hyperlinks to Javadoc documentation now work correctly.
|
||||
(Patch submitted by David P. Caldwell.)
|
||||
</li>
|
||||
<li>
|
||||
The guillemot characters are now output with their Unicode HTML numeric
|
||||
escapes instead of their HTML symbolic values.
|
||||
This makes the output work correctly on Mac OS X, and is also easier
|
||||
to validate with XML tools.
|
||||
(Patch submitted by Joshua Lim.)
|
||||
</li>
|
||||
<li>
|
||||
UmlGraphDoc now supports Javascript-collapsible UML diagrams.
|
||||
A new option <code>-collapsible</code> can be used to enable this
|
||||
feature.
|
||||
(Patch submitted by Franz Wilhelmstoetter.)
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 5.0 2007-11-29 </dt><dd>
|
||||
<ul>
|
||||
<li> All code now lives under <code>org.umlgraph</code>.
|
||||
This change requires corresponding modifications to the UMLGraph
|
||||
callers.</li>
|
||||
<li> Add support for six new shapes: node, component, package, collaboration,
|
||||
usecase, and activeclass.
|
||||
These shapes require GraphViz 2.16 or newer.
|
||||
</li>
|
||||
<li> A new <code>@note</code> tag allows the annotation of elements with comments.
|
||||
(Suggested by Sébastien Pierre.)
|
||||
</li>
|
||||
<li> A new <code>@commentname</code> option allows the naming of elements
|
||||
with the text of the <em>javadoc</em> comment.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.9 2007-09-28 </dt><dd>
|
||||
<ul>
|
||||
<li> <b>Note that from this version UMLGraph requires JDK 6.</b></li>
|
||||
<li> Added installation instructions. </li>
|
||||
<li> Improved documentation for invoking UmlGraph. </li>
|
||||
<li> Command-line scripts for invoking UmlGraph from Windows and Unix. </li>
|
||||
<li> Test data is now compatible with the output of the JDK 6 javadoc</li>
|
||||
<li> Java 6.0 deprecated methods are marked in the code as such.</li>
|
||||
<li> The -noguillemot option now outputs escaped characters compatible
|
||||
with version 1.13 of Graphviz.
|
||||
(reported by Roger Alexander).</li>
|
||||
<li> Fix inferred relations of maps to primitive Java types.
|
||||
(reported by Przemyslaw Wesolek).</li>
|
||||
</ul></dd>
|
||||
|
||||
<dt>Version 4.8 2007-05-10 </dt><dd>
|
||||
<ul>
|
||||
<li> This is the last version compatible with Java 1.5.</li>
|
||||
<li> UmlGraph can now be invoked directly as a jar file. </li>
|
||||
<li> Support for sending results to the standard output for piping into <em>dot</em>. </li>
|
||||
<li> The distribution includes an example shell script and batch file for
|
||||
invoking UmlGraph. </li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.7 2007-03-26 </dt><dd>
|
||||
<ul>
|
||||
<li> Correct the build file for generating the UmlGraph
|
||||
javadocs under Unix (Dirk Datzert)</li>
|
||||
<li> Correct output of UmlGraphDoc path-relative file names under Windows
|
||||
(fix by: Panagiotis Astithas)</li>
|
||||
<li> Fix InvocationTargetException when a relative output file name is
|
||||
given (reported by: Georgios Gousios)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.6 2007-02-05</dt><dd>
|
||||
<ul>
|
||||
<li>Portability fix so that UmlGraphDoc can now run again under Unix (bug introduced in version 4.5).</li>
|
||||
<li>Note: Image maps and the UmlGraphDoc tests will not work correctly with dot 2.12; see <a href="http://www.graphviz.org/bugs/b1069.html">this GraphViz problem report</a>.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.5 2006-12-14</dt><dd>
|
||||
<ul>
|
||||
<li>Correct running of the UmlGraphDoc tests</li>
|
||||
<li>Correct the JavaDoc generation (Maxim Butov)</li>
|
||||
<li>Correct appearance of generic names (Ivan F. Villanueva B.)</li>
|
||||
<li>UmlGraphDoc now handles filenames with embedded spaces (reported and tested
|
||||
by Jörn Guy Süß and Christophe DENEUX)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.4 2006-07-19 </dt><dd>
|
||||
<ul>
|
||||
<li>Major new functionality: UmlGraphDoc, a new doclet that can generate context and package
|
||||
class diagrams integrated with the standard javadoc output. Uses the same switches
|
||||
as UmlGraph. (Andrea Aime)</li>
|
||||
<li>Removed -verbose2 option, use the standard -quiet option instead to avoid UmlGraphDoc and
|
||||
UmlGraph printing notices. (Andrea Aime)</li>
|
||||
<li>Added a -inferdepvis option that allows to control which member of a class will be used
|
||||
for dependency inference. Acceptable values are private, package, protected and public.
|
||||
Makes sense when inferring dependencies without using -useimports.</li>
|
||||
<li>Added a -inferdepinpackage option that enables dependency inference among classes in the
|
||||
same package. This is disabled by default, since there is no reliable way to infer
|
||||
dependencies, and classes in the same package are supposed to be related anyway.</li>
|
||||
<li>Support the -link flag in the same way as the standard doclet, in order to populate
|
||||
the api doc map, used to generate image maps with links to associated external classes.
|
||||
</li>
|
||||
<li> Filter-out the static initializer method from classes (Andreas Studer)</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.3 2006-03-05 </dt><dd>
|
||||
<ul>
|
||||
<li> Now using HTML labels in dot files. This allows for a different font
|
||||
in each row of the class nodes. Added options
|
||||
to control fonts for class names, packages and tags. (Andrea Aime)
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.2 (internal release) </dt><dd>
|
||||
<ul>
|
||||
<li> Correct the handling of qualified class names following
|
||||
the extends keyword (Arnaud Rogues).</li>
|
||||
<li> Relationship inference support. When enabled UMLGraph will try to
|
||||
compute relationships and dependecies by field/method/import
|
||||
compute relationships and dependecies by field/method/import
|
||||
statements examination. (Andrea Aime)
|
||||
</li>
|
||||
<li> Standard class lookup for association targets. The target can be
|
||||
|
|
@ -16,12 +233,12 @@ the extends keyword (Arnaud Rogues).</li>
|
|||
information, imports and standard visibility rules will be applied
|
||||
to determine the actual class (Andrea Aime)
|
||||
</li>
|
||||
<li> A <em>views</em> feature provides the ability to specify
|
||||
<li> A <em>views</em> feature provides the ability to specify
|
||||
option overrides for classes satisfying specific conditions
|
||||
and to generate multiple diagrams in a single doclet invocation.
|
||||
See the new tags @view, @match and the command line
|
||||
parameters -d, -view, -views (Andrea Aime)</li>
|
||||
<li> Options can be reset to their default value using the "@opt !option"
|
||||
<li> Options can be reset to their default value using the "@opt !option"
|
||||
syntax (useful for local overrides and in views) (Andrea Aime)</li>
|
||||
<li> Javadoc documentation (Andrea Aime).</li>
|
||||
<li> Centralized option handling in the Option class (even for command line
|
||||
|
|
@ -29,7 +246,7 @@ parameters -d, -view, -views (Andrea Aime)</li>
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 4.1 2005/11/15</dt><dd>
|
||||
<dt>Version 4.1 2005-11-15</dt><dd>
|
||||
<ul>
|
||||
<li> Major source code reorganization to move closer to the Java coding
|
||||
conventions.
|
||||
|
|
@ -49,7 +266,7 @@ Now classes are hidden even when involved in a relationship with a visible clas
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 3.3 2005/10/19</dt><dd>
|
||||
<dt>Version 3.3 2005-10-19</dt><dd>
|
||||
<ul>
|
||||
<li> The sequence diagrams now include support for drawing
|
||||
comments and frames. (Contributed by Sebastian Setzer)</li>
|
||||
|
|
@ -58,7 +275,7 @@ instead of round brackets around stereotypes.</li>
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 3.2 2005/07/19</dt><dd>
|
||||
<dt>Version 3.2 2005-07-19</dt><dd>
|
||||
<ul>
|
||||
<li> Display the template arguments of generic classes inside angle brackets.
|
||||
Note that according to the UML specification these arguments should
|
||||
|
|
@ -68,7 +285,7 @@ However, such a display is currently not possible in GraphViz.</li>
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 3.1 2005/03/26</dt><dd>
|
||||
<dt>Version 3.1 2005-03-26</dt><dd>
|
||||
<ul>
|
||||
<li> <b>Note that from this version UMLGraph requires Java 1.5.</b></li>
|
||||
<li> First step of the Java 1.5 transition; more will follow.</li>
|
||||
|
|
@ -79,7 +296,7 @@ control the corresponding operation.</li>
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.10 2004/11/19</dt><dd>
|
||||
<dt>Version 2.10 2004-11-19</dt><dd>
|
||||
<ul>
|
||||
<li> This is the last version compatible with Java 1.4.</li>
|
||||
<li> Corrected the interaction between the
|
||||
|
|
@ -91,14 +308,14 @@ Many thanks to Jonathan Wright for this contribution. </li>
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.9 2004/10/07</dt><dd>
|
||||
<dt>Version 2.9 2004-10-07</dt><dd>
|
||||
<ul>
|
||||
<li> Class diagrams can now include constructors, through the new
|
||||
<code>-constructors</code> option.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.8 2004/08/09</dt><dd>
|
||||
<dt>Version 2.8 2004-08-09</dt><dd>
|
||||
<ul>
|
||||
<li> Fixes to support the Maven plugin.</li>
|
||||
<li> From this version onward, use the appropriate options to create
|
||||
|
|
@ -106,7 +323,7 @@ documentation links; no hyperlinks are created by default.</li>
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.7 2004/08/06</dt><dd>
|
||||
<dt>Version 2.7 2004-08-06</dt><dd>
|
||||
<ul>
|
||||
<li> The -noguillemot option will output round brackets around stereotypes,
|
||||
instead of angle brackets.
|
||||
|
|
@ -115,7 +332,7 @@ The angle brackets appear to be breaking some programs.
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.6 2004/08/03</dt><dd>
|
||||
<dt>Version 2.6 2004-08-03</dt><dd>
|
||||
<ul>
|
||||
<li> <b>Note that from this version UMLGraph requires Java 1.4.</b></li>
|
||||
<li> Documentation example: multiple views from the same source.
|
||||
|
|
@ -142,20 +359,20 @@ Implementation contributed by Nascif Abousalh-Neto
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.5 2004/06/15</dt><dd>
|
||||
<dt>Version 2.5 2004-06-15</dt><dd>
|
||||
The object swimlanes in a sequence diagram
|
||||
can now show nested object invocations.
|
||||
This very useful and non-trivial change was contributed by Jonathan R. Santos.
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.4 2004/05/29</dt><dd>
|
||||
<dt>Version 2.4 2004-05-29</dt><dd>
|
||||
Will now generate local URL hyperlinks for packages specified in
|
||||
the command line; and links to the Sun documentation for all
|
||||
other packages.
|
||||
Many thanks to Nascif Abousalh-Neto for contributing this change.
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.3 2004/05/27</dt><dd>
|
||||
<dt>Version 2.3 2004-05-27</dt><dd>
|
||||
<ul>
|
||||
<li>
|
||||
Remove hardcoded default node and edge fonts.
|
||||
|
|
@ -169,7 +386,7 @@ Thanks to Alessandro Riva for submitting the corresponding patch.
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.2 2004/05/25</dt><dd>
|
||||
<dt>Version 2.2 2004-05-25</dt><dd>
|
||||
SVG class diagrams containing guillemot characters
|
||||
for stereotypes
|
||||
can now be made valid through a new -outputencoding option.
|
||||
|
|
@ -178,14 +395,14 @@ Many thanks to Nascif Abousalh-Neto for bringing this problem to
|
|||
my attention.
|
||||
</dd>
|
||||
|
||||
<dt>Version 2.1 2004/05/16</dt><dd>
|
||||
<dt>Version 2.1 2004-05-16</dt><dd>
|
||||
The guillemot characters used for the create and destroy stereotypes
|
||||
are now portable between <em>groff</em> and <em>pic2plot</em>.
|
||||
Many thanks to Scott Johnson (Duluth, MN) for recommending the change.
|
||||
</dd>
|
||||
|
||||
|
||||
<dt>Version 2.0 2004/05/09</dt><dd>
|
||||
<dt>Version 2.0 2004-05-09</dt><dd>
|
||||
<ul>
|
||||
<li> Support for drawing sequence diagrams.</li>
|
||||
<li> New distribution format.</li>
|
||||
|
|
@ -200,7 +417,7 @@ in the README file.
|
|||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt>Version 1.24 2003/07/30</dt><dd>
|
||||
<dt>Version 1.24 2003-07-30</dt><dd>
|
||||
Changes by Art Hampton (thanks):
|
||||
<ul>
|
||||
<li> Create the appropriate label for relationship tags when referring to
|
||||
|
|
@ -215,19 +432,19 @@ becomes more widespread.
|
|||
</ul>
|
||||
|
||||
</dd>
|
||||
<dt>Version 1.23 2003/05/7</dt><dd>
|
||||
<dt>Version 1.23 2003-05-7</dt><dd>
|
||||
Added <code>-output</code> command-line option, and an <em>ant</em>-based
|
||||
build file.
|
||||
Modified the dot output to avoid triggering a graphviz bug that made escape codes visible.
|
||||
|
||||
</dd>
|
||||
<dt>Version 1.20 2003/04/25</dt><dd>
|
||||
<dt>Version 1.20 2003-04-25</dt><dd>
|
||||
Fixes by Nick Efthymiou (thanks):
|
||||
will generate SVG hyperlinks to Javadoc documentation,
|
||||
better handling of abstract class fonts,
|
||||
and correct listing of interfaces.
|
||||
</dd>
|
||||
<dt>Version 1.19 2002/09/20</dt><dd>
|
||||
<dt>Version 1.19 2002-09-20</dt><dd>
|
||||
New options:
|
||||
nodefontname,
|
||||
nodefontabstractname,
|
||||
|
|
@ -240,7 +457,7 @@ edgecolor,
|
|||
bgcolor.
|
||||
|
||||
</dd>
|
||||
<dt>Version 1.18 2002/08/26</dt><dd>
|
||||
<dt>Version 1.18 2002-08-26</dt><dd>
|
||||
<ul>
|
||||
<li> Can now specify class-local options.
|
||||
</li>
|
||||
|
|
@ -253,8 +470,7 @@ bgcolor.
|
|||
</ul>
|
||||
|
||||
</dd>
|
||||
<dt>Version 1.15 2002/07/26</dt><dd>First public release.
|
||||
<dt>Version 1.15 2002-07-26</dt><dd>First public release.
|
||||
</dd>
|
||||
</dl>
|
||||
</notes>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
<?xml version="1.0" ?>
|
||||
<!-- $Id$ -->
|
||||
<notes>
|
||||
Documenting a big project often requires multiple diagrams:
|
||||
each to show a specific and limited portion of the system.
|
||||
|
|
@ -42,7 +41,6 @@ class documentation for details on a proper regular expression specification.
|
|||
unless the "output" option is specified to override it.
|
||||
|
||||
<h2>View inheritance</h2>
|
||||
|
||||
View classes can inherit from other view classes, allowing views to
|
||||
share a set of common matches. The standard java inheritance mechanism
|
||||
is used to specify inheritance.<br/>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
// $Id$
|
||||
|
||||
/**
|
||||
* Attribute and operation visility
|
||||
|
|
|
|||
175
index.html
175
index.html
|
|
@ -1,175 +0,0 @@
|
|||
<?xml version="1.0" encoding="us-ascii"?>
|
||||
<!DOCTYPE html
|
||||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<!-- No not edit this page in the web directory. -->
|
||||
<!-- $Id$ -->
|
||||
<head>
|
||||
<title>UMLGraph - Declarative Drawing of UML Diagrams</title>
|
||||
<meta name="AUTHOR" content="Diomidis Spinellis" />
|
||||
</head>
|
||||
<body>
|
||||
<h1 align="right"><tt><font color="#ff0000">UMLGraph dds</font></tt></h1>
|
||||
<h2>UMLGraph - Declarative Drawing of UML Diagrams</h2>
|
||||
<!-- Introduction {{{1 -->
|
||||
UMLGraph allows the declarative specification and drawing of
|
||||
UML class and sequence diagrams.
|
||||
The current features
|
||||
are part of an ongoing effort aiming to provide support for
|
||||
all types UML diagrams.
|
||||
An <em>IEEE Software</em> article titled
|
||||
<a href="../../pubs/jrnl/2003-IEEESW-umlgraph/html/article.html">On the declarative specification of models</a>
|
||||
explains the rationale behind this approach.
|
||||
The tehnology behind UMLGraph was used to draw many of the diagrams
|
||||
appearing in the book
|
||||
<a href="http://www.spinellis.gr/codereading">Code Reading: The Open Source Perspective</a> (Addison Wesley, 2003).
|
||||
In addition,
|
||||
<a href="http://lightuml.sourceforge.net/">LightUML</a>
|
||||
integrates UMLGraph into <a href="http://www.eclipse.org">Eclipse</a>,
|
||||
<a href="http://maven-plugins.sourceforge.net/maven-dotuml-plugin/">Dotuml</a>
|
||||
integrates UMLGraph into <a href="http://maven.apache.org/">Maven</a>,
|
||||
and the <a href="http://sourceforge.net/projects/xholon/">Xholon</a>
|
||||
framework uses UMLGraph to generate its runtime sequence diagrams.
|
||||
Furthermore,
|
||||
the Politecnico Di Torino SoftEng group has extended UMLGraph into
|
||||
the <a href="http://softeng.polito.it/projects/XUG/">XUG</a>
|
||||
reverse engineering tool, and
|
||||
Adam Feuer's
|
||||
<a href="http://www.python.org/pypi/PyUMLGraph">PyUMLGraph</a>
|
||||
system applies the concept to Python programs,
|
||||
|
||||
Finally,
|
||||
<a href="http://martinfowler.com">Martin Fowler</a> writes:
|
||||
<blockquote>
|
||||
I thought I'd send you a note saying how much I enjoyed discovering UML Graph. I've long fancied a text based way of describing UML diagrams, but never felt sufficiently time-rich to develop anything.
|
||||
</blockquote>
|
||||
Martin has created a
|
||||
<a href="http://martinfowler.com/bliki/UmlSketchingTools.html">bliki entry</a>
|
||||
describing his ideas of what an ideal textual language might look like.
|
||||
|
||||
<h3>Class Diagrams</h3> <!-- {{{1 -->
|
||||
One specifies a class diagram using the Java syntax complemented by
|
||||
<a href="http://java.sun.com/j2se/javadoc/"><em>javadoc</em></a>
|
||||
tags.
|
||||
Running the UmlGraph doclet on the specification will generate
|
||||
a
|
||||
<a href="http://www.research.att.com/sw/tools/graphviz/">Graphviz</a>
|
||||
diagram specification that can be automatically processed to
|
||||
create Postscript, GIF, SVG, JPEG, fig, or Framemaker drawings.
|
||||
<p />
|
||||
The following is an example of a class diagram specification and the resulting UML
|
||||
diagram:
|
||||
<table>
|
||||
<tr><td>
|
||||
<pre>
|
||||
class Person {
|
||||
String Name;
|
||||
}
|
||||
|
||||
class Employee extends Person {}
|
||||
|
||||
class Client extends Person {}
|
||||
</pre>
|
||||
</td><td>
|
||||
<img src="doc/class-eg.gif" alt="Simple UML class diagram" />
|
||||
</td></tr></table>
|
||||
|
||||
<h3>Sequence Diagrams</h3> <!-- {{{1 -->
|
||||
One specifies a sequence diagram using <em>pic</em> macros to define
|
||||
objects and method invocations.
|
||||
The <a href="http://www.gnu.org/software/plotutils/plotutils.html">GNU plotutils</a>
|
||||
<em>pic2plot</em> program can then process the sequence diagram to create a
|
||||
PNG, PNM, (pseudo)GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, or TEK
|
||||
drawing.
|
||||
<p />
|
||||
The following is an example of a sequence diagram specification and the
|
||||
resulting UML diagram:
|
||||
<table>
|
||||
<tr><td>
|
||||
<pre>
|
||||
# Define the objects
|
||||
object(O,"o:Toolkit");
|
||||
placeholder_object(P);
|
||||
step();
|
||||
|
||||
# Activation and messages
|
||||
active(O);
|
||||
message(O,O,"callbackLoop()");
|
||||
create_message(O,P,"p:Peer");
|
||||
message(O,P,"handleExpose()");
|
||||
active(P);
|
||||
return_message(P,O,"");
|
||||
inactive(P);
|
||||
destroy_message(O,P);
|
||||
inactive(O);
|
||||
|
||||
# Complete the lifeline of O
|
||||
step();
|
||||
complete(O);
|
||||
</pre>
|
||||
</td><td>
|
||||
<img src="doc/seq-eg.gif" alt="Simple UML sequence diagram" />
|
||||
</td></tr></table>
|
||||
|
||||
<h3>Download and Links</h3> <!-- {{{1 -->
|
||||
UMLGraph is hereby made freely available as Open Source Software.
|
||||
The current version of UMLGraph is VERSION.
|
||||
You can download UMLGraph and its documentation from the following links:
|
||||
<ul>
|
||||
<li> <a href="UMLGraph-VERSION.tar.gz">UmlGraph package version VERSION - .tar.gz</a>
|
||||
(compressed tar file containing the source code, the compiled doclet,
|
||||
and the complete documentation in HTML format).
|
||||
</li>
|
||||
<li> <a href="UMLGraph-VERSION.zip">UmlGraph package version VERSION - .zip</a>
|
||||
(zip file containing the source code, the compiled doclet,
|
||||
and the complete documentation in HTML format).
|
||||
</li>
|
||||
<li> <a href="doc/index.html">User documentation</a>
|
||||
(table of contents - suitable for web browsing).
|
||||
</li>
|
||||
<li> <a href="doc/indexw.html">Printable user documentation</a>
|
||||
(the above as a single printable page).
|
||||
</li>
|
||||
<li> <a href="javadoc/index.html">Doclet technical documentation</a>
|
||||
(javadoc table of contents).
|
||||
</li>
|
||||
<li> <a href="doc/ver.html">Version history</a> </li>
|
||||
<li> <a href="http://freshmeat.net/projects/umlgraph/">freshmeat.net page</a> (use it to subscribe and post comments).</li>
|
||||
<li> <a href="UMLGraph-2.10.tar.gz">UmlGraph package version 2.10 - .tar.gz</a>
|
||||
(The last version compatible with Java 1.4; compressed tar file containing the source code, the compiled doclet,
|
||||
and the complete documentation in HTML format).
|
||||
</li>
|
||||
<li> <a href="UMLGraph-2.10.zip">UmlGraph package version 2.10 - .zip</a>
|
||||
(The last version compatible with Java 1.4; zip file containing the source code, the compiled doclet,
|
||||
and the complete documentation in HTML format).
|
||||
</li>
|
||||
<li> <a href="jars/UmlGraph-VERSION.jar">UmlGraph binary - UmlGraph-VERSION.jar</a>
|
||||
(jar file containing only the UmlGraph classes;
|
||||
please use this only for pulling UmlGraph into other projects).
|
||||
</li>
|
||||
<li> <a href="CHECKSUM.MD5">MD5 checksums</a> for each of the above .zip, .tar.gz, and jar archives.
|
||||
</li>
|
||||
<li> <a href="doc/faq.html">Frequently asked questions</a> </li>
|
||||
</ul>
|
||||
|
||||
<!-- End matter {{{1 -->
|
||||
<p />
|
||||
<a href="../../">Diomidis Spinellis home page</a>
|
||||
<hr />
|
||||
<table>
|
||||
<tr><td>
|
||||
<a href="http://validator.w3.org/check/referer"><img src="../../valid-xhtml10.png" border="0" alt="Valid XHTML 1.0!" height="31" width="88" /></a>
|
||||
<a href="http://www.w3.org/WAI/WCAG1AAA-Conformance" title="Explanation of Level Triple-A Conformance"><img border="0" height="32" width="88" src="../../wcag1AAA.gif" alt="Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0" /></a>
|
||||
</td><td>
|
||||
<font size="-2">
|
||||
(C) Copyright 2002-2005 D. Spinellis.
|
||||
May be freely uploaded by WWW viewers and similar programs.
|
||||
All other rights reserved.
|
||||
<br />
|
||||
Last modified: $Date$
|
||||
</font>
|
||||
</td></tr>
|
||||
</table>
|
||||
</body>
|
||||
</html>
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.umlgraph</groupId>
|
||||
<artifactId>umlgraph</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>UMLGraph</name>
|
||||
<version>${version}</version>
|
||||
<description>Declarative Drawing of UML Diagrams</description>
|
||||
<url>http://www.spinellis.gr/umlgraph</url>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>BSD License (original)</name>
|
||||
<url>http://www.opensource.org/licenses/bsd-license.php</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<scm>
|
||||
<url>https://github.com/dspinellis/UMLGraph</url>
|
||||
<connection>git://github.com/dspinellis/UMLGraph.git</connection>
|
||||
</scm>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<id>dspinellis</id>
|
||||
<name>Diomidis Spinellis</name>
|
||||
<email>dds@aueb.gr</email>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<dependencies/>
|
||||
|
||||
</project>
|
||||
|
|
@ -0,0 +1,156 @@
|
|||
<?xml version="1.0"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.umlgraph</groupId>
|
||||
<artifactId>umlgraph</artifactId>
|
||||
<packaging>jar</packaging>
|
||||
<name>UMLGraph</name>
|
||||
<version>6.0.1-SNAPSHOT</version>
|
||||
<description>Declarative Drawing of UML Diagrams</description>
|
||||
<url>http://www.spinellis.gr/umlgraph</url>
|
||||
|
||||
<licenses>
|
||||
<license>
|
||||
<name>BSD License (original)</name>
|
||||
<url>http://www.opensource.org/licenses/bsd-license.php</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
|
||||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
</properties>
|
||||
|
||||
<scm>
|
||||
<url>https://github.com/dspinellis/UMLGraph/</url>
|
||||
<connection>scm:git://github.com/dspinellis/UMLGraph.git</connection>
|
||||
<developerConnection>scm:git:git@github.com:dspinellis/UMLGraph.git</developerConnection>
|
||||
<tag>R5_7_1</tag>
|
||||
</scm>
|
||||
|
||||
<developers>
|
||||
<developer>
|
||||
<id>dspinellis</id>
|
||||
<name>Diomidis Spinellis</name>
|
||||
<email>dds@aueb.gr</email>
|
||||
</developer>
|
||||
</developers>
|
||||
|
||||
<parent>
|
||||
<groupId>org.sonatype.oss</groupId>
|
||||
<artifactId>oss-parent</artifactId>
|
||||
<version>9</version>
|
||||
</parent>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>junit</groupId>
|
||||
<artifactId>junit</artifactId>
|
||||
<version>4.13.2</version>
|
||||
<scope>test</scope>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/main/resources</directory>
|
||||
<filtering>true</filtering>
|
||||
</resource>
|
||||
</resources>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.10.1</version>
|
||||
<configuration>
|
||||
<source>9</source>
|
||||
<target>9</target>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-jar-plugin</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<configuration>
|
||||
<archive>
|
||||
<manifest>
|
||||
<addClasspath>true</addClasspath>
|
||||
<mainClass>org.umlgraph.doclet.UmlGraph</mainClass>
|
||||
</manifest>
|
||||
</archive>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-release-plugin</artifactId>
|
||||
<version>3.0.0-M7</version>
|
||||
<configuration>
|
||||
<autoVersionSubmodules>true</autoVersionSubmodules>
|
||||
<useReleaseProfile>false</useReleaseProfile>
|
||||
<releaseProfiles>release</releaseProfiles>
|
||||
<goals>deploy</goals>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>3.2.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>3.5.0</version>
|
||||
<configuration>
|
||||
<tags>
|
||||
<tag>
|
||||
<name>depend</name>
|
||||
<placement>X</placement>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>hidden</name>
|
||||
<placement>X</placement>
|
||||
</tag>
|
||||
<tag>
|
||||
<name>opt</name>
|
||||
<placement>X</placement>
|
||||
</tag>
|
||||
</tags>
|
||||
<doclet>org.umlgraph.doclet.UmlGraphDoc</doclet>
|
||||
<docletPath>${project.build.directory}${file.separator}${project.build.finalName}.jar</docletPath>
|
||||
<additionalOptions>
|
||||
<option>-inferrel</option>
|
||||
<option>-inferdep</option>
|
||||
<option>-autosize</option>
|
||||
<option>-collapsible</option>
|
||||
<option>--hide="java.*"</option>
|
||||
<option>--collpackages=</option>
|
||||
<option>-qualify</option>
|
||||
<option>-postfixpackage</option>
|
||||
<option>-nodefontsize 9</option>
|
||||
<option>-nodefontpackagesize 7</option>
|
||||
<option>--link="https://docs.oracle.com/javase/9/docs/api/"</option>
|
||||
</additionalOptions>
|
||||
<detectJavaApiLink>false</detectJavaApiLink>
|
||||
<useStandardDocletOptions>true</useStandardDocletOptions>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</project>
|
||||
|
|
@ -14,7 +14,6 @@
|
|||
# WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
|
||||
# MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
|
||||
|
|
@ -34,13 +33,14 @@ define comment_default_move {up 0.25 right 0.25};
|
|||
comment_default_ht=0.5;
|
||||
# Comment width
|
||||
comment_default_wid=1;
|
||||
|
||||
# Underline object name
|
||||
underline=1;
|
||||
|
||||
# Create a new object(name,label)
|
||||
define object {
|
||||
$1: box $2; move;
|
||||
# Could also underline text with \mk\ul\ul\ul...\rt
|
||||
{
|
||||
if (underline) then {
|
||||
line from $1.w + (.1, -.07) to $1.e + (-.1, -.07);
|
||||
}
|
||||
move to $1.e;
|
||||
|
|
|
|||
|
|
@ -1 +0,0 @@
|
|||
Version.java
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue