Author: ben
Date: 2007-12-28 21:53:26 -0800 (Fri, 28 Dec 2007)
New Revision: 7678

Added:
   openlaszlo/trunk/docs/src/developers/images/doc-ant-build.graffle
   openlaszlo/trunk/docs/src/developers/images/doc-ant-build.png
Modified:
   openlaszlo/trunk/docs/src/developers/doc-toolchain.dbk
Log:
Change 20071228-ben-o by [EMAIL PROTECTED] on 2007-12-28 21:50:31 PST
    in /Users/ben/src/svn/openlaszlo/trunk
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary: doctools explanation: the ant build process, directory structure.

Documentation:
Added a diagram and explanation of how the ant build works and where
the important directories are and what the ant properties are that
match the actual directories. 



Modified: openlaszlo/trunk/docs/src/developers/doc-toolchain.dbk
===================================================================
--- openlaszlo/trunk/docs/src/developers/doc-toolchain.dbk      2007-12-29 
05:52:12 UTC (rev 7677)
+++ openlaszlo/trunk/docs/src/developers/doc-toolchain.dbk      2007-12-29 
05:53:26 UTC (rev 7678)
@@ -542,47 +542,131 @@
     <title>Workflow Details</title>
     <section id="directory-structure">
       <title>Directory Structure</title>
-      <itemizedlist>
-        <listitem>docs/src/
-          <itemizedlist>
-            <listitem>developers/
-              <itemizedlist>
-                <listitem>tutorials/
-                  <itemizedlist>
-                    <listitem>programs</listitem>
-                    <listitem>images</listitem>              
-                  </itemizedlist>                  
-                </listitem>
-                <listitem>programs</listitem>
-                <listitem>images</listitem>              
-              </itemizedlist>
-              
-            </listitem>
-            <listitem>reference/
-              <itemizedlist>
-                <listitem>images</listitem>
-                <listitem>resources</listitem>
-                <listitem>navbuilder/  command-line tool for building the 
left-nav in the reference</listitem>                
-              </itemizedlist>              
-            </listitem>
-            <listitem>build/  (temporary)
-              <itemizedlist>
-                <listitem>js2doc/ holds the initial js2doc output </listitem>
-                <listitem>developers/  where the processed developers guide 
docbook files go after they've had the examples and callouts inserted</listitem>
-                <listitem>reference/  where the js2doc output is joined 
together into LaszloLibrary-verbose.js2doc, and where the processed reference 
guide docbook files go after they've had the examples and callouts 
inserted</listitem>    
-              </itemizedlist>              
-            </listitem>
-            <listitem>xsl/ (holds the xsl templates for both the conversion 
from lzx to js2doc, and from js2doc to docbook)</listitem>
-          </itemizedlist>
-          
-        </listitem>
-      </itemizedlist>
+      <para>There are several important directories for the documentation 
toolchain.</para>
+      <informaltable colsep="0" frame="none">
+        <tgroup cols="3">
+          <thead>
+            <row>
+              <entry align="left">Path</entry>
+              <entry align="left">Ant Property</entry>              
+              <entry align="left">Purpose</entry>     
+              <entry align="left">Ships in binary distros</entry>
+            </row>
+          </thead>      
+          <tbody>
+            <row>
+              <entry><literal>$LPS_HOME/docs/src/xsl</literal></entry>         
                   
+              <entry>(no associated property)</entry>
+              <entry>Holds the stylesheets that do the transformations</entry>
+              <entry>no</entry>
+            </row>                                
+            <row>
+              <entry><literal>$LPS_HOME/docs/src/developers</literal></entry>  
                          
+              <entry><literal>$developers.src.dir</literal></entry>
+              <entry>Holds the source for the developer's guide </entry>
+              <entry>no</entry>              
+            </row>                    
+            <row>
+              
<entry><literal>$LPS_HOME/docs/src/build/developers</literal></entry>           
                 
+              <entry><literal>$developers.build.dir</literal></entry>
+              <entry>Holds intermediate files for the developer's guide 
build</entry>
+              <entry>no</entry>              
+            </row>        
+            <row>
+              <entry><literal>$LPS_HOME/docs/developers</literal></entry>      
                      
+              <entry><literal>$developers.output.dir</literal></entry>
+              <entry>Holds the output html for the developer's guide </entry>
+              <entry>yes</entry>              
+            </row>        
+            <row>
+              <entry><literal>$LPS_HOME/docs/src/reference</literal></entry>   
                         
+              <entry><literal>reference.src.dir</literal></entry>
+              <entry>Holds the source for the reference</entry>
+              <entry>no</entry>              
+            </row>                    
+            <row>
+              
<entry><literal>$LPS_HOME/docs/src/build/reference</literal></entry>            
                
+              <entry><literal>reference.build.dir</literal></entry>
+              <entry>Holds intermediate files for the reference build</entry>
+              <entry>no</entry>              
+            </row>        
+            <row>
+              <entry><literal>$LPS_HOME/docs/reference</literal></entry>       
                     
+              <entry><literal>reference.output.dir</literal></entry>
+              <entry>Holds the output html for reference</entry>
+              <entry>yes</entry>              
+            </row>                         
+            <row>
+              
<entry><literal>$LPS_HOME/WEB-INF/lps/server/src/org/openlaszlo/js2doc</literal></entry>
                            
+              <entry>(no associated property)</entry>
+              <entry>Contains the code for the js2doc java tool</entry>
+              <entry>no</entry>              
+            </row>
+          </tbody>
+        </tgroup>
+      </informaltable>
       
+      <para>Here's that same information, organized hierarchically:        
+        <itemizedlist>
+          <listitem>$LPS_HOME          
+            <itemizedlist>
+              <listitem>docs
+                <itemizedlist>
+                  <listitem>reference/ ($reference.output.dir)</listitem>
+                  <listitem>developers/ ($developers.output.dir)</listitem>
+                  <listitem>src/  ($docs.src.dir)
+                    <itemizedlist>
+                      <listitem>xsl/ (holds the xsl templates for both the 
conversion from lzx to js2doc, and from js2doc to docbook)</listitem>
+                      <listitem>developers/  ($developers.src.dir)
+                        <itemizedlist>
+                          <listitem>tutorials/
+                            <itemizedlist>
+                              <listitem>programs</listitem>
+                              <listitem>images</listitem>              
+                            </itemizedlist>                  
+                          </listitem>
+                          <listitem>programs</listitem>
+                          <listitem>images</listitem>              
+                        </itemizedlist>                      
+                      </listitem>
+                      <listitem>reference/   ($reference.src.dir)
+                        <itemizedlist>
+                          <listitem>images</listitem>
+                          <listitem>resources</listitem>
+                          <listitem>navbuilder/  command-line tool for 
building the left-nav in the reference</listitem>                
+                        </itemizedlist>              
+                      </listitem>
+                      <listitem>build/  (temporary) ($docs.build.dir)
+                        <itemizedlist>
+                          <listitem>js2doc/ (js2doc.build.dir) holds the 
initial js2doc output </listitem>
+                          <listitem>developers/  ($developers.build.dir) where 
the processed developers guide docbook files go after they've had the examples 
and callouts inserted</listitem>
+                          <listitem>reference/  ($reference.build.dir) where 
the js2doc output is joined together into LaszloLibrary-verbose.js2doc, and 
where the processed reference guide docbook files go after they've had the 
examples and callouts inserted</listitem>    
+                        </itemizedlist>
+                      </listitem>
+                    </itemizedlist>
+                  </listitem>
+                </itemizedlist>
+              </listitem>
+            </itemizedlist>
+          </listitem>
+        </itemizedlist>  
+      </para>
     </section>
 
     <section id="how-ant-drives">
       <title>How Ant Drives the Transformations</title>
-      <para>The build file in <literal>docs/src/build.xml</literal> is 
arguably the most complicated build file in the entire OpenLaszlo platform. It 
has several layers of abstraction, which, when combined with the doc 
toolchain's complexities we've already explored, make following the build.xml 
nearly impossible. An additional problem is that tools for visualizing ant 
files break on this one, because it calls itself, and because it calls other 
ant files entirely. (In fact, it calls the second-most complicated ant file in 
the OpenLaszlo platform, <literal>WEB-INF/lps/server/build.xml</literal>.) The 
way to make sense of the build file is to think of what we already have learned 
the process is, as described in the rest of this chapter. In this discussion, 
we'll favor concepts over details, lest we drown in details. </para>
+      <para>The build file in <literal>docs/src/build.xml</literal> is 
arguably the most complicated build file in the entire OpenLaszlo platform. It 
has several layers of abstraction, which, when combined with the doc 
toolchain's complexities we've already explored, make following the ant file 
nearly impossible. The way to make sense of the build file is to think of what 
we already have learned the process is, as described in the rest of this 
chapter. In this discussion, we'll favor concepts over details, lest we drown 
in details. You may also wish to try <ulink 
url="http://www.yworks.com/en/products_antexplorer_about.htm";>yWorks Ant 
Explorer</ulink> which provides a visualization of the build file.</para>
+      <para>The build file is composed of both specific targets and 
parameterized targets. The parameterized targets do most of the work, and the 
specific targets set up the right parameters with which to call the 
parameterized targets. In <xref linkend="directory-structure"/>, the ant 
properties corresponding to particular directories in the LPS tree are listed; 
understanding those mappings is crucial to being able to read and follow the 
build.</para> 
+        <para>In this diagram of the major targets in the reference build, 
parameterized targets are highlighted:
+        <informalfigure><mediaobject><imageobject>
+          <imagedata fileref="images/doc-ant-build.png"/>
+        </imageobject>
+        </mediaobject></informalfigure>
+      </para>
+      <para><literal>reference.js2doc.generate</literal> drives the creation 
of the js2doc intermediate file, 
<literal>LaszloLibrary-verbose.js2doc</literal>, from the several sources 
(langref.xml, lzx files, and js files).</para>
+      <para><literal>dbk.topic.generate</literal> drives the js2doc2dbk 
transformation. It says, "find all the elements in the input file ( 
<literal>LaszloLibrary-verbose.js2doc</literal> for the reference) that match 
the topic specified in the <literal>filter.topic</literal> parameter. Apply the 
transformations in <literal>js2doc2dbk.xsl</literal> to those elements, and 
output the results to the file specified in the 
<literal>local.output.file</literal>." </para>
+      <para><literal>book.html.generate</literal> drives the docbook to HTML 
transformation.</para>
+      <para><literal>dbk.examples.preprocess</literal> prepares the examples 
in the specified docbook for rendering and final output, by running the docbook 
through <literal>xsl/dbkpreprocessexamples.xsl</literal>.</para>
     </section>
 
   </section>

Added: openlaszlo/trunk/docs/src/developers/images/doc-ant-build.graffle


Property changes on: 
openlaszlo/trunk/docs/src/developers/images/doc-ant-build.graffle
___________________________________________________________________
Name: svn:mime-type
   + application/octet-stream

Added: openlaszlo/trunk/docs/src/developers/images/doc-ant-build.png


Property changes on: 
openlaszlo/trunk/docs/src/developers/images/doc-ant-build.png
___________________________________________________________________
Name: svn:mime-type
   + image/png


_______________________________________________
Laszlo-checkins mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins

Reply via email to