gzz-commits
[Top][All Lists]
Advanced

[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'])



reply via email to

[Prev in Thread] Current Thread [Next in Thread]