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 2002/07/07 11:47:51 UTC

cvs commit: xml-forrest index.html layout.xml properties.xml .cvsignore build.bat build.sh build.xml module.xml forrest.xgump README

nicolaken    2002/07/07 02:47:51

  Modified:    .        .cvsignore build.bat build.sh build.xml module.xml
  Added:       .        index.html layout.xml properties.xml
  Removed:     .        forrest.xgump README
  Log:
  Updated build system to Centipede 1beta2.
  Just as a reminder: next Centipede version will remove the need to have Ant
  in the project CVS altogether.
  
  Revision  Changes    Path
  1.2       +1 -0      xml-forrest/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  RCS file: /home/cvs/xml-forrest/.cvsignore,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- .cvsignore	27 Feb 2002 10:48:16 -0000	1.1
  +++ .cvsignore	7 Jul 2002 09:47:51 -0000	1.2
  @@ -1,2 +1,3 @@
   build
   dist
  +build.number
  
  
  
  1.4       +4 -3      xml-forrest/build.bat
  
  Index: build.bat
  ===================================================================
  RCS file: /home/cvs/xml-forrest/build.bat,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- build.bat	17 May 2002 10:55:55 -0000	1.3
  +++ build.bat	7 Jul 2002 09:47:51 -0000	1.4
  @@ -1,13 +1,14 @@
   @echo off
   
   set OLD_ANT_HOME=%ANT_HOME%
  -set ANT_HOME=tools\ant
  +set ANT_HOME=tools\antipede
   
   set OLD_CLASSPATH=%CLASSPATH%
  +set CLASSPATH=
   for %%i in (.\lib\endorsed\*.jar) do call appendcp.bat %%i
  -for %%i in (.\tools\centipede\lib\*.jar) do call appendcp.bat %%i
   
  -call %ANT_HOME%\bin\ant %1 %2 %3 %4 %5 %6 %7 %8 %9
  +echo Using classpath: "%CLASSPATH%"
  +call %ANT_HOME%\bin\ant -emacs -logger org.apache.tools.ant.NoBannerLogger %1 %2 %3 %4 %5 %6 %7 %8 %9
   
   set ANT_HOME=%OLD_ANT_HOME%
   set CLASSPATH=%OLD_CLASSPATH%
  
  
  
  1.4       +5 -4      xml-forrest/build.sh
  
  Index: build.sh
  ===================================================================
  RCS file: /home/cvs/xml-forrest/build.sh,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- build.sh	17 May 2002 10:55:55 -0000	1.3
  +++ build.sh	7 Jul 2002 09:47:51 -0000	1.4
  @@ -6,8 +6,8 @@
     exit 1
   fi
   
  -chmod u+x ./tools/ant/bin/antRun
  -chmod u+x ./tools/ant/bin/ant
  +chmod u+x ./tools/antipede/bin/antRun
  +chmod u+x ./tools/antipede/bin/ant
   
   # ----- Verify and Set Required Environment Variables -------------------------
   
  @@ -26,10 +26,11 @@
   export CP
   unset CLASSPATH
   
  -CLASSPATH="`echo ./lib/endorsed/*.jar | tr ' ' $S``echo ./tools/centipede/lib/*.jar | tr ' ' $S`"
  +CLASSPATH="`echo ./lib/endorsed/*.jar | tr ' ' $S`"
   export CLASSPATH
   
  -$PWD/./tools/ant/bin/ant $@ 
  +echo Using classpath: \"$CLASSPATH\"
  +$PWD/./tools/antipede/bin/ant -emacs -logger org.apache.tools.ant.NoBannerLogger $@ 
   
   unset CLASSPATH
   
  
  
  
  1.5       +482 -179  xml-forrest/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-forrest/build.xml,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- build.xml	20 Jun 2002 10:13:45 -0000	1.4
  +++ build.xml	7 Jul 2002 09:47:51 -0000	1.5
  @@ -1,186 +1,489 @@
   <?xml version="1.0"?>
  -<!DOCTYPE project [
  -<!-- ===========================================================================
  +<?xml-stylesheet type="text/xsl" href="./tools/antipede/resources/stylesheets/build.xsl"?>
   
  +<!--<!DOCTYPE project SYSTEM "./tools/antipede/build.dtd" >-->
  +<!DOCTYPE project [
  +  <!-- antipede -->    
  +  <!ENTITY import-antipede  SYSTEM "./tools/antipede/build.xtarget"> 
  +                   
  +]>
  +<project default="docs" basedir="." name="project build file">
   
  +<description>
                      * ===================================== *
  -                   |         Forrest Build System          |
  +                   |   Krysalis Centipede Build System     |
                      * ===================================== *
  -                                     by
  -
  -                   Nicola Ken Barozzi <ba...@nicolaken.com>
  -                   Marc Johnson <mjohnson at apache dot org>
  -
  -                   extends the Apache Cocoon Build System
  -                       (http://xml.apache.org/cocoon/)
  -                                     by
  -                   Stefano Mazzocchi <st...@apache.org>
  -                   Carsten Ziegeler <cz...@apache.org>
  -
  --->
  -<!-- =================  Main project targets and info =================  -->
  -<!ENTITY project-target     SYSTEM "./src/targets/project.xtarget">
  -<!ENTITY interactive-target SYSTEM "./src/targets/interactive.xtarget">
  -<!-- =================================================================== -->
  -
  -<!-- ======================  Scratchpad targets =======================  -->
  -<!ENTITY scratchpad-target SYSTEM "./src/scratchpad/targets/scratchpad.xtarget">
  -<!-- =================================================================== -->
  -
  -<!-- ========================  Contrib targets ========================  -->
  -<!ENTITY contrib-target SYSTEM "./src/contrib/targets/contrib.xtarget">
  -<!-- =================================================================== -->
  -
  -<!-- ==================  Krysalis Centipede targets ===================  -->
  -<!ENTITY preinit-target SYSTEM "./tools/centipede/targets/preinit.xtarget">
  -<!ENTITY init-target    SYSTEM "./tools/centipede/targets/init.xtarget">
  -<!ENTITY compile-target SYSTEM "./tools/centipede/targets/compile.xtarget">
  -<!ENTITY util-target    SYSTEM "./tools/centipede/targets/util.xtarget">
  -<!ENTITY dev-target     SYSTEM "./tools/centipede/targets/dev.xtarget">
  -<!ENTITY test-target    SYSTEM "./tools/centipede/targets/test.xtarget">
  -<!ENTITY robot-target   SYSTEM "./tools/centipede/targets/robot.xtarget">
  -<!-- =================================================================== -->
  -
  -]>
  -
  -<project default="interactive" basedir="." name="forrest">
  -<!--
  -
  -Installing the build tools
  -==========================
  -
  -The Forrest build system is based on Krysalis Centipede 0.1, itself being
  -based on Ant, which is a Java building tool originally developed for the
  -Tomcat project but now used in many otherApache projects and extended
  -by many developers.
  -
  -Ant is a little but very handy tool that uses a build file written in XML
  -(this file) as building instructions. For more information refer to
  -"http://jakarta.apache.org/ant/".
  -
  -To make things easier for you, this distribution contains a precompiled
  -version of Ant and the build scripts take care of running it.
  -
  -The only thing that you have to make sure, is the "JAVA_HOME" environment
  -property should be set to match the JVM you want to use.
  -
  -That's all you have to do to be ready to go.
  -
  -
  -Building instructions
  -=====================
  -
  -First, make sure your current working directory is where this very file
  -is located. Then type
  -
  -  ./build.sh (unix)
  -  .\build.bat (win32)
  -
  -if everything is right and all the required packages are visible, this action
  -will start the build and prompt you with options.
  -Note, that if you do further development, compilation time is reduced since
  -Ant is able of detecting which files have changed and to recompile them at need.
  -
  -Also, you'll note that reusing a single JVM instance for each task, increases
  -tremendously the performance of the whole build system, compared to other
  -tools (i.e. make or shell scripts) where a new JVM is started for each task.
  -
  -
  -Building on another directory
  -=============================
  -
  -Sometimes you might want to build on an external directory to keep the
  -distribution clean: no worries, this is just an environment property away.
  -Suppose you want to use the "../build" directory instead, you simply tipe
  -
  - [unix]  ./build.sh  -Dbuild.root=../build
  - [win32] .\build.bat -Dbuild.root=..\build
  -
  -By using the -Dxxx=yyy argument, you are setting environments in the JVM: Ant
  -is designed to give higher priority to system environments to allow you to
  -modify _any_ <property> that you can find in the building instructions below,
  -so it's just a matter of understanding what property you want to change
  -and you don't have to touch this file (which you shouldn't need to do).
  -
  -
  -Build targets
  -=============
  -
  -The build system is not only responsible of compiling the project into a jar
  -file, but is also responsible for creating the HTML documentation, javadocs,
  -distributions and web site. In fact, the file you have here is _exactly_ what
  -is used by project maintainers to take care of everything in the project,
  -no less and no more.
  -
  -To know more about the available targets take a look at this file, which is
  -pretty self-explanatory.
  -To see al list of all targets, type
  -
  - [unix]  ./build.sh  -projecthelp
  - [win32] .\build.bat -projecthelp
  -
  -
  -Build Dependencies
  -==================
  -Some components are optional and require special jar files to be compiled
  -and added to the application. Some of these jars are already included
  -in the distribution while others not.
  -For each optional package which is not available, a warning can be
  -printed. If you don't like these warnings, specify the property "omit.opt.warnings"
  -(build -Domit.opt.warnings).
  -
  -Distribution Version
  -====================
  -When preparing a distribution for release, specify the version ID on
  -the command line: -Dversion="dev-1.2.1", for example.
  -
  -Specifying a subset of unit tests to be executed
  -================================================
  -Specify the package on the command line:
  --Dtest.specific="org.krysalis.p.testme" will select only the testme
  -tests to be run. If you've run any other unit tests in a prior
  -session, you'll need to specify the 'clean' target to remove
  -extraneous test classes from execution:
  -
  -./build.sh clean test -Dtest.specific="org/krysalis/p/testme"
  -
  -or
  -
  -.\build.bat clean test -Dtest.specific="org/krysalis/p/testme"
  -
  -
  -                              Happy hacking from the Dev Team :)
  -
  -============================================================================ -->
  -
  -
  -  <!-- =================================================================== -->
  -  <!-- external reference are relative to to **/*.xtarget;                 -->
  -  <!-- see entity decalrations at the start of this file                   -->
  -  <!-- =================================================================== -->
  -  <!-- Pre Initialization      -->  &preinit-target;
  -  <!-- =================================================================== -->
  -  <!-- Project targets         -->  &project-target;
  -  <!-- =================================================================== -->
  -  <!-- Initialization targets  -->  &init-target;
  -  <!-- =================================================================== -->
  -  <!-- Compile targets         -->  &compile-target;
  -  <!-- =================================================================== -->
  -  <!-- Interactive targets     -->  &interactive-target;
  -  <!-- =================================================================== -->
  -  <!-- Scratchpad targets      -->  &scratchpad-target;
  -  <!-- =================================================================== -->
  -  <!-- Contrib targets         -->  &contrib-target;
  -  <!-- =================================================================== -->
  -  <!-- Utility  targets        -->  &util-target;
  -  <!-- =================================================================== -->
  -  <!-- Developer targets       -->  &dev-target;
  -  <!-- =================================================================== -->
  -  <!-- Testcases targets       -->  &test-target;
  -  <!-- =================================================================== -->
  -  <!-- "Scripts" targets       -->  &robot-target;
  -  <!-- =================================================================== -->
  +                                     by               
  +                                             
  +                   Nicola Ken Barozzi (nicolaken@apache.org)
  +                   Marc Johnson (mjohnson@apache.org)       
  +                   
  +                   
  +                   For a simple interactive build, simply 
  +                   run the build script (build.bar or build.sh)
  +</description>
  +
  +  <path id="classpath">
  +    <fileset dir="./lib/endorsed">
  +      <include name="*.jar"/>
  +    </fileset>  
  +    <fileset dir="./lib/core">
  +      <include name="*.jar"/>
  +    </fileset>
  +    <fileset dir="./lib/optional">
  +      <include name="*.jar"/>
  +    </fileset>
  +  </path>
  +  
  +
  +  <!-- =================================================================== -->
  +  <!-- Targets for this project                                            -->
  +  <!-- =================================================================== -->
  +
  +  <target name="init" depends="-init">
  +    <property name="name"                  value="${xgump.module.project.name}"/>
  +    <property name="packages"              value="${xgump.module.project.packages}"/>
  +    
  +    <property name="build.root"            value="${xlayout.build.dir}"/>
  +    <property name="build.dir"             value="${xlayout.build.dir}"/>
  +    <property name="resource.dir"          value="${xlayout.source.resources.dir}"/>
  +    <property name="context.dir"           value="${xlayout.source.documentation.dir}"/>
  +    <property name="build.docs"            value="${xlayout.build.documentation.dir}"/>
  +    <property name="build.javadocs"        value="${xlayout.build.documentation.javadocs.dir}"/>
  +    <property name="build.context"         value="${xlayout.build.work.dir}"/>
  +    <property name="build.dest"            value="${xlayout.build.classes.dir}"/>
  +    <property name="build.scratchpad.dest" value="${xlayout.build.scratchpad.classes.dir}"/>
  +
  +    <property name="tools.dir"             value="./tools"/>
  +    <property name="tools.jar"             value="${java.home}/../lib/tools.jar"/>
  +    <available file="${tools.jar}"  property="tools.jar.present"/>
  +    
  +  </target>
  +  
  +  <target name="run" depends="init">
  +
  +    <antcall target="runforrestrun">
  +      <param name="getcvsmodule.package"      value="jakarta-poi"/>
  +      <param name="getcvsmodule.work.dir"     value="${build.dir}/work/forrest/cvsmodule" />
  +      <param name="documentation.source.dir"  value="${build.dir}/work/forrest/cvsmodule/jakarta-poi/src/documentation"/>
  +      <param name="deploy.username"           value="forrestbot"/>
  +      <param name="deploy.package-name"       value="jakarta-poi"/>
  +      <param name="deploy.data.dir"           value="${build.dir}/docs"/>
  +      <param name="deploy.hostname"           value="krysalis.sourceforge.net"/>
  +      <param name="deploy.remotedir"          value="/home/groups/k/kr/krysalis/htdocs/poi"/>
  +    </antcall>
  +
  +  </target>
  +
  +  <target name="runforrestrun" depends="getcvsmodule, prepare-docs, owdocs, deploy"/>
  +
  +  <target name="updateforrestsite" depends="init, docs, deployforrestsite, sendlog"/>
  +
  +  <target name="deployforrestsite" depends="init, docs">
  +    <antcall target="deploy">
  +      <param name="deploy.username"     value="forrestbot"/>
  +      <param name="deploy.package-name" value="xml-forrest"/>
  +      <param name="deploy.data.dir"     value="${build.dir}/docs"/>
  +      <param name="deploy.hostname"     value="krysalis.sourceforge.net"/>
  +      <param name="deploy.remotedir"    value="/home/groups/k/kr/krysalis/htdocs/forrest"/>
  +    </antcall>
  +  </target>
  +
  +
  +  <!-- ================================== -->
  +  <!--              Compile               -->
  +  <!-- ================================== -->
  +
  +  <target  name="compile"   depends="-init"
  +           description="Compile java source code">
  +           
  +    <antcall target="call-cent">
  +      <param name="cent-name"   value="centipede"/> 
  +      <param name="cent-target" value="compile"/> 
  +    </antcall>
  +    
  +  </target>             
  +  
  +  <!-- ================== -->
  +  <!-- Prepares the docs  -->
  +  <!-- ================== -->
  +  <target name="prepare-docs" depends="init, compile">
  +
  +    <property name="centipede.tools.cents.forrest.loglevel" value="ERROR"/>
  +    <property name="use.skin" value="bert"/>
  +
  +    <property name="documentation.context.dir"  value="${resource.dir}"/>
  +    <property name="documentation.source.dir"   value="${context.dir}"/>
  +
  +    <echo>Running docs generation from: ${documentation.source.dir}.</echo>
  +
  +    <!-- define filters -->
  +    <filter token="skin"              value="${use.skin}"/>
  +    <filter token="link1"             value="apache"/>
  +    <filter token="link1.href"        value="http://www.apache.org/"/>
  +    <filter token="link2"             value="xml.apache"/>
  +    <filter token="link2.href"        value="http://xml.apache.org/"/>
  +    <filter token="link3"             value="forrest"/>
  +    <filter token="link3.href"        value="http://xml.apache.org/forrest/"/>
  +    <filter token="group-logo.src"    value="images/group-logo.gif"/>
  +    <filter token="group-logo.href"   value="http://xml.apache.org/"/>
  +    <filter token="group-logo.alt"    value="Apache XML logo"/>
  +    <filter token="project-logo.src"  value="images/project-logo.gif"/>
  +    <filter token="project-logo.href" value="http://xml.apache.org/forrest/"/>
  +    <filter token="project-logo.alt"  value="Forrest logo"/>
  +    <filter token="year" value="2002"/>
  +    <filter token="vendor" value="Apache Sofware Foundation"/>
  +
  +
  +    <mkdir dir="${build.context}"/>
  +    <mkdir dir="${build.docs}"/>
  +    <mkdir dir="${build.dir}/work"/>
  +
  +
  +    <!-- make filtered copy of XML docs -->
  +    <copy todir="${build.context}" filtering="on" overwrite="true">
  +      <fileset dir="${documentation.source.dir}" casesensitive="no">
  +        <include name="**/*.x*"/>
  +      </fileset>
  +    </copy>
  +
  +    <!-- make non filtered copy of images -->
  +    <copy todir="${build.context}" filtering="off">
  +      <fileset dir="${documentation.source.dir}" casesensitive="no">
  +        <exclude name="**/*.x*"/>
  +      </fileset>
  +    </copy>
  +
  +    <!-- Copy entity catalog, entities and class files -->
  +    <copy todir="${build.context}/resources/schema" filtering="on">
  +      <fileset dir="${resource.dir}/schema"/>
  +    </copy>
  +    <mkdir dir="${build.context}/WEB-INF/classes"/>
  +    <move todir="${build.context}/WEB-INF/classes">
  +      <fileset dir="${build.context}/resources/schema">
  +        <include name="CatalogManager.properties"/>
  +      </fileset>
  +      <fileset dir="${build.dest}">
  +        <include name="**/*.class"/>
  +      </fileset>
  +      <fileset dir="${build.scratchpad.dest}">
  +        <include name="**/*.class"/>
  +      </fileset>
  +    </move>
  +
  +    <!-- Copy Cocoon configuration and sitemap -->
  +    <copy todir="${build.context}" filtering="on">
  +      <fileset dir="${documentation.context.dir}/conf">
  +        <include name="sitemap.xmap"/>
  +        <include name="cocoon.xconf"/>
  +      </fileset>
  +    </copy>
  +    <copy todir="${build.context}/WEB-INF/" filtering="on">
  +      <fileset dir="${documentation.context.dir}/conf">
  +        <exclude name="sitemap.xmap"/>
  +      </fileset>
  +    </copy>
  +
  +    <!-- Copy libraries -->
  +    <copy todir="${build.context}/library/" filtering="on">
  +      <fileset dir="${documentation.context.dir}/library">
  +
  +      </fileset>
  +    </copy>
  +
  +    <!-- Copy skins -->
  +    <copy todir="${build.context}/skins/" filtering="on">
  +      <fileset dir="${documentation.context.dir}/skins">
  +        <exclude name="**/images/**"/>
  +      </fileset>
  +    </copy>
  +    <copy todir="${build.context}/skins/" filtering="off">
  +      <fileset dir="${documentation.context.dir}/skins">
  +        <include name="**/images/**"/>
  +      </fileset>
  +    </copy>
  +
  +    <!-- Copy the project descriptors -->
  +    <copy todir="${build.context}" filtering="on">
  +      <fileset dir=".">
  +        <include name="*.*ml"/>
  +      </fileset>
  +    </copy>
  +
  +  </target>
  +
  +  <!-- =================================================================== -->
  +  <!-- Prepares the docs to create a .war                                  -->
  +  <!-- =================================================================== -->
  +  <target name="webapp" depends="init, prepare-docs">
  +    <delete file="${build.context}/cocoon.xconf"/>
  +    <war warfile="${build.dir}/${name}.war"
  +         webxml="${build.context}/WEB-INF/web.xml"
  +         compress="true">
  +
  +      <fileset dir="${build.context}">
  +        <exclude name="WEB-INF/web.xml"/>
  +      </fileset>
  +      <lib dir="lib/endorsed"/>
  +      <lib dir="lib/core"/>
  +      <lib dir="lib/optional"/>
  +      <lib dir="src/scratchpad/lib"/>
  +      <classes dir="${build.context}/WEB-INF/classes/"/>
  +
  +    </war>
  +
  +  </target>
  +
  +  <target name="cleandocs" depends="init" description="* Cleans the build docs directories">
  +    <delete dir="${build.docs}"/>
  +  </target>
  +
  +  <!-- =================================================================== -->
  +  <!-- Creates the API documentation                                       -->
  +  <!-- =================================================================== -->
  +  <target name="javadocs" 
  +      description="* Generates the API documentation">
  +    <mkdir dir="${build.javadocs}"/>
  +    <javadoc packagenames="${packages}"
  +             sourcepath="${build.src}"
  +             destdir="${build.javadocs}"
  +             author="true"
  +             version="true"
  +             use="false"
  +             noindex="true"
  +             windowtitle="${Name} API"
  +             doctitle="${Name}"
  +             bottom="Copyright &#169; ${year} ${fullname} project. All Rights Reserved."
  +             stylesheetfile="${resource.dir}/javadoc.css">
  +      <classpath refid="classpath"/>
  +    </javadoc>
  +  </target>
  +  
  +  <!-- =================================================================== -->
  +  <!-- Validate xml                                                        -->
  +  <!-- =================================================================== -->
  +  <target name="validate-docs" description="Checks that the xml files are valid and conform to the DTD.">
  +    <xmlvalidate failonerror="yes" lenient="yes" warn="yes"
  +       className="org.apache.xerces.parsers.SAXParser">
  +
  +       <classpath>
  +         <fileset dir="./lib/endorsed">
  +           <include name="*.jar"/>
  +         </fileset>
  +       </classpath>
  +
  +       <fileset dir="."
  +                includes="*.x*" excludes="build.xml"/>
  +
  +     </xmlvalidate>
  +  </target>
  +
  +
  +  <!-- =================================================================== -->
  +  <!-- The documentation system                                            -->
  +  <!-- =================================================================== -->
  +  <target name="docs"
  +          depends="cleandocs, owdocs"
  +          description="* Generates the documentation"/>
  +
  +  <!-- =================================================================== -->
  +  <!-- The documentation system                                            -->
  +  <!-- =================================================================== -->
  +  <target name="owdocs"
  +          depends="prepare-docs"
  +          description="* Generates the documentation">
  +
  +    <property name="dir.containing.docs" value="${build.context}"/>
  +
  +    <echo message="-------------------------------------------------------------"/>
  +    <echo message="  Building docs, please stand by ..."/>
  +
  +    <java classname="org.apache.cocoon.Main" fork="true" dir="${dir.containing.docs}" failonerror="true">
  +      <arg value="-c."/>
  +      <arg value="-d../docs"/>
  +      <arg value="-w../work"/>
  +      <arg value="-l../work/cocoon.log"/>
  +      <arg value="-u${centipede.tools.cents.forrest.loglevel}"/>
  +      <arg value="index.html"/>
  +      <classpath>
  +        <path refid="classpath"/>
  +        <fileset dir="${build.dir}">
  +          <include name="*.jar"/>
  +        </fileset>
  +        <fileset dir="${tools.dir}">
  +          <include name="*/lib/*.jar"/>
  +        </fileset>
  +        <pathelement location="${tools.jar}"/>
  +        <pathelement location="${build.context}/WEB-INF/classes"/>
  +      </classpath>
  +    </java>
  +
  +    <echo message="  ...docs generated successfully in ${build.docs}"/>
  +    <echo message="-------------------------------------------------------------"/>
  +
  +  </target>
  +
  +  <!-- =================================================================== -->
  +  <!-- Creates the web site                                                -->
  +  <!-- =================================================================== -->
  +  <target name="site" depends="docs, javadocs"
  +      description="Generates the web site (for site maintainers only)">
  +    <mkdir dir="${site}"/>
  +    <copy todir="${site}" filtering="off">
  +      <fileset dir="${build.docs}">
  +      </fileset>
  +    </copy>
  +    <copy todir="${site}/apidocs" filtering="off">
  +      <fileset dir="${build.javadocs}"/>
  +    </copy>    
  +  </target>
  +
  +
  +  <target name="getcvsmodule" depends="init">
  +
  +    <property name="getcvsmodule.work.dir" value="${build.dir}/work/forrest/cvsmodule" />
  +    <property name="getcvsmodule.package" value="xml-forrest" />
  +
  +    <delete dir="${getcvsmodule.work.dir}"/>
  +    <mkdir dir="${getcvsmodule.work.dir}"/>
  +
  +    <cvspass cvsroot=":pserver:anoncvs@jakarta.apache.org:/home/cvspublic"
  +            password="anoncvs"
  +     />
  +
  +    <cvs cvsRoot=":pserver:anoncvs@cvs.apache.org:/home/cvspublic"
  +         package="${getcvsmodule.package}"
  +         dest="${getcvsmodule.work.dir}"
  +    />
  +  </target>
  +
  +  <target name="deploy" unless="deploy.username, deploy.package-name
  +                                    deploy.data.dir, deploy.hostname, deploy.remotedir">
  +  <!--
  +    deploy.username
  +    deploy.package-name
  +    deploy.data.dir
  +    deploy.hostname
  +    deploy.remotedir
  +   -->
  +
  +    <property name="deploy.work.dir"  value="${build.dir}/work/forrest/deploy/${deploy.package-name}"/>
  +
  +    <delete dir="${deploy.work.dir}"/>
  +    <mkdir dir="${deploy.work.dir}"/>
  +
  +    <property name="deploy.tar.fullpath"
  +              value="${deploy.work.dir}/${deploy.package-name}-deploy"/>
  +
  +    <tar tarfile="${deploy.tar.fullpath}.tar" basedir="${deploy.data.dir}"/>
  +    <gzip zipfile="${deploy.tar.fullpath}.tar.gz" src="${deploy.tar.fullpath}.tar"/>
  +    <delete file="${deploy.tar.fullpath}.tar"/>
  +
  +    <exec dir="." executable="scp">
  +      <!--<arg value="-oProtocol=1"/>-->
  +      <arg value="${deploy.tar.fullpath}.tar.gz"/>
  +      <arg value="${deploy.username}@${deploy.hostname}:${deploy.remotedir}"/>
  +    </exec>
  +
  +    <exec dir="." executable="ssh">
  +      <arg line="-n ${deploy.hostname} -l ${deploy.username} 'cd ${deploy.remotedir};gunzip ${deploy.package-name}-deploy.tar.gz;tar xUvf ${deploy.package-name}-deploy.tar;chmod -R g+u *;rm ${deploy.package-name}-deploy.tar'"/>
  +    </exec>
  +
  +    <delete file="${deploy.tar.fullpath}.tar.gz"/>
  +
  +  </target>
  +
  +  <target name="sendlog" depends="init" if="sendlog.to">
  +
  +   <mail from="forrest-dev@xml.apache.org"
  +         tolist="${sendlog.to}"
  +         subject="[DO NOT REPLY] Building in the Forrest"
  +         files="forrestbot.log" />
  +
  +  </target>
  +
  +
  +  <target name="testpoi" depends="init, testpoicvs, testpoigen, testpoideploy"/>
  +
  +
  +  <target name="testpoicvs" depends="init">
  +
  +    <antcall target="getcvsmodule">
  +      <param name="getcvsmodule.package"  value="jakarta-poi"/>
  +      <param name="getcvsmodule.work.dir" value="${build.dir}/work/forrest/cvsmodule" />
  +    </antcall>
  +
  +  </target>
  +
  +  <target name="testpoigen" depends="init">
  +
  +    <antcall target="prepare-docs">
  +      <param name="documentation.source.dir"  value="${build.dir}/work/forrest/cvsmodule/jakarta-poi/src/documentation"/>
  +    </antcall>
  +
  +    <antcall target="owdocs"></antcall>
  +
  +  </target>
  +
  +  <target name="testpoideploy" depends="init">
  +
  +
  +    <antcall target="deploy">
  +      <param name="deploy.username"     value="forrestbot"/>
  +      <param name="deploy.package-name" value="jakarta-poi"/>
  +      <param name="deploy.data.dir"     value="${build.dir}/docs"/>
  +      <param name="deploy.hostname"     value="krysalis.sourceforge.net"/>
  +      <param name="deploy.remotedir"    value="/home/groups/k/kr/krysalis/htdocs/poi"/>
  +    </antcall>
  +
  +  </target>
  +  
  +
  +
  +   <target name="forrestbar" depends="init">
  +   
  +      <mkdir dir="${build.dir}" />
  +      <mkdir dir="${build.dir}/work/forrestbar" />
  +         
  +      <jar jarfile="${build.dir}/work/forrestbar/forrestbar.jar">
  +         <fileset dir="src/resources/forrestbar" includes="content/**/*" />
  +      </jar>
  +         
  +      <copy file="src/resources/forrestbar/install.js" todir="${build.dir}/work/forrestbar" overwrite="true" />
  +
  +      <zip zipfile="${build.dir}/forrestbar.xpi" basedir="${build.dir}/work/forrestbar" />
  +      
  +   </target>
  +  
  +
  +                      
  +  <!-- ================================== -->
  +  <!--        Target used by Gump         -->
  +  <!-- ================================== -->
  +  
  +  <target  name="gump" description="Target used by Gump">
  +           
  +      <antcall target="docs"/>
  +      <antcall target="webapp"/>
  +               
  +  </target>
  +
  +                      
  +  <!-- =================================================================== -->
  +  <!-- Import Ant-Centipede init targets - sets up basic build stuff                          -->
  +  <!-- =================================================================== -->
  +  <!--  
  +        This is the target that initializes tasks and properties used
  +        commonly in every other target.
  +        
  +        Remember to add depends="init" to every target, so that this
  +        target is called before any other.
  +                 
  +        This target is internal; to make it unusable from the commandline,
  +        its name starts with a hyphen. 
  +        To make it invisible when using -projecthelp, it lacks a description.
  +  -->      
   
  +    &import-antipede;
  +      
   </project>
  -
  -<!-- End of file -->
  
  
  
  1.2       +5 -10     xml-forrest/module.xml
  
  Index: module.xml
  ===================================================================
  RCS file: /home/cvs/xml-forrest/module.xml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- module.xml	4 Jul 2002 20:40:54 -0000	1.1
  +++ module.xml	7 Jul 2002 09:47:51 -0000	1.2
  @@ -44,29 +44,24 @@
           <depend project="xml-xerces"/>
           <depend project="xml-xalan2"/>
           <depend project="xml-cocoon2"/>
  -        <depend project="jtidy"/>
           <depend project="junit"/>
  -<!-- this causes Gump build to fail
  -    <depend project="IzPress"/>
  --->
   
       <!-- Project jars Forrest build can use  -->
       <!-- <option project="xxx"/> -->
   
       <!-- Work dirs to be included in classpath  -->
  -        <work nested="build/xml-forrest/classes"/>
  -        <work nested="build/xml-forrest/testcases"/>
  -        <work nested="tools/tmp/anttasks"/>
  -        <home nested="build/xml-forrest"/>
  +        <work nested="build/classes"/>
  +        <work nested="build/testcases"/>
  +        <home nested="build"/>
   
       <!-- jars - the result of the build  -->
  -        <jar id="poi" name="xml-forrest.jar"/>
  +        <jar id="xml-forrest" name="xml-forrest.jar"/>
           <jar id="scratchpad" name="xml-forrest-scratchpad.jar"/>
           <jar id="contrib" name="xml-forrest-contrib.jar"/>
           <jar id="examples" name="xml-forrest-examples.jar"/>
   
       <!-- Javadocs - location in the build dirs  -->
  -        <javadoc parent="build/xml-forrest/javadocs"/>
  +    <!--    <javadoc parent="build/javadocs"/>   -->
   
       <!-- Getting ready for automatic site updates
       <deliver fromdir="build/xml-forrest/docs"
  
  
  
  1.1                  xml-forrest/index.html
  
  Index: index.html
  ===================================================================
  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  <html>
  <head>
    <title>Krysalis Centipede</title>
                   
    <style type="text/css">
  
  
  
  body                    { color: #000000;
  
                            background-color: #ffffff; }
  
  
  
  a:active                { color: #ff0000; }
  
  a:visited               { color: #551a8b; }
  
  a:link                  { color: #0000bb; }
  
  a.title { font-weight: bold; font-size: 110%; }
  
  
  
  h1, h2, h3, h4, h5, h6  { font-family: avantgarde, sans-serif;
  
                            font-weight: bold }
  
  h1                      { font-size: 180% }
  
  h2                      { font-size: 150% }
  
  h3, h4                  { font-size: 120% }
  
  
  
        ul { margin-left: 1em; padding: 0pt; border: 0pt; }
  
      </style>
  </head>
    <body>
    	 
  <table align="center" height="40" width="100%" cellpadding="0"
   cellspacing="2">
    	<tbody>
       <tr>
    	  <td><img src="src/documentation/resources/images/group-logo.gif"
   alt="xml-apache" style="width: 220px; height: 65px;">
         </td>
   	 	  <td align="center" width="100%">
        <h1>        </h1>
        <h1>Apache Forrest</h1>
        <h1>      </h1>
        </td>
    	  <td><img src="src/documentation/resources/images/project-logo.gif"
   alt="forrest" style="width: 220px; height: 65px;">
         </td>
   		     	</tr>
    	   
    </tbody> 
  </table>
                                      
  <table cellpadding="2" cellspacing="2" border="1"
   style="text-align: left;" width="100%">
    <tbody>
      <tr>
        <td valign="top">
        <table align="center">
          <tbody>
            <tr>
              <td> 	         
              <ul>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/status.xml"
   class="title">status.xml</a> 	      <br br="br">
   (status of the project and community)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/module.xml"
   class="title">module.xml</a> 	      <br br="br">
   (extended Gump descriptor of the software module)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/build.xml"
   class="title">build.xml</a> 	      <br br="br">
   (main build file)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/layout.xml"
   class="title">layout.xml</a> 	      <br br="br">
   (layout of the project directories)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/properties.xml"
   class="title">properties.xml</a> 	      <br br="br">
   (properties used for building the project)</li>
              </ul>
    	  </td>
              <td valign="top"> 
              <ul>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/build/docs/index.html"
   class="title">Documentation</a>  	      <br br="br">
   (run "build docs" first)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/build/docs/javadocs/index.html"
   class="title">Javadocs</a>  	      <br br="br">
   (run "build javadocs" first)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/build/docs/tests/junit/index.html"
   class="title">Unit test results</a> 	      <br br="br">
   (run "build test" first)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/build/docs/metrics/jdepend/index.html"
   class="title">Code metrics</a> 	      <br br="br">
   (run "build metrics" first)</li>
                <li> <a
   href="file:///C:/jbprojects/xml-apache/xml-forrest/build.number"
   class="title">Local build number</a> 	      <br br="br">
   (how many builds have been done locally)</li>
              </ul>
   </td>
   <td>                              
              <ul>
                <li> <a href="http://www.krysalis.org/centipede/"
   class="title">Project Site</a>               <br br="br">
   (online)</li>
                <li> <a href="http://www.krysalis.org/centipede/"
   class="title">Krysalis Centipede build system site</a>               <br
   br="br">
   (online)</li>
              </ul>
              </td>
            </tr>
          </tbody>
        </table>
        <br>
        </td>
      </tr>
    </tbody>
  </table>
  <br>
  <h3>&nbsp; What is this?</h3>
  &nbsp; Forrest provides a sound technological infrastructure for open software<br>
  &nbsp; development for the Apache Software Foundation based on ASF software,<br>
  &nbsp; ASF practices and experience, and modern software design principles.<br>
  &nbsp; <br>
  &nbsp; 
  <h3>&nbsp; Why?</h3>
  &nbsp; If you ever participated in ASF open development you know why: there
  is always<br>
  &nbsp; the feeling that you are left on your own, that each project, effort,
  <br>
  &nbsp; community mail list and invidual has to struggle to keep up with the
  others <br>
  &nbsp; and to keep coherence.<br>
  &nbsp; <br>
  &nbsp; This effort was started by those who believe that a better and more
  coherent<br>
  &nbsp; technical infrastructure is a first step in the right direction.<br>
  &nbsp; <br>
  &nbsp; <br>
  <h3>&nbsp; Ok, better infrastructure, what what do you mean exactly?</h3>
  &nbsp; Ever seen 'sourceforge'? ok, than you know what a technological <br>
  &nbsp; insfrastructure for open development is. Ever seen Mozilla's 'tinkerbox'
  and <br>
  &nbsp; 'bonsai'? ok, then you know what we mean for 'helping tools'.<br>
  &nbsp; <br>
  &nbsp; Take all the wishes/dreams that you ever had when you were participating
  in<br>
  &nbsp; an OSS community... well, we want Forrest to make them possible.<br>
  &nbsp; <br>
  <br>
  <h3>&nbsp; Why the name 'Forrest'?</h3>
  &nbsp; Oh, long story, but mainly out of the movie 'Forrest Gump', mostly<br>
  &nbsp; to indicate that even dumb and simple things can go a long way when
  done <br>
  &nbsp; by heart.&nbsp; <br>
  <br>
  <br>
  <h3>&nbsp; What will Forrest do?</h3>
  &nbsp; The first development phase will bring:<br>
  &nbsp; <br>
  &nbsp;&nbsp; - a publishing system for documentation<br>
  &nbsp;&nbsp; - analysis of logs and publishing of results<br>
  &nbsp;&nbsp; <br>
  &nbsp; Later phases will be decided after we reach this minimum functionality.<br>
  <br>
  &nbsp;<br>
  <h3>&nbsp; Will I be able to use Forrest on my own sites?</h3>
  &nbsp; We do Forrest for our own stuff, but there is no reason why we should<br>
  &nbsp; restrict its use on external and unreleated sites.<br>
  &nbsp; <br>
  &nbsp; <br>
  <h3>&nbsp; What will the license be?</h3>
  &nbsp; The entire thing will be licensed with the Apache License. See the
  /legal<br>
  &nbsp; directory for more information.<br>
  &nbsp; <br>
  <br>
  <h3>&nbsp; Getting started</h3>
  &nbsp; After you have downloaded the xml-forrest source, you can build the
  main<br>
  &nbsp; Forrest documentation ...<br>
  &nbsp; <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; UNIX:&nbsp;&nbsp;&nbsp;&nbsp;
  ./build.sh docs <br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Windows:&nbsp; build docs<br>
  &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>
  &nbsp; The HTML documents are then generated in ./build/xml-forrest/docs/<br>
  <br>
  &nbsp; <br>
  <h3>&nbsp; Can I help?</h3>
  &nbsp; Of course! We need you! Even your wish-list is a good way of contributing...<br>
  &nbsp; so please, send email to <br>
  &nbsp; <br>
  &nbsp;&nbsp;&nbsp; forrest-dev-subscribe@xml.apache.org<br>
  &nbsp;&nbsp;&nbsp; <br>
  &nbsp; and join us!<br>
  <br>
  <br style="font-weight: bold;">
  <span style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  The Apache XML Project</span><br style="font-weight: bold;">
  <span style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  http://xml.apache.org/</span><br>
  <br>
  <br>
  <br>
              
  <address>       </address>
   
  <hr hr="hr">        Copyright &copy;2002 Apache Software Foundation. All Rights
  Reserved.         <br>
   <br>
  </body>
  </html>
  
  
  
  1.1                  xml-forrest/layout.xml
  
  Index: layout.xml
  ===================================================================
  <?xml version="1.0"?>
  <?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/layout.xsl"?>
  <layout dir=".">
     <legal dir="./legal" />
     <library dir="./lib">
        <endorsed dir="./lib/endorsed" />
        <core dir="./lib/core" />
        <optional dir="./lib/optional" />
     </library>
     <source dir="./src">
        <targets dir="./src/targets" />
        <java dir="./src/java" />
        <test dir="./src/testcases" />
        <documentation dir="./src/documentation">
           <content dir="./src/documentation/xdocs">
              <xdocs dir="./src/documentation/xdocs" />
           </content>
           <resources dir="./src/documentation/images">
              <images dir="./src/documentation/images" />
           </resources>
        </documentation>
        <scratchpad dir="./src/scratchpad">
           <targets dir="./src/scratchpad/targets" />
           <java dir="./src/scratchpad/src" />
           <library dir="./src/scratchpad/lib" />
        </scratchpad>
        <contributions dir="./src/contrib">
           <targets dir="./src/contrib/targets" />
           <java dir="./src/contrib/src" />
           <library dir="./src/contrib/lib" />
        </contributions>
        <examples dir="./src/examples">
           <targets dir="./src/examples/targets" />
           <java dir="./src/examples/src" />
           <library dir="./src/examples/lib" />
        </examples>
        <resources dir="./src/resources"/>
     </source>
     <build dir="./build">
        <java dir="./build/java" />
        <classes dir="./build/classes" />
        <test dir="./build/testcases" />
        <work dir="./build/work" />
        <documentation dir="./build/docs">
           <javadocs dir="./build/docs/javadocs" />
           <test dir="./build/docs/tests" />
           <metrics dir="./build/docs/metrics" />
        </documentation>
        <scratchpad dir="./build/scratchpad">
           <java dir="./build/scratchpad/java" />
           <classes dir="./build/scratchpad/classes" />
           <library dir="./build/scratchpad/lib" />
        </scratchpad>
        <contributions dir="./build/contrib">
           <java dir="./build/contrib/java" />
           <classes dir="./build/contrib/classes" />
           <library dir="./build/contrib/lib" />
        </contributions>
        <examples dir="./build/examples">
           <java dir="./build/examples/java" />
           <classes dir="./build/examples/classes" />
           <library dir="./build/examples/lib" />
        </examples>
     </build>
     <distributions dir="./dist">
        <source dir="./dist/src" />
        <bin dir="./dist/bin">
           <library dir="./dist/bin/lib">
              <core dir="./dist/bin/lib" />
              <optional dir="./dist/bin/lib/optional" />
           </library>
           <documentation dir="./dist/bin/build/docs" />
           <info dir="./dist/bin" />
           <build dir="./dist/bin/build" />
           <legal dir="./dist/bin/legal" />
        </bin>
     </distributions>
  </layout>
  
  
  
  
  1.1                  xml-forrest/properties.xml
  
  Index: properties.xml
  ===================================================================
  <?xml version="1.0"?>
  <?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/properties.xsl"?>
  <!-- Build properties - these override any property specified in the build -->
  <properties>
  
     <!-- Properties of the build -->
     <build>
        <!-- What to tell the compiler -->
        <compiler
         emacs="on"
         warnings="true"
         pedantic="false"
         depend="true"
         fulldepend="true"
         debug="on"
         optimize="off"
         deprecation="on"
         nowarn="off"
         type="classic"
         vm="1.2" />
     </build>
  
     <centipede>
        <tools>
           <cents repository="http://krysalis.org/jjar/">
              <!-- not currently used but working
                   <antidote version="latest"/>   
                   <xmldoclet version="latest"/>
                   <maven version="latest"/>            -->      
              <centipede version="dev">
               <!-- example: -->
               <!-- <javadocs group="POIFS org.apache.poi.poifs*,HSSF org.apache.poi.hssf*,HPSF org.apache.poi.hpsf*,"> -->
                <javadocs group="">
                  <altenative views="uml">
                    <uml prefix="uml-" suffix="" extension="html"/>
                  </altenative>
                </javadocs>
              </centipede>
              <!-- <junit version="dev"/> -->
              <!-- <automagic version="dev"/> -->
              <!-- <jdepend version="dev"/>
              <checkstyle version="dev"/>
              <javasrc version="dev"/>
              <umldoclet version="dev"/> -->
              <!--
              <forrest version="dev">
                <loglevel>WARN</loglevel> -->
                <!-- builtin available skins:
  
                     basic
                     jakarta-site
                     avalon-site
                     scarab-site
                     xml-apache-site
                     forrest-site  (Work In Progress)
  
                     You can also use your own skin by putting it in src/documentation/override/skins.
                     It will be see by Forrest as any other skin.
                 -->
                <!-- <skin
                  name="krysalis-site">
                    <navlinks>
                       <link1
                        href="http://www.sf.net/">sourceforge</link1>
  
                       <link2
                        href="http://www.krysalis.org/">krysalis</link2>
  
                       <link3
                        href="http://www.krysalis.org/centipede/">centipede</link3>
                    </navlinks>
  
                    <logo>
                       <group
                        src="images/group-logo.gif"
                        href="http://www.krysalis.org" />
  
                       <project
                        src="images/project-logo.gif"
                        href="http://www.krysalis.org/centipede/" />
                    </logo>
                 </skin>
              </forrest>
               -->
           </cents>
        </tools>
     </centipede>
  </properties>