You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@forrest.apache.org by ni...@apache.org on 2004/02/10 11:09:09 UTC

cvs commit: xml-forrest/scratchpad/forrestdoc build.xml

nicolaken    2004/02/10 02:09:09

  Modified:    scratchpad/forrestdoc build.xml
  Log:
  Major cleanup of buildfile with use of latest Ant features.
  Now it works by just setting the -Dscan.dir property to the base
  of the project to document.
  The javascript task has been broken by this ATM, as it
  does not scan dirs.
  
  Revision  Changes    Path
  1.2       +118 -144  xml-forrest/scratchpad/forrestdoc/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-forrest/scratchpad/forrestdoc/build.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- build.xml	9 Feb 2004 11:09:12 -0000	1.1
  +++ build.xml	10 Feb 2004 10:09:09 -0000	1.2
  @@ -2,31 +2,27 @@
   <project
    name="forrestdoc" default="dist" basedir=".">
   
  -   <property name="project.name" value="project" />
  -   <property name="project.dir"  value="." />
  +   <property name="scan.dir"  value="." />
  +   <property name="target.dir"  value="${scan.dir}/build/forrestdoc"/>  
   
  -   <property name="java.src" value="${project.dir}/src/java" />
  -   <property name="ant.src"  value="${project.dir}/build.xml" />   
  -   <property name="js.src"   value="./src/test/resources/jsdoc" />
  -   
  -   <property name="src" value="./src/java" />
  -   <property name="resources"  value="./src/resources" />
  -   <property name="build" value="./build" />
  -   <property name="build.classes" value="${build}/classes" />
  -   <property name="target" value="${build}/${project.name}" />   
  -   <property name="dist" value="./dist" />
  -
  -   <property name="target.javasrc" value="${target}/javasrc" />
  -   <property name="target.javadoc" value="${target}/javadoc" />
  -   <property name="target.xml"     value="${target}/xml" />
  -   <property name="target.dot"     value="${target}/dot" />
  -   <property name="target.uml"     value="${target}/uml" />
  -   <property name="target.jsdoc"   value="${target}/jsdoc" />
  -   <property name="target.vizant"  value="${target}/vizant" />
  +   <property name="src.dir"           location="./src/java" />
  +   <property name="resources.dir"     location="./src/resources" />
  +   <property name="build.dir"         location="./build" />
  +   <property name="dist.dir"          location="./dist" />
  +   <property name="lib.dir"           location="./lib" />   
  +
  +   <property name="build.classes.dir" location="${build.dir}/classes" />
      
  -            
  +   <property name="target.javasrc.dir" location="${target.dir}/javasrc" />
  +   <property name="target.javadoc.dir" location="${target.dir}/javadoc" />
  +   <property name="target.xml.dir"     location="${target.dir}/xml" />
  +   <property name="target.dot.dir"     location="${target.dir}/dot" />
  +   <property name="target.uml.dir"     location="${target.dir}/uml" />
  +   <property name="target.jsdoc.dir"   location="${target.dir}/jsdoc" />
  +   <property name="target.vizant.dir"  location="${target.dir}/vizant" />
  +
      <path id="lib.classpath">
  -      <fileset  dir="lib">
  +      <fileset  dir="${lib.dir}">
            <include name="*.jar" />
         </fileset>
         <fileset dir="${ant.home}/lib">
  @@ -35,92 +31,74 @@
      </path>
   
      <path id="task.classpath">
  -      <fileset  dir="lib">
  -         <include name="*.jar" />
  -      </fileset>
  -      <fileset dir="${ant.home}/lib">
  -         <include name="*.jar" />
  -      </fileset>
  -      <pathelement path="${build.classes}"/>
  +      <path refid="lib.classpath"/>
  +      <pathelement path="${build.classes.dir}"/>
      </path>
   
  -   <target
  -    name="init">
  -<!-- Create the time stamp -->
  -      <tstamp />
  -<!-- Create the build directory structure used by compile -->
  -      <mkdir
  -       dir="${build.classes}" />
  -   </target>
  -
  -   <target name="compile" depends="init">
  -<!-- Compile the java code from ${src} into ${target} -->
  -      <javac srcdir="${src}"
  +   <!-- init -->
  +   <tstamp />
  +   
  +   <presetdef name="fjavadoc">
  +     <javadoc 
  +           useexternalfile="true">
  +       <fileset dir="${scan.dir}" defaultexcludes="yes">
  +        <include name="**/*.java" />
  +       </fileset>
  +    </javadoc>
  +   </presetdef>
  +   
  +   
  +   <!-- Targets -->
  +   
  +   <target name="compile"
  +           description="Compile the java code from ${src} into ${target}">
  +      <mkdir dir="${build.classes.dir}" />
  +      <javac srcdir="${src.dir}"
                debug="true"
  -             destdir="${build.classes}"
  +             destdir="${build.classes.dir}"
                classpathref="lib.classpath" />
      </target>
   
  -   <target name="dist" depends="compile">
  -<!-- Create destination directory -->
  -      <mkdir dir="${dist}" />
  -
  -<!-- Put everything in ${target} into the xml-forrestdoc.jar file -->
  -      <jar jarfile="${dist}/xml-forrestdoc.jar"
  -           basedir="${build.classes}" />
  -
  +   <target name="dist" depends="compile"
  +           description="Put everything in ${target} into the xml-forrestdoc.jar file">   
  +      <mkdir dir="${dist.dir}" />
  +      <jar jarfile="${dist.dir}/xml-forrestdoc.jar"
  +           basedir="${build.classes.dir}" />
      </target>
   
  -   <target name="clean">
  -<!-- Delete the ${target} and ${dist} directory trees -->
  -      <delete dir="${build}" />
  -      <delete dir="${dist}" />
  +   <target name="clean"
  +           description="Delete the ${target} and ${dist} directory trees">   
  +      <delete dir="${build.dir}" />
  +      <delete dir="${dist.dir}" />
      </target>
   
  -
  -
      <target name="test" 
  -           description="create all possible docs for this project" 
  +           description="test this project" 
              depends="all">
  -           
      </target>        
      
      <target name="all" 
              description="create all possible docs for this project" 
              depends="javasrc, jsdoc, xml, uml, javadoc, vizant">
  -           
  -      <copy todir="${target}">
  -        <fileset dir="${resources}/common" casesensitive="yes"/>
  +      <copy todir="${target.dir}">
  +        <fileset dir="${resources.dir}/common" casesensitive="yes"/>
         </copy> 
  -                 
      </target>    
  -    <!-- 
  - 
  -      The utility targets to run the aspects of ForrestDoc
  - 
  -     -->
  -
  -
  -   <target name="javasrc" depends="dist">
      
  -      <mkdir dir="${target.javasrc}" />
  -
  +   <!-- 
  +       The utility targets to run the aspects of ForrestDoc
  +    -->
  +   <target name="javasrc" depends="compile">
  +      <mkdir dir="${target.javasrc.dir}" />
         <java classname="org.apache.forrest.forrestdoc.java.src.Pass1"
                fork="true"
                dir="."
                failonerror="true">
            <sysproperty key="recurse" value="true" />
            <sysproperty  key="title" value="Java Code Documentation" />
  -         <sysproperty key="outdir" path="${target.javasrc}" />
  -         <arg value="${java.src}" />
  -         <classpath>
  -            <fileset dir="${dist}">
  -               <include name="*.jar" />
  -            </fileset>
  -            <fileset dir="lib">
  -               <include name="*.jar" />
  -            </fileset>
  -         </classpath>
  +         <sysproperty key="outdir" path="${target.javasrc.dir}" />
  +         <arg value="${scan.dir}" />
  +         <classpath refid="task.classpath"/>
         </java>
   
         <java classname="org.apache.forrest.forrestdoc.java.src.Pass2"
  @@ -129,35 +107,28 @@
               failonerror="true">
            <sysproperty key="recurse" value="true" />
            <sysproperty key="title" value="Java Code Documentation" />
  -         <sysproperty key="outdir" path="${target.javasrc}" />
  -         <arg value="${java.src}" />
  -         <classpath>
  -            <fileset dir="${dist}">
  -               <include name="*.jar" />
  -            </fileset>
  -            <fileset dir="lib">
  -               <include name="*.jar" />
  -            </fileset>
  -         </classpath>
  +         <sysproperty key="outdir" path="${target.javasrc.dir}" />
  +         <arg value="${scan.dir}" />
  +         <classpath refid="task.classpath"/>
         </java>
   
  -      <copy file="${resources}/javasrc/styles.css"
  -            todir="${target.javasrc}"
  +      <copy file="${resources.dir}/javasrc/styles.css"
  +            todir="${target.javasrc.dir}"
               filtering="off" />
      </target>
      
      <target name="jsdoc" depends="compile">
  -      <mkdir dir="${target.jsdoc}" />
  +      <mkdir dir="${target.jsdoc.dir}" />
         <taskdef name="jsdoc" classname="org.apache.forrest.forrestdoc.js.doc.JSDocTask" classpath="./build/classes/"/>
  -      <jsdoc jSDir="${js.src}" destDir="${target.jsdoc}" />
  +      <jsdoc jSDir="${scan.dir}" destDir="${target.jsdoc.dir}" />
      </target>   
      
      <target name="javasrc2" depends="compile">
  -      <mkdir dir="${target.javasrc}" />
  +      <mkdir dir="${target.javasrc.dir}" />
         <taskdef name="javasrc" classname="org.apache.forrest.forrestdoc.java.src.JavaSrcTask">
           <classpath refid="task.classpath"/>
         </taskdef>
  -      <javasrc srcDir="${java.src}" destDir="${target.javasrc}" />
  +      <javasrc srcDir="${scan.dir}" destDir="${target.javasrc.dir}" />
      </target>   
   
      <target name="uml" depends="xml, xml2dot, dot">
  @@ -167,11 +138,8 @@
      </target>
      <target name="umlgraph" depends="umldoclet, dot"/>
            
  -   <target name="umldoclet" depends="init, compile">
  -        <javadoc 
  -           sourcepath="${java.src}"
  -           packagenames="*">
  -      
  +   <target name="umldoclet" depends="compile">
  +        <fjavadoc>
            <doclet name="org.apache.forrest.forrestdoc.java.doc.UmlDoclet"
                    path="./build/classes/">
                 <!--  <param name="-horizontal" value="true"/> -->
  @@ -181,43 +149,47 @@
                 <!--  <param name="-types" value="true"/> -->       
                  <param name="-all" value="true"/>                     
          </doclet>
  -     </javadoc>
  +     </fjavadoc>
      </target>
   
  -   <target name="javadoc" depends="init">
  -      <mkdir dir="${target.javadoc}" />
  -        <javadoc 
  -           sourcepath="${java.src}"
  -           destDir="${target.javadoc}"
  -           packagenames="*">
  -     </javadoc>
  +   <target name="javadoc">
  +      <mkdir dir="${target.javadoc.dir}" />
  +        <fjavadoc destDir="${target.javadoc.dir}"
  +                  author = "true"
  +                  version="true">
  +<!--    <doctitle><![CDATA[<h1>Test</h1>]]></doctitle>
  +    <header><![CDATA[<h2>header</h2>]]></header>
  +    <footer><![CDATA[<h3>footer</h3>]]></footer>    
  +    <bottom><![CDATA[<i>Copyright &#169; 2000 Dummy Corp. All Rights Reserved.</i>]]></bottom>
  +-->    
  +    <tag name="todo" scope="all" description="To do:" />
  +    <link href="http://developer.java.sun.com/developer/products/xml/docs/api/"/>
  +     </fjavadoc>
      </target>   
      
  -   <target name="xml" depends="init, compile">
  -      <mkdir dir="${target.xml}" />
  -        <javadoc 
  -           sourcepath="${java.src}"
  -           packagenames="*">
  +   <target name="xml" depends="compile">
  +      <mkdir dir="${target.xml.dir}" />
  +        <fjavadoc>
         
            <doclet name="org.apache.forrest.forrestdoc.java.doc.XMLDoclet"
                    path="./build/classes/">
          <!--   <param name="-foo" value="foovalue"/>
             <param name="-bar" value="barvalue"/> -->
          </doclet>
  -     </javadoc>
  -     <move file="simple.xml" tofile="${target.xml}/xmldocs.xml"/>
  +     </fjavadoc>
  +     <move file="simple.xml" tofile="${target.xml.dir}/xmldocs.xml"/>
      </target>   
         
  -   <target name="xml2dot" depends="init">
  -      <copy file="${resources}/javadoc/javadoc-v04draft.dtd" todir="${target.xml}" filtering="off" />
  -     <xslt force="true" in="${target.xml}/xmldocs.xml" out="${target.dot}/graph.dot" style="src/resources/javadoc/xml2dot.xsl"/>
  +   <target name="xml2dot">
  +      <copy file="${resources.dir}/javadoc/javadoc-v04draft.dtd" todir="${target.xml.dir}" filtering="off" />
  +     <xslt force="true" in="${target.xml.dir}/xmldocs.xml" out="${target.dot.dir}/graph.dot" style="${resources.dir}/javadoc/xml2dot.xsl"/>
      </target>   
     
      <target name="dot">
  -      <mkdir dir="${target.uml}" />
  +      <mkdir dir="${target.uml.dir}" />
         <property name="dot.format" value="png"/> 
  -      <property name="dot.source" value="${target.dot}/graph.dot"/> 
  -      <property name="dot.dest" value="${target.uml}/graph"/> 
  +      <property name="dot.source" value="${target.dot.dir}/graph.dot"/> 
  +      <property name="dot.dest" value="${target.uml.dir}/graph"/> 
                     
         <exec executable="dot">
            <arg line="-T${dot.format} ${dot.source} -o ${dot.dest}.${dot.format}" />
  @@ -225,13 +197,15 @@
      </target>
   
   
  -   <target name="vizant" depends="init, runvizant, xml2formats"/>
  +   <target name="vizant" depends="runvizant, xml2formats"/>
      
  -   <target name="runvizant" depends="init, compile">
  -      <mkdir dir="${target.vizant}" />
  -      <taskdef name="vizant" classname="org.apache.forrest.forrestdoc.ant.doc.Vizant" classpath="${build.classes}" />
  -      <vizant antfile="${ant.src}" 
  -              outfile="${target.vizant}/buildgraph.xml" 
  +   <target name="runvizant" depends="compile">
  +      <mkdir dir="${target.vizant.dir}" />
  +      <taskdef name="vizant" classname="org.apache.forrest.forrestdoc.ant.doc.Vizant">
  +         <classpath refid="task.classpath"/>
  +      </taskdef>   
  +      <vizant antfile="${scan.dir}/build.xml" 
  +              outfile="${target.vizant.dir}/buildgraph.xml" 
                 uniqueref="true">
          <!--       
            <attrstmt type="graph"> 
  @@ -270,39 +244,39 @@
      </target>
   
      <target name="xml2formats">
  -      <xslt in="${target.vizant}/buildgraph.xml" out="${target.vizant}/target.dot" style="src/resources/vizant/xml2dot.xsl" />
  +      <xslt in="${target.vizant.dir}/buildgraph.xml" out="${target.vizant.dir}/target.dot" style="${resources.dir}/vizant/xml2dot.xsl" />
   
         <antcall target="dot">
  -        <param name="dot.source" value="${target.vizant}/target.dot"/>
  -        <param name="dot.dest" value="${target.vizant}/vizant"/>
  +        <param name="dot.source" value="${target.vizant.dir}/target.dot"/>
  +        <param name="dot.dest" value="${target.vizant.dir}/vizant"/>
         </antcall> 
    
          <antcall target="dot">
           <param name="dot.format" value="svg"/>
  -        <param name="dot.source" value="${target.vizant}/target.dot"/>
  -        <param name="dot.dest" value="${target.vizant}/vizant"/>
  +        <param name="dot.source" value="${target.vizant.dir}/target.dot"/>
  +        <param name="dot.dest" value="${target.vizant.dir}/vizant"/>
         </antcall> 
         
  -      <xslt in="${target.vizant}/buildgraph.xml" out="${target.vizant}/target.html" style="src/resources/vizant/xml2html.xsl" />
  +      <xslt in="${target.vizant.dir}/buildgraph.xml" out="${target.vizant.dir}/target.html" style="${resources.dir}/vizant/xml2html.xsl" />
   
  -      <xslt in="${target.vizant}/buildgraph.xml" out="${target.vizant}/buildtg.xml" style="src/resources/vizant/xml2tg.xsl" />    
  -      <copy file="${target.vizant}/buildtg.xml" tofile="${target.vizant}/InitialXML._xml"/>  
  -      <copy todir="${target.vizant}">
  -        <fileset dir="src/resources/touchgraph" casesensitive="yes"/>
  +      <xslt in="${target.vizant.dir}/buildgraph.xml" out="${target.vizant.dir}/buildtg.xml" style="${resources.dir}/vizant/xml2tg.xsl" />    
  +      <copy file="${target.vizant.dir}/buildtg.xml" tofile="${target.vizant.dir}/InitialXML._xml"/>  
  +      <copy todir="${target.vizant.dir}">
  +        <fileset dir="${resources.dir}/touchgraph" casesensitive="yes"/>
         </copy>          
   
  -      <copy todir="${target.vizant}">
  -        <fileset dir="src/resources/vizant" casesensitive="yes"/>
  +      <copy todir="${target.vizant.dir}">
  +        <fileset dir="${resources.dir}/vizant" casesensitive="yes"/>
         </copy>      
      </target>
   
   
      <target name="tg">
       <java classname="com.touchgraph.linkbrowser.TGLinkBrowser" fork="yes">
  -     <arg value="${target.vizant}/buildtg.xml"/>
  +     <arg value="${target.vizant.dir}/buildtg.xml"/>
        <classpath>
          <path>
  -          <fileset dir="${target.vizant}" casesensitive="yes">
  +          <fileset dir="${target.vizant.dir}" casesensitive="yes">
              <patternset>
                <include name="**/*.jar"/>
                <include name="**/*.zip"/>