[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Gzz-commits] gzz ./Makefile ./TODO metacode/umldoc.py metaco...
From: |
Asko Soukka |
Subject: |
[Gzz-commits] gzz ./Makefile ./TODO metacode/umldoc.py metaco... |
Date: |
Thu, 02 Jan 2003 04:06:14 -0500 |
CVSROOT: /cvsroot/gzz
Module name: gzz
Changes by: Asko Soukka <address@hidden> 03/01/02 04:06:14
Modified files:
. : Makefile TODO
metacode : umldoc.py umlrst.py
Log message:
New (and renamed) targets for compiling single documents with umltool.
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/Makefile.diff?tr1=1.230&tr2=1.231&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/TODO.diff?tr1=1.476&tr2=1.477&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/metacode/umldoc.py.diff?tr1=1.10&tr2=1.11&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gzz/gzz/metacode/umlrst.py.diff?tr1=1.11&tr2=1.12&r1=text&r2=text
Patches:
Index: gzz/Makefile
diff -u gzz/Makefile:1.230 gzz/Makefile:1.231
--- gzz/Makefile:1.230 Sun Dec 29 15:33:08 2002
+++ gzz/Makefile Thu Jan 2 04:06:12 2003
@@ -301,12 +301,20 @@
$(JYTHON) metacode/umldoc.py doc/
$(JYTHON) metacode/umlpegboard.py
-umldoc:
- $(JYTHON) metacode/umldoc.py $(INPUT)
+#RST could be a single rst file or a directory, when
+#all the .rst-files in directory is compiled (non-recursive)
+rst:
+ $(JYTHON) metacode/umldoc.py $(RST)
+
+#keeps jython running for quick recompiling:
+#after each cycle prompts a key for continue
+rst-loop:
+ $(JYTHON) metacode/umldoc.py loop $(RST)
+
docxx:
doc++ -a --before-group --before-class --no-java-graphs
--trivial-graphs -H -F -d doc/docxx -u `find gfx -name '*.hxx'`
-
+
pegs:
$(JYTHON) metacode/pegboard.py
Index: gzz/TODO
diff -u gzz/TODO:1.476 gzz/TODO:1.477
--- gzz/TODO:1.476 Wed Jan 1 11:21:10 2003
+++ gzz/TODO Thu Jan 2 04:06:12 2003
@@ -163,24 +163,33 @@
way to keep the process running
and recompile quickly; jython start-up
time is horrible.
- - implicit bi-directional links within diagrams
- - first step: implicit diagrams into javadoc
- - second step: implicit diagrams also into rsts
- - think about jlink, currently it handles only javadoc classes
- correctly, RST files are linked using relative path names, which
- go broken when diagram is shown in wrong directory
- - this problem is connected with generating bi-directional
- links
- - "plugins" was suggested for handling different parts of
- documentation (e.g. architecture, pegboard, javadoc, cxxdoc)
- - should generating UML-data (.mp, .uml) and embedding diagrams
- into htmls be even more discrete states (by splitting documl.py,
- handling pegboard is already split)
+ - jlinks should also work in reverse: the UML diagram
+ should generate, for each jlink, a version of the diagram
+ with the jlink highlighted, and place that into the HTML
+ file that is being jlinked to.
+ - Currently diagrams are embedded into html-documents after
+ the first header-tag. This could be enough for javadoc and
+ other, but in reST this should be possible to overdrive by
+ own directive.
+ - reST documents where diagram is explicitly included
+ using the directive, should also be included into diagram
+ (and highlighted when shown in current document)
+ - should implicitly embedded diagrams be somehow resized?
+ - This requires really careful design. Maybe several
+ implementation passes.
+ + Highlighting should be optional. This should be in UML
source,
+ but it could also be added there from an optin of UML
directive.
+ Anyway, implementing is not trivial, since even the same png
+ diagram could be used in all documents, the imagemap should
+ always be regenerated. So, two points:
+ - all refers to the same diagram should use the same png
+ - still every document needs own imagemap
+ - there should be no highlighting
- diagram names should be unique, currently this can't be
easily tested, make something to it
- Fix UML sequence diagram: now you have to put
seqobjects *after* the sequence...
- - paper about umltool
+ - umltool paper dl 15.2., but should actually be done in the late Jan
- split this todo into correct releases / sections :)
- think about technical guidelines for possible field test prototype
of mindmap applitude (fall 2003?), check alternatives
@@ -495,11 +504,6 @@
class and sequence diagrams
- supports arbitrary drawing on the diagrams
- fast and easy to use and libre
- - jlinks:
- - jlinks should also work in reverse: the UML diagram
- should generate, for each jlink, a version of the diagram
- with the jlink highlighted, and place that into the HTML
- file that is being jlinked to. This requires really careful
design.
- figure out metapost tfm files; we need to have Helvetica.tfm
since we want to use the postscript font names to get standalone
files. But it would be nice not to have it in every directory ;)
Index: gzz/metacode/umldoc.py
diff -u gzz/metacode/umldoc.py:1.10 gzz/metacode/umldoc.py:1.11
--- gzz/metacode/umldoc.py:1.10 Wed Jan 1 08:19:53 2003
+++ gzz/metacode/umldoc.py Thu Jan 2 04:06:13 2003
@@ -15,7 +15,7 @@
# file for more details.
#
-__doc__ = """
+"""
Little about executive order in 'make doc':
doc: pegs javadoc documl docxx
@@ -104,11 +104,24 @@
+' '+path+'.rst '+path+'.gen.html'
docutils.core.publish_cmdline(writer_name='html', argv=args.split())
+try:
+ loop = sys.argv.index("loop") + 1
+ sys.argv.remove("loop")
+
+except ValueError:
+ loop = 0
-#the first pass, create all diagrams data
-for path in sys.argv[1:]:
- run_convert(path)
-
-#the second pass, generate and embed diagrams
-for path in sys.argv[1:]:
- run_embed(path)
+while 1:
+
+ #the first pass, create all diagram sources
+ for path in sys.argv[1:]:
+ run_convert(path)
+
+ #the second pass, compile and embed diagrams
+ for path in sys.argv[1:]:
+ run_embed(path)
+
+ if not loop: break
+ print "\n\nUMLdoc finished.\nEnter 'r' for recompile, any other key quits."
+ if raw_input().lower() != 'r':
+ break
Index: gzz/metacode/umlrst.py
diff -u gzz/metacode/umlrst.py:1.11 gzz/metacode/umlrst.py:1.12
--- gzz/metacode/umlrst.py:1.11 Wed Jan 1 08:19:53 2003
+++ gzz/metacode/umlrst.py Thu Jan 2 04:06:14 2003
@@ -21,7 +21,8 @@
umltool.settings['tmpdir'] = 'doc/uml'
-#Environmental variable MPINPUTS should be relative to tmpdir, or absolute
path.
+#Environmental variable MPINPUTS should be relative to tmpdir,
+#or be an absolute path.
os.putenv("MPINPUTS", "../../metacode")
#TEXFMOUTPUT should change the output directory of metapost, but it didn't
@@ -31,8 +32,10 @@
def uml_directive(name, arguments, options, content, lineno,
content_offset, block_text, state, state_machine):
"""
- Pass content to UML-tool, which creates a png file.
- Returns a comment node with name of the diagram.
+ UML-directive gets UML source as its content. At first the content
+ is split into UML and MP parts. Then those parts are written into
+ tmpdir. At last a comment node "<!-- UML: foo -->" is added into
+ reST document tree.
"""
attributes = {'name': arguments[0]}
if content:
@@ -52,10 +55,9 @@
files[current] = temp
# XXX fatal error if diagram with the same name already exists
- # Anyway, this needs more thinkin. This check should be global,
+ # Anyway, this needs more thinking. This check should be global,
# but following asserts would need to make clean tmpdir before
# every remake...
-
# assert not os.path.isfile(umltool.settings['tmpdir']+"/"\
# +attributes['name']+".gen.uml"), "file "\
# +attributes['name']+".gen.uml already exists"
@@ -81,8 +83,9 @@
def uml_refer_directive(name, arguments, options, content, lineno,
content_offset, block_text, state, state_machine):
"""
- Pass content to UML-tool, which creates a png file.
- Returns a comment node with name of the diagram.
+ Adds a comment node "<!-- UML: foo -->" into reST document tree.
+ Excepts that diagram foo exists or is later generated from some
+ other reST-document.
"""
attributes = {'name': arguments[0]}
uml_node = docutils.nodes.comment('', 'UML:'+attributes['name'])
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gzz-commits] gzz ./Makefile ./TODO metacode/umldoc.py metaco...,
Asko Soukka <=