<project name="Slide" default="all" basedir=".">
    <!-- =================================================================== -->
    <!-- Load build.properties                                               -->
    <!-- =================================================================== -->
    <property file="build.properties"/>
    <property file="${user.home}/build.properties"/>
    <!-- =================================================================== -->
    <!-- Compiler Options                                                    -->
    <!-- =================================================================== -->
    <!-- Should Java compilations set the 'debug' compiler option? -->
    <property name="compile.debug" value="true"/>
    <!-- Should Java compilations set the 'deprecation' compiler option? -->
    <property name="compile.deprecation" value="true"/>
    <!-- Should Java compilations set the 'optimize' compiler option? -->
    <property name="compile.optimize" value="true"/>
    <!-- Target VM -->
    <property name="compile.target" value="1.3"/>
    <!-- Source compatibility -->
    <property name="compile.source" value="1.3"/>
    <!-- =================================================================== -->
    <!-- Project Properties                                                  -->
    <!-- =================================================================== -->
    <property name="name" value="Jakarta-Slide"/>
    <property name="year" value="2004"/>
    <property name="version" value="2.2pre1"/>
    <property name="release-notes" value="RELEASE-NOTES-2.2"/>
    <property name="project" value="jakarta-slide"/>
    <property name="final.name" value="${project}-server-bin-${version}"/>
    <property name="final-src.name" value="${project}-server-src-${version}"/>
    <property name="testsuite.name" value="${project}-webdav-testsuite-${version}"/>
    <!-- =================================================================== -->
    <!-- Dependencies Properties                                             -->
    <!-- =================================================================== -->
    <property name="lib.dir" value="./lib"/>
    <property name="servlet.jar" value="${lib.dir}/servlet-2.3.jar"/>
    <property name="jdom.jar" value="${lib.dir}/jdom-1.0.jar"/>
    <property name="saxpath.jar" value="${lib.dir}/saxpath.jar"/>
    <property name="jaxen-core.jar" value="${lib.dir}/jaxen-core.jar"/>
    <property name="jaxen-jdom.jar" value="${lib.dir}/jaxen-jdom.jar"/>
    <property name="jta.jar" value="${lib.dir}/geronimo-jta.jar"/>
    <property name="log4j.jar" value="${lib.dir}/log4j-1.2.8.jar"/>
    <property name="commons-httpclient.jar" value="${lib.dir}/commons-httpclient.jar"/>
    <property name="commons-dbcp.jar" value="${lib.dir}/commons-dbcp-1.2.1.jar"/>
    <property name="commons-pool.jar" value="${lib.dir}/commons-pool-1.1.jar"/>
    <property name="commons-collections.jar" value="${lib.dir}/commons-collections-2.1.jar"/>
    <property name="commons-logging.jar" value="${lib.dir}/commons-logging-1.0.4.jar"/>
    <property name="commons-lang.jar" value="${lib.dir}/commons-lang-2.0.jar"/>
    <property name="lucene.jar" value="${lib.dir}/lucene-1.4-final.jar"/>
    <property name="poi.jar" value="${lib.dir}/poi-2.5-final-20040428.jar"/>
    <property name="pdfbox.jar" value="${lib.dir}/PDFBox-0.6.5.jar"/>
    <property name="tm-extractors.jar" value="${lib.dir}/tm-extractors-0.4.jar"/>
    <property name="ehcache.jar" value="${lib.dir}/ehcache-1.0.jar"/>
    <property name="commons-xmlio.jar" value="${lib.dir}/commons-xmlio-0.1pre.jar"/>
    <property name="commons-transaction.jar" value="${lib.dir}/commons-transaction-1.1.1pre1.jar"/>
    <property name="commons-codec.jar" value="${lib.dir}/commons-codec-1.3.jar"/>
    <property name="jakarta-slide-webdavlib.jar" value="${lib.dir}/jakarta-slide-webdavlib-${version}.jar"/>
    <property name="db-ojb.jar" value="${lib.dir}/db-ojb-1.0.1.jar"/>
    <property name="xdoclet.jar" value="${lib.dir}/xdoclet-1.2.1.jar"/>
    <property name="xjavadoc.jar" value="${lib.dir}/xjavadoc-1.0.3.jar"/>
    <property name="xdoclet-ojb-module.jar" value="${lib.dir}/xdoclet-ojb-module-1.2.2.jar"/>
    <property name="velocity.jar" value="${lib.dir}/velocity-1.3.1.jar"/>
    <!-- =================================================================== -->
    <!-- Produced jars Properties                                            -->
    <!-- =================================================================== -->
    <property name="slide-kernel.jar" value="slide-kernel-${version}.jar"/>
    <property name="slide-kernel-bundle.jar" value="slide-kernel-bundle-${version}.jar"/>
    <property name="slide-stores.jar" value="slide-stores-${version}.jar"/>
    <property name="slide-roles.jar" value="slide-roles-${version}.jar"/>
    <property name="slide-webdavservlet.jar" value="slide-webdavservlet-${version}.jar"/>
    <property name="slide-catalinawrapper.jar" value="slide-catalinawrapper-${version}.jar"/>
    <property name="slide-log4jwrapper.jar" value="slide-log4jwrapper-${version}.jar"/>
    <property name="slide-jdk14logger.jar" value="slide-jdk14logger-${version}.jar"/>
    <property name="slide-log4jlogger.jar" value="slide-log4jlogger-${version}.jar"/>
    <property name="slide-jaas.jar" value="slide-jaas-${version}.jar"/>
    <!-- =================================================================== -->
    <!-- Build Properties                                                    -->
    <!-- =================================================================== -->
    <property name="slide.build" value="./build"/>
    <property name="slide.dist" value="./dist"/>
    <property name="slide.clientlib.dist" value="webdavclient/${slide.dist}"/>
    <property name="testsuite.dist" value="${slide.dist}/webdav-testsuite"/>
    <property name="webapp.dist" value="${slide.dist}/slide/webapp"/>
    <property name="slide.archive" value="./${final.name}"/>
    <property name="slide-src.archive" value="./${final-src.name}"/>
    <property name="testsuite.archive" value="./${testsuite.name}"/>
    <!-- =================================================================== -->
    <!-- Overridden when authentication is                                   -->
    <!-- =================================================================== -->
    <property name="authenticate" value="!--"/>
    <!-- =================================================================== -->
    <!-- OJB Store Properties                                                -->
    <!-- =================================================================== -->
    <property name="table.prefix" value="SLIDE_"/>
    <property name="ojb.databases" value="mysql,mysql41,postgresql,oracle"/>
    <property name="ojb.platform" value="Hsqldb"/>
    <property name="ojb.jdbc-level" value="2.0"/>
    <property name="ojb.driver" value="org.hsqldb.jdbcDriver"/>
    <property name="ojb.protocol" value="jdbc"/>
    <property name="ojb.subprotocol" value="hsqldb"/>
    <property name="ojb.dbalias" value="slide"/>
    <property name="ojb.username" value="sa"/>
    <property name="ojb.password" value=""/>
    <!-- =================================================================== -->
    <!-- Patterns                                                            -->
    <!-- =================================================================== -->
    <!-- patternset describing files to be copied from the doc directory -->
    <patternset id="patternset-doc"/>
    <!-- patternset describing test classes -->
    <patternset id="patternset-test-classes">
        <include name="**/Test*.class"/>
    </patternset>
    <!-- patternset describing non test classes -->
    <patternset id="patternset-non-test-classes">
        <include name="**/*.class"/>
        <exclude name="**/Test*.class"/>
    </patternset>
    <!-- patternset describing non test source files (*.java, *html, etc.) -->
    <patternset id="patternset-javadocable-sources">
        <include name="**/*"/>
        <exclude name="**/Test*.java"/>
    </patternset>
    <!-- =================================================================== -->
    <!-- Classpaths                                                          -->
    <!-- =================================================================== -->
    <path id="util.classpath">
        <pathelement location="${jaxp.jar}"/>
        <pathelement location="${xmlapi.jar}"/>
    </path>
    <path id="main.classpath">
        <pathelement location="${xmlapi.jar}"/>
        <pathelement location="${jaxp.jar}"/>
        <pathelement location="${jta.jar}"/>
        <pathelement location="${jdom.jar}"/>
        <pathelement location="${jaxen-jdom.jar}"/>
        <pathelement location="${jaxen-core.jar}"/>
        <pathelement location="${saxpath.jar}"/>
        <pathelement location="${commons-collections.jar}"/>
        <pathelement location="${poi.jar}"/>
        <pathelement location="${pdfbox.jar}"/>
        <pathelement location="${tm-extractors.jar}"/>
        <pathelement location="${ehcache.jar}"/>
        <pathelement location="${commons-transaction.jar}"/>
        <pathelement location="${commons-codec.jar}"/>
        <pathelement location="${commons-httpclient.jar}"/>
        <pathelement location="${jakarta-slide-webdavlib.jar}"/>
    </path>
    <path id="stores.classpath">
        <pathelement location="${xmlapi.jar}"/>
        <pathelement location="${jaxp.jar}"/>
        <pathelement location="${jta.jar}"/>
        <pathelement location="${jdom.jar}"/>
        <pathelement location="${slide.build}/classes"/>
        <pathelement location="${commons-dbcp.jar}"/>
        <pathelement location="${commons-pool.jar}"/>
        <pathelement location="${lucene.jar}"/>
        <pathelement location="${ehcache.jar}"/>
        <pathelement location="${commons-transaction.jar}"/>
        <pathelement location="${commons-logging.jar}"/>
        <pathelement location="${commons-codec.jar}"/>
        <pathelement location="${commons-lang.jar}"/>
        <pathelement location="${db-ojb.jar}"/>
    </path>
    <path id="wrappers.classpath">
        <pathelement location="${slide.build}/classes"/>
        <pathelement location="${log4j.jar}"/>
        <pathelement location="${catalina.jar}"/>
        <pathelement location="${jmx.jar}"/>
        <pathelement location="${jta.jar}"/>
    </path>
    <path id="webdavservlet.classpath">
        <pathelement location="${xmlapi.jar}"/>
        <pathelement location="${jaxp.jar}"/>
        <pathelement location="${servlet.jar}"/>
        <pathelement location="${jdom.jar}"/>
        <pathelement location="${jta.jar}"/>
        <pathelement location="${commons-httpclient.jar}"/>
        <pathelement location="${slide.build}/classes"/>
        <pathelement location="${ehcache.jar}"/>
        <pathelement location="${commons-transaction.jar}"/>
        <pathelement location="${commons-xmlio.jar}"/>
        <pathelement location="${commons-codec.jar}"/>
        <pathelement location="${commons-collections.jar}"/>
    </path>
    <path id="ojbdoclet.classpath">
        <pathelement location="${db-ojb.jar}"/>
        <pathelement location="${commons-collections.jar}"/>
        <pathelement location="${commons-logging.jar}"/>
        <pathelement location="${xdoclet.jar}"/>
        <pathelement location="${xjavadoc.jar}"/>
        <pathelement location="${xdoclet-ojb-module.jar}"/>
    </path>
    <path id="ojbsql.classpath">
        <pathelement location="${slide.build}/classes"/>
        <pathelement location="${jdom.jar}"/>
        <pathelement location="${velocity.jar}"/>
        <pathelement location="${commons-collections.jar}"/>
        <pathelement location="src/conf/ojb/templates"/>
    </path>
    <!-- =================================================================== -->
    <!-- Detect                                                              -->
    <!-- =================================================================== -->
    <target name="detect" depends="detect.display,detect.fail" 
      description="Display configuration and conditional compilation flags">
    </target>
    <target name="detect.display">
        <available property="jaxp.present" classname="javax.xml.transform.TransformerFactory" classpath="${jaxp.jar}"/>
        <available property="dom.present" classname="org.w3c.dom.Document" classpath="${xmlapi.jar}"/>
        <available property="sax.present" classname="org.xml.sax.helpers.DefaultHandler" classpath="${xmlapi.jar}"/>
        <available property="catalina.present" classname="org.apache.catalina.User" classpath="${catalina.jar}"/>
        <condition property="jvm14.present">
        	<or>
            	<equals arg1="${ant.java.version}" arg2="1.4"/>
            	<equals arg1="${ant.java.version}" arg2="1.5"/>
        	</or>
        </condition>
        <echo message="+-------------------------------------------------------"/>
        <echo message="| Build environment for ${name} ${version}"/>
        <echo message="| "/>
        <echo message="| Note: "/>
        <echo message="|   If ${property.name} is displayed for a library "/>
        <echo message="|   instead of 'true', that library is not present."/>
        <echo message="+-------------------------------------------------------"/>
        <echo message=""/>
        <echo message="Environment:"/>
        <echo message="  Java home                     ${java.home}"/>
        <echo message="  Java version                  ${ant.java.version}"/>
        <echo message=""/>
        <echo message="Build options:"/>
        <echo message="  Generate debugging info       ${compile.debug}"/>
        <echo message="  Display deprecation info      ${compile.deprecation}"/>
        <echo message="  Optimize                      ${compile.optimize}"/>
        <echo message="  Target                        ${compile.target}"/>
        <echo message="  Source                        ${compile.source}"/>
        <echo message="  Build directory               ${slide.build}"/>
        <echo message="  Distribution directory        ${slide.dist}"/>
        <echo message="  Distribution archive name     ${slide.archive}"/>
        <echo message=""/>
        <echo message="Libraries:"/>
        <echo message="  JAXP (1.1 or later)           ${jaxp.present}"/>
        <echo message="  XML DOM Level 2 API           ${dom.present}"/>
        <echo message="  XML SAX 2 API                 ${sax.present}"/>
        <echo message=""/>
        <echo message="Optional Tomcat bundle:"/>
        <echo message="  Tomcat (4.1.x or 5.0.x)       ${catalina.dist}"/>
        <echo message="  Present                       ${catalina.present}"/>
        <echo message=""/>
        <condition property="required.present">
            <and>
                <equals arg1="${jaxp.present}" arg2="true"/>
                <equals arg1="${dom.present}" arg2="true"/>
                <equals arg1="${sax.present}" arg2="true"/>
            </and>
        </condition>
    </target>
    <target name="detect.fail" unless="required.present">
        <fail message="Failed dependancy">
      One or more required libraries could not be found.
      Please check your build.propertes file.
    </fail>
    </target>
    <!-- =================================================================== -->
    <!-- Prepare                                                             -->
    <!-- =================================================================== -->
    <target name="prepare" depends="detect">
        <mkdir dir="${slide.build}"/>
        <mkdir dir="${slide.build}/classes"/>
        <mkdir dir="${slide.build}/lib"/>
        <mkdir dir="${slide.build}/doc"/>
        <mkdir dir="${slide.build}/doc/schema"/>
        <mkdir dir="${slide.build}/doc/samples"/>
        <mkdir dir="${slide.build}/doc/javadoc"/>
        <mkdir dir="${slide.build}/ojb"/>
    </target>
    <!-- =================================================================== -->
    <!-- Build All : Main, Doc and JavaDoc                                   -->
    <!-- =================================================================== -->
    <target name="all" depends="clean,dist" description="Delete previous build and make core components distribution"/>
    <!-- =================================================================== -->
    <!-- Build Slide                                                         -->
    <!-- =================================================================== -->
    <target name="main" description="Builds Slide's Core">
       <copy todir="${slide.build}/classes">
            <fileset dir=".">
                <include name="LICENSE"/>
                <include name="NOTICE"/>
            </fileset>
        </copy>
        <echo message="Building Slide Core API"/>
        <javac srcdir="src/share" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" excludes="**/CVS/**,**/webdav/**,**/manager/**,**/package.html" target="${compile.target}" source="${compile.source}">
            <classpath refid="main.classpath"/>
            <exclude name="**/Slide.java" unless="jmx.present"/>
            <exclude name="**/SlideMBean.java" unless="jmx.present"/>
        </javac>
        <copy todir="${slide.build}/classes">
            <fileset dir="src/share">
                <include name="**/*.properties"/>
                <exclude name="**/slide.properties"/>
            </fileset>
        </copy>
        <copy todir="${slide.build}/lib">
            <fileset dir="lib">
                <include name="**/**"/>
            </fileset>
        </copy>
        <echo message="Building Slide WebDAV Servlet"/>
        <javac srcdir="src/webdav/server" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" includes="**/webdav/**" excludes="**/CVS/**,**/package.html" target="${compile.target}" source="${compile.source}">
            <classpath refid="webdavservlet.classpath"/>
        </javac>
        <copy todir="${slide.build}/classes">
            <fileset dir="src/webdav/server">
                <include name="**/*.properties"/>
                <include name="**/*.xml"/>
            </fileset>
        </copy>
        <echo message="Building Standard Stores"/>
        <javac srcdir="src/stores" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" excludes="**/CVS/**,**/package.html,**/*Test*,**/ojb/tools/*" target="${compile.target}" source="${compile.source}">
            <classpath refid="stores.classpath"/>
        </javac>
        <copy todir="${slide.build}/classes">
          <fileset dir="src/stores">
            <include name="**/*.xml"/>
          </fileset>
        </copy>
        <echo message="Building Default Roles"/>
        <javac srcdir="src/roles" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" excludes="**/CVS/**,**/package.html" target="${compile.target}" source="${compile.source}">
            <classpath refid="stores.classpath"/>
        </javac>
        <echo message="Building JAAS LoginModule"/>
        <javac srcdir="src/jaas" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" target="${compile.target}" source="${compile.source}">
            <classpath refid="main.classpath"/>
        </javac>
    </target>
    <!-- =================================================================== -->
    <!-- Build Log4j related components                                      -->
    <!-- This target requires Log4j                                          -->
    <!-- =================================================================== -->
    <target name="log4j-logger" depends="main">
        <javac srcdir="src/wrappers" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" includes="**/log4j/**" excludes="**/CVS/**" target="${compile.target}" source="${compile.source}">
            <classpath refid="wrappers.classpath"/>
        </javac>
        <copy file="src/etc/MANIFEST.MF" tofile="${slide.build}/classes/MANIFEST.MF"/>
        <replace file="${slide.build}/classes/MANIFEST.MF" token="$$VERSION$$" value="${version}"/>
        <jar jarfile="${slide.dist}/slide/lib/${slide-log4jlogger.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,**/log4j/**"/>
    </target>
    <!-- =================================================================== -->
    <!-- Build JDK1.4 logging related components                             -->
    <!-- This target requires JDK1.4                                         -->
    <!-- =================================================================== -->
    <target name="jdk14-logging" depends="main" if="jvm14.present">
        <javac srcdir="src/jdk14" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" includes="**" excludes="**/CVS/**" target="${compile.target}" source="${compile.source}">
            <classpath refid="wrappers.classpath"/>
        </javac>
        <copy file="src/etc/MANIFEST.MF" tofile="${slide.build}/classes/MANIFEST.MF"/>
        <replace file="${slide.build}/classes/MANIFEST.MF" token="$$VERSION$$" value="${version}"/>
        <jar jarfile="${slide.dist}/slide/lib/${slide-jdk14logger.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,**/jdk14/**"/>
    </target>
    <!-- ================================================================== -->
    <!-- Generates XML descriptors for OJB from sources and file templates  -->
    <!-- ================================================================== -->
    <target name="ojb-xml"
            description="Generate XML descriptors for OJB from sources and templates">
        <taskdef name="ojbdoclet"
                 classname="xdoclet.modules.ojb.OjbDocletTask"
                 classpathref="ojbdoclet.classpath"/>
        <copy todir="${slide.build}/ojb">
          <fileset dir="src/conf/ojb">
            <include name="ojbcore-schema.xml"/>
            <include name="repository_database.xml"/>
            <include name="repository_internal.xml"/>
            <include name="database_3_0_1.dtd"/>
          </fileset>
          <filterset>
            <filter token="DATABASE_DEFAULT" value="slide"/>
            <filter token="PREFIX" value="${table.prefix}"/>
            <filter token="DBMS_NAME" value="${ojb.platform}"/>
            <filter token="JDBC_LEVEL" value="${ojb.jdbc-level}"/>
            <filter token="DRIVER_NAME" value="${ojb.driver}"/>
            <filter token="URL_PROTOCOL" value="${ojb.protocol}"/>
            <filter token="URL_SUBPROTOCOL" value="${ojb.subprotocol}"/>
            <filter token="URL_DBALIAS" value="${ojb.dbalias}"/>
            <filter token="USER_NAME" value="${ojb.username}"/>
            <filter token="USER_PASSWD" value="${ojb.password}"/>
          </filterset>
        </copy>
        <ojbdoclet destdir="${slide.build}/ojb">
            <fileset dir="src/stores">
               <include name="**/*Peer.java"/>
            </fileset>
            <ojbrepository destinationFile="repository_user.xml"/>
            <torqueschema databaseName="slide"
                          dtdUrl="database_3_0_1.dtd"
                          destinationFile="slide-schema.xml"/>
        </ojbdoclet>
    </target>
    <!-- =================================================================== -->
    <!-- Generate SQL for OJB Slide database                                 -->
    <!-- =================================================================== -->
    <target name="ojb-sql" depends="ojb-xml,ojb-tools">
        <taskdef name="sqlgen"
                 classname="org.apache.slide.store.ojb.tools.DDLGeneratorTask"
                 classpathref="ojbsql.classpath"/>
        <sqlgen schema="${slide.build}/ojb/ojbcore-schema.xml,${slide.build}/ojb/slide-schema.xml"
                targetDatabases="${ojb.databases}"
                outputPattern="${slide.build}/ojb/slide-schema-%{database}.sql"/>
    </target>
    <target name="ojb-tools">
        <javac srcdir="src/stores" 
               destdir="${slide.build}/classes" 
               debug="${compile.debug}" 
               deprecation="${compile.deprecation}" 
               optimize="${compile.optimize}" 
               includes="**/ojb/tools/*.java" 
               target="${compile.target}" source="${compile.source}"
               classpathref="ojbsql.classpath"/>
    </target>
    <!-- =================================================================== -->
    <!-- Build documentation                                                 -->
    <!-- =================================================================== -->
    <target name="doc" depends="prepare" description="Generate documentation/website">
        <style basedir="src/doc" destdir="${slide.build}/doc" extension=".html" style="src/doc/stylesheets/slide.xsl" includes="*.xml"/>
        <copy todir="${slide.build}/doc">
            <fileset dir="src/doc">
                <include name="**/*.gif"/>
                <include name="**/*.jpg"/>
                <include name="**/*.png"/>
                <include name="**/*.css"/>
                <include name="**/*.sample"/>
            </fileset>
        </copy>
        <copy todir="${slide.build}/doc/schema">
            <fileset dir="src/schema">
                <include name="**/*.xsd"/>
                <include name="**/*.dtd"/>
            </fileset>
        </copy>
    </target>
    <!-- =================================================================== -->
    <!-- Javadoc of the WebDAV Server                                        -->
    <!-- =================================================================== -->
    <target name="webdav-server-javadoc" unless="skip.javadoc">
        <copy todir="${slide.build}/src/webdav/server">
            <fileset dir="${slide.build}/doc/serverjavadoc"/>
            <fileset dir="src/webdav/server">
                <include name="**/webdav/**"/>
                <exclude name="**/CVS/**"/>
                <exclude name="**/Slide.java" unless="jmx.present"/>
                <exclude name="**/SlideMBean.java" unless="jmx.present"/>
            </fileset>
        </copy>
        <mkdir dir="${slide.build}/doc/serverjavadoc"/>
        <property name="copyright" value=""/>
        <javadoc sourcepath="${slide.build}/src/webdav/server" destdir="${slide.build}/doc/serverjavadoc" doctitle="Slide ${version} WebDAV Server JavaDoc" windowtitle="Slide WebDAV Server Documentation" package="true" noindex="false" author="true" version="true" packagenames="org.apache.slide.webdav.*">
            <classpath refid="webdavservlet.classpath"/>
        </javadoc>
        <copy todir="${slide.dist}/doc/serverjavadoc">
            <fileset dir="${slide.build}/doc/serverjavadoc"/>
        </copy>
    </target>
    <!-- =================================================================== -->
    <!-- Clean build and distribution directories                            -->
    <!-- =================================================================== -->
    <target name="clean" description="Delete previous build">
        <delete dir="${slide.build}"/>
        <delete dir="${slide.dist}"/>
        <!-- Clean subprojects -->
                <ant antfile="build.xml" dir="projector" target="clean"/>
    </target>
    <!-- =================================================================== -->
    <!-- Build the Slide JavaDoc                                             -->
    <!-- =================================================================== -->
    <target name="javadoc" depends="prepare" unless="skip.javadoc" description="Generate core API documentation">
        <property name="copyright" value=""/>
        <javadoc sourcepath="src/share" destdir="${slide.build}/doc/javadoc" doctitle="Slide ${version} API Documentation" windowtitle="Slide API Documentation" overview="src/share/overview.html" package="true" noindex="false" author="true" version="true" packagenames="org.*">
            <classpath>
                <path refid="main.classpath"/>
                <pathelement location="${jmx.jar}" /> 
                <pathelement path="${slide.build}/classes"/>
            </classpath>
        </javadoc>
    </target>
    <!-- =================================================================== -->
    <!-- Prepare distribution directories                                    -->
    <!-- =================================================================== -->
    <target name="prepare-dist">
        <echo message="Creating distribution directories"/>
        <mkdir dir="${slide.dist}"/>
        <mkdir dir="${slide.dist}/slide/webapp"/>
        <mkdir dir="${slide.dist}/slide/lib"/>
        <mkdir dir="${slide.dist}/doc"/>
        <mkdir dir="${slide.dist}/slide/wrappers"/>
    </target>
    <!-- =================================================================== -->
    <!-- Build a Slide distribution                                          -->
    <!-- =================================================================== -->
    <target name="dist" depends="main,ojb-sql,prepare-dist,doc,javadoc,dist-xml,log4j-logger,jdk14-logging" description="Make distribution of core components">
        <copy file="src/etc/MANIFEST.MF" tofile="${slide.build}/classes/MANIFEST.MF" overwrite="yes" />
        <replace file="${slide.build}/classes/MANIFEST.MF" token="$$VERSION$$" value="${version}"/>
        <echo message="Building Slide main JAR file"/>
        <copy file="src/conf/webapp/slide.properties" tofile="${slide.build}/classes/org/apache/slide/slide.properties" overwrite="yes" />
        <jar jarfile="${slide.dist}/slide/lib/${slide-kernel.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,org/apache/slide/**" excludes="org/apache/slide/webdav/**,org/apache/slide/jaas/**,org/apache/slide/store/impl/**,org/apache/slide/store/util/**,org/apache/slide/store/txfile/**,org/apache/slide/store/txjndi/**,org/apache/slide/store/mem/**,org/apache/slide/search/basic/sample/**,org/apache/slide/index/**,org/apache/slide/util/logger/jdk14/**,org/apache/slide/store/ojb/**"/>
        <echo message="Building Slide Standard Stores JAR file"/>
        <jar jarfile="${slide.dist}/slide/lib/${slide-stores.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,slidestore/**,org/apache/slide/store/impl/**,org/apache/slide/store/util/**,org/apache/slide/store/txfile/**,org/apache/slide/store/txjndi/**,org/apache/slide/store/mem/**,org/apache/slide/index/**,org/apache/slide/store/ojb/**" excludes="org/apache/slide/store/ojb/tools/**"/>
        <echo message="Building Default Roles JAR file"/>
        <jar jarfile="${slide.dist}/slide/lib/${slide-roles.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,slideroles/**"/>
        <echo message="Building WebDAV Servlet JAR"/>
        <jar jarfile="${slide.dist}/slide/lib/${slide-webdavservlet.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,org/apache/slide/webdav/**"/>
        <echo message="Building JAAS LoginModule JAR"/>
        <jar jarfile="${slide.dist}/slide/lib/${slide-jaas.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,org/apache/slide/jaas/**"/>

        <echo message="Copying documentation"/>
        <copy todir="${slide.dist}/doc">
            <fileset dir="${slide.build}/doc"/>
        </copy>
        <copy todir="${slide.dist}/slide/db-schema" overwrite="yes">
            <fileset dir="src/conf/schema"/>
        </copy>
        <copy todir="${slide.dist}">
            <fileset dir=".">
                <include name="LICENSE"/>
                <include name="NOTICE"/>
                <include name="README"/>
                <include name="${release-notes}"/>
            </fileset>
        </copy>
        <echo message="Copying libraries"/>
        <copy todir="${slide.dist}/slide/lib">
          <fileset dir="${slide.build}/lib">
            <exclude name="servlet*.jar"/>
            <exclude name="xdoclet*.jar"/>
            <exclude name="xjavadoc*.jar"/>
            <exclude name="ant-contrib*.jar"/>
            <exclude name="torque*.jar"/>
            <exclude name="velocity*.jar"/>
          </fileset>
        </copy>
        <copy todir="${slide.dist}/slide/ojb-schema">
          <fileset dir="${slide.build}/ojb" includes="slide-schema-*.sql"/>
        </copy>
        <copy todir="${slide.dist}/slide/conf">
          <fileset dir="src/conf/ojb" includes="repository.*,*.properties"/>
          <fileset dir="${slide.build}/ojb" includes="repository_*.xml"/>
        </copy>
    </target>
    <target name="dist-xml" unless="jvm14.present">
        <copy todir="${slide.dist}/slide/lib" file="${jaxp.jar}"/>
        <copy todir="${slide.dist}/slide/lib" file="${xmlapi.jar}"/>
        <copy todir="${slide.dist}/slide/lib" file="${xmlparser.jar}"/>
    </target>
    <!-- =================================================================== -->
    <!-- Build a Slide distribution packaged as a web application            -->
    <!-- =================================================================== -->
    <target name="webapp-dist" depends="dist" description="Creates a web archive (war) without authentication">
        <filter token="AUTH" value="${authenticate}"/>
        <copy todir="${slide.dist}/slide/conf" filtering="true" overwrite="yes">
            <fileset dir="src/conf/webapp">
                <include name="web.xml"/>
                <include name="slide.properties"/>
                <include name="log4j.properties"/>
                <include name="commons-logging.properties"/>
            </fileset>
        </copy>
        <war warfile="${webapp.dist}/slide.war" webxml="${slide.dist}/slide/conf/web.xml">
            <fileset dir="src/conf/webapp">
                <include name="**/Domain.xml"/>
            </fileset>
            <lib dir="${slide.dist}/slide/lib"/>
            <classes dir="src/conf/ojb">
                <include name="*.properties"/>
                <include name="repository.*"/>
            </classes>
            <classes dir="${slide.build}/ojb">
                <include name="repository_*.xml"/>
            </classes>
            <classes dir="src/conf/webapp">
                <include name="*.properties"/>
            </classes>
        </war>
        <war warfile="${webapp.dist}/slide-doc.war" webxml="src/conf/webapp/webdoc.xml">
            <fileset dir="${slide.dist}/doc">
            </fileset>
        </war>
    </target>
    <!-- =================================================================== -->
    <!-- Build a Slide distribution packaged as a JAAS web application       -->
    <!-- =================================================================== -->
    <target name="webapp-jaas-dist" depends="dist" description="Creates a web archive (war) with JAAS authentication">
        <filter token="AUTH" value=""/>
        <copy todir="${slide.dist}/slide/conf" filtering="true" overwrite="yes">
            <fileset dir="src/conf/webapp">
                <include name="web.xml"/>
                <include name="slide.properties"/>
                <include name="log4j.properties"/>
                <include name="commons-logging.properties"/>
            </fileset>
        </copy>
        <war warfile="${webapp.dist}/slide.war" webxml="${slide.dist}/slide/conf/web.xml">
            <fileset dir="src/conf/webapp">
                <include name="**/Domain.xml"/>
            </fileset>
            <lib dir="${slide.dist}/slide/lib"/>
            <fileset dir=".">
                <include name="README"/>
                <include name="LICENSE"/>
                <include name="NOTICE"/>
                <include name="${release-notes}"/>
            </fileset>
            <zipfileset dir="src/conf/schema" prefix="db-schema" />
            <classes dir="src/conf/ojb">
                <include name="*.properties"/>
                <include name="repository.*"/>
            </classes>
            <classes dir="${slide.build}/ojb">
                <include name="repository_*.xml"/>
            </classes>
            <zipfileset dir="${slide.dist}/slide/ojb-schema" prefix="ojb-schema"/>
        </war>
        <war warfile="${webapp.dist}/slide-doc.war" webxml="src/conf/webapp/webdoc.xml">
            <fileset dir="${slide.dist}/doc">
      </fileset>
        </war>
    </target>
    <!-- =================================================================== -->
    <!-- Deploy Slide as a web application with JAAS authentication to       -->
    <!-- Tomcat 5.0.28 and later                                             -->
    <!-- This target requires Tomcat 5.0.28                                  -->
    <!-- =================================================================== -->
    <target name="jaas-deploy-tomcat-5" depends="webapp-jaas-dist" description="Deploys Slide as a web application with JAAS authentication to Tomcat 5" if="catalina.present">
        <copy file="${slide.dist}/slide/webapp/slide-doc.war" todir="${catalina.dist}/webapps" overwrite="yes"/>
        <copy file="${slide.dist}/slide/webapp/slide.war" todir="${catalina.dist}/webapps" overwrite="yes"/>
        <!-- jaas config -->
        <copy file="src/conf/webapp/jaas.config" todir="${catalina.dist}/conf/" overwrite="yes"/>
        <!-- patch server.xml -->
        <patch originalfile="${catalina.dist}/conf/server.xml" patchfile="src/conf/catalina/tomcat-jaas-server.patch"/>
        <!-- patch startup -->
        <patch originalfile="${catalina.dist}/bin/startup.bat" patchfile="src/conf/catalina/startup-jaas.bat.patch"/>
        <patch originalfile="${catalina.dist}/bin/catalina.sh" patchfile="src/conf/catalina/catalina-jaas.sh.patch"/>
            <ant antfile="build.xml" dir="projector" target="tomcat-install"/>
    </target>
    <!-- =================================================================== -->
    <!-- Build Catalina related components                                   -->
    <!-- This target requires Tomcat 4 or 5                                  -->
    <!-- =================================================================== -->
    <target name="catalina-wrapper" depends="dist" if="catalina.present">
        <javac srcdir="src/wrappers" destdir="${slide.build}/classes" debug="${compile.debug}" deprecation="${compile.deprecation}" optimize="${compile.optimize}" includes="**" excludes="**/CVS/**" target="${compile.target}" source="${compile.source}">
            <classpath refid="wrappers.classpath"/>
            <exclude name="**/catalina/**" unless="catalina.present"/>
            <exclude name="**/log4j/**"/>
        </javac>
        <copy file="src/etc/MANIFEST.MF" tofile="${slide.build}/classes/MANIFEST.MF"/>
        <replace file="${slide.build}/classes/MANIFEST.MF" token="$$VERSION$$" value="${version}"/>       
        <copy todir="${slide.build}/classes/wrappers/catalina">
            <fileset dir="src/wrappers/wrappers/catalina">
                <include name="slide-descriptors.xml"/>
            </fileset>
        </copy>
        <jar jarfile="${slide.dist}/slide/wrappers/${slide-catalinawrapper.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,**/wrappers/catalina/**"/>
    </target>
    <!-- =================================================================== -->
    <!-- Installs Slide with Tomcat 4.x using Tomcat authentication          -->
    <!-- This target requires Tomcat 4.x                                     -->
    <!-- =================================================================== -->
    <target name="tomcat-4-install" depends="tomcat-install" if="catalina.present" description="Modifies Tomcat 4.x installation to include Slide">
        <copy todir="${slide.dist}/slide/catalina-conf" overwrite="yes">
            <fileset dir="src/conf/catalina">
                <include name="tomcat-4-server.patch"/>
            </fileset>
        </copy>
        <!-- patch server.xml -->
        <patch originalfile="${catalina.dist}/conf/server.xml" patchfile="${slide.dist}/slide/catalina-conf/tomcat-4-server.patch"/>
    </target>
    <!-- =================================================================== -->
    <!-- Installs Slide with Tomcat 5.x using Tomcat authentication          -->
    <!-- This target requires Tomcat 5.x                                     -->
    <!-- =================================================================== -->
    <target name="tomcat-5-install" depends="tomcat-install" if="catalina.present" description="Modifies Tomcat 5.x installation to include Slide">
        <copy todir="${slide.dist}/slide/catalina-conf" overwrite="yes">
            <fileset dir="src/conf/catalina">
                <include name="tomcat-5-server.patch"/>
            </fileset>
        </copy>
        <!-- patch server.xml -->
        <patch originalfile="${catalina.dist}/conf/server.xml" patchfile="${slide.dist}/slide/catalina-conf/tomcat-5-server.patch"/>
    </target>
    <!-- =================================================================== -->
    <!-- Installs Slide with Tomcat 5.x/4.xusing Tomcat authentication       -->
    <!-- This target requires Tomcat 5.x/4.x                                 -->
    <!-- =================================================================== -->
    <target name="tomcat-install" depends="catalina-wrapper, webapp-dist" if="catalina.present">
        <!-- create Slide dir and copy Domain.xml and web.xml to it -->
        <mkdir dir="${slide.dist}/slide/catalina-conf"/>
        <filter token="AUTH" value=""/>
        <!-- enable authentication -->
        <copy todir="${slide.dist}/slide/catalina-conf" filtering="true" overwrite="yes">
            <fileset dir="src/conf/webapp">
                <include name="web.xml"/>
                <include name="log4j.properties"/>
            </fileset>
        </copy>
        <copy todir="${slide.dist}/slide/catalina-conf" overwrite="yes">
            <fileset dir="src/conf/catalina">
                <include name="slide.properties"/>
            </fileset>
        </copy>
        <copy file="${slide.dist}/slide/catalina-conf/slide.properties" tofile="${slide.build}/classes/org/apache/slide/slide.properties"/>
        <jar jarfile="${slide.dist}/slide/catalina-conf/${slide-kernel-bundle.jar}" basedir="${slide.build}/classes" manifest="${slide.build}/classes/MANIFEST.MF" includes="LICENSE,NOTICE,org/apache/slide/**,org/apache/util/**" excludes="org/apache/slide/webdav/**"/>
        <mkdir dir="${catalina.dist}/slide"/>
        <copy todir="${catalina.dist}/slide" overwrite="yes">
            <fileset dir="src/conf/webapp">
                <include name="Domain.xml"/>
            </fileset>
        </copy>
        <mkdir dir="${catalina.dist}/slide/WEB-INF"/>
        <copy todir="${catalina.dist}/slide/WEB-INF" overwrite="yes">
            <fileset dir="${slide.dist}/slide/catalina-conf">
                <include name="web.xml"/>
            </fileset>
        </copy>

        <copy todir="${catalina.dist}/slide/db-schema" overwrite="yes">
            <fileset dir="src/conf/schema"/>
        </copy>

        <!-- also copy general information into Slide directory -->
        <copy todir="${catalina.dist}/slide" overwrite="yes">
            <fileset dir=".">
                <include name="README"/>
                <include name="LICENSE"/>
                <include name="NOTICE"/>
                <include name="${release-notes}"/>
            </fileset>
        </copy>

        <!-- install jars in common lib and remove older Tomcat versions -->
        <copy todir="${catalina.dist}/common/lib">
            <fileset dir="${slide.dist}/slide/lib">
                <exclude name="${servlet.jar}"/>
                <!-- use local version -->
                <exclude name="${slide-kernel.jar}"/>
                <!-- use version with different properties instead -->
            </fileset>
            <fileset dir="${slide.dist}/slide/catalina-conf">
                <include name="${slide-kernel-bundle.jar}"/>
                <!-- use version with different properties -->
            </fileset>
        </copy>
        <delete>
            <fileset dir="${catalina.dist}/common/lib">
                <include name="commons-collections.jar"/>
                <!-- we might have a newer version -->
                <include name="commons-dbcp-1.1.jar"/>
                <!-- we have a patched version -->
                <include name="jta.jar"/>
                <!-- use geronimo version -->
                <include name="${slide-kernel.jar}"/>
                <!-- in case it has been copied here before -->
            </fileset>
        </delete>
        <!-- install wrapper in server lib -->
        <copy todir="${catalina.dist}/server/lib">
            <fileset dir="${slide.dist}/slide/wrappers"/>
        </copy>

        <copy file="${slide.dist}/slide/webapp/slide-doc.war" tofile="${catalina.dist}/webapps/slide-doc.war"/>
        <ant antfile="build.xml" dir="projector" target="tomcat-install"/>
    </target>
    <!-- =================================================================== -->
    <!-- Testsuite build, distribution & package                             -->
    <!-- =================================================================== -->
    <target name="testsuite-dist-prepare">
        <mkdir dir="${testsuite.dist}"/>
    </target>
    <target name="testsuite-dist" depends="testsuite-dist-prepare">
        <ant dir="webdavclient" inheritall="false"/>
        <ant dir="testsuite" inheritall="false"/>
        <copy todir="${testsuite.dist}">
            <fileset dir="${basedir}/testsuite" excludes="**/dist/**,**/CVS/**,**/testCasesResults.xml,**/testErrorsReport.txt"/>
        </copy>
        <copy todir="${testsuite.dist}">
            <fileset dir="${slide.dist}">
                    <include name="LICENSE"/>
                    <include name="NOTICE"/>
            </fileset>
        </copy>
    </target>
    <target name="package-testsuite-zip" depends="testsuite-dist">
        <zip zipfile="${slide.dist}/${testsuite.archive}.zip">
            <zipfileset dir="${testsuite.dist}" prefix="${testsuite.name}"/>
        </zip>
    </target>
    <target name="package-testsuite-tgz" depends="testsuite-dist">
        <tar tarfile="${slide.dist}/${testsuite.archive}.tar" longfile="gnu">
            <tarfileset dir="${testsuite.dist}" mode="755" prefix="${testsuite.name}"/>
        </tar>
        <gzip zipfile="${slide.dist}/${testsuite.archive}.tar.gz" src="${slide.dist}/${testsuite.archive}.tar"/>
        <delete file="${slide.dist}/${testsuite.archive}.tar"/>
    </target>
    <!-- =================================================================== -->
    <!-- Full distribution                                                   -->
    <!-- =================================================================== -->
    <target name="full-dist" depends="dist, webapp-dist,catalina-wrapper, testsuite-dist" description="Make a full distribution (with all optional components)"/>
    <!-- =================================================================== -->
    <!-- Packages the distribution with ZIP                                  -->
    <!-- =================================================================== -->
    <target name="package-zip" depends="full-dist">
        <zip zipfile="${slide.dist}/${slide.archive}.zip">
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="slide/**"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="client/**"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="server/**"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="doc/**"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="webdav-testsuite/**"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="LICENSE"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="NOTICE"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="RUNNING.txt"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="README"/>
            <zipfileset dir="${slide.dist}" prefix="${final.name}" includes="${release-notes}"/>
        </zip>
    </target>
    <!-- =================================================================== -->
    <!-- Packages the distribution with TAR-GZIP                             -->
    <!-- =================================================================== -->
    <target name="package-tgz" depends="full-dist">
        <mkdir dir="${slide.dist}/${final.name}"/>
        <copy todir="${slide.dist}/${final.name}">
            <fileset dir="${slide.dist}">
                <include name="slide/**"/>
                <include name="client/**"/>
                <include name="server/**"/>
                <include name="doc/**"/>
                <include name="webdav-testsuite/**"/>
                <include name="LICENSE"/>
                <include name="NOTICE"/>
                <include name="RUNNING.txt"/>
                <include name="README"/>
                <include name="${release-notes}"/>
            </fileset>
        </copy>
        <tar tarfile="${slide.dist}/${slide.archive}.tar" longfile="gnu">
            <tarfileset dir="${slide.dist}" mode="755">
                <include name="${final.name}/server/bin/catalina.sh"/>
                <include name="${final.name}/server/bin/startup.sh"/>
                <include name="${final.name}/server/bin/shutdown.sh"/>
            </tarfileset>
            <tarfileset dir="${slide.dist}">
                <include name="${final.name}/**"/>
                <exclude name="${final.name}/server/bin/catalina.sh"/>
                <exclude name="${final.name}/server/bin/startup.sh"/>
                <exclude name="${final.name}/server/bin/shutdown.sh"/>
            </tarfileset>
        </tar>
        <delete dir="${slide.dist}/${final.name}"/>
        <gzip zipfile="${slide.dist}/${slide.archive}.tar.gz" src="${slide.dist}/${slide.archive}.tar"/>
        <delete file="${slide.dist}/${slide.archive}.tar"/>
    </target>
    <!-- =================================================================== -->
    <!-- Packages the distribution with ZIP and TAR-GZIP                     -->
    <!-- =================================================================== -->
    <target name="release" depends="package-zip, package-tgz, package-src-all,package-testsuite-zip,package-testsuite-tgz" description="Packages the distribution with ZIP and TAR-GZIP">
        <property name="slide.release.bin" value="${slide.dist}/release/${version}/bin"/>
        <property name="slide.release.src" value="${slide.dist}/release/${version}/src"/>
        <patternset id="slide.packages.bin">
            <include name="*-bin-*"/>
            <include name="*-testsuite-*"/>
        </patternset>
        <patternset id="slide.packages.src">
            <include name="*-src-*"/>
        </patternset>
        <!-- create release directories -->
        <mkdir dir="${slide.release.bin}"/>
        <mkdir dir="${slide.release.src}"/>
        <!-- move server releases -->
        <move todir="${slide.release.bin}">
            <fileset dir="${slide.dist}">
                <patternset refid="slide.packages.bin"/>
            </fileset>
        </move>
        <move todir="${slide.release.src}">
            <fileset dir="${slide.dist}">
                <patternset refid="slide.packages.src"/>
            </fileset>
        </move>
        <!-- move client releases -->
        <ant antfile="build.xml" dir="webdavclient" target="release" inheritall="false"/>
        <move todir="${slide.release.bin}">
            <fileset dir="${slide.clientlib.dist}">
                <patternset refid="slide.packages.bin"/>
            </fileset>
        </move>
        <move todir="${slide.release.src}">
            <fileset dir="${slide.clientlib.dist}">
                <patternset refid="slide.packages.src"/>
            </fileset>
        </move>
  </target>
    <!-- =================================================================== -->
    <!-- Prepares a source distribution for packaging                        -->
    <!-- =================================================================== -->
    <target name="package-src-prepare" depends="dist">
        <echo message="Preparing source distribution"/>
        <mkdir dir="${slide.dist}/${slide-src.archive}"/>
        <copy todir="${slide.dist}/${slide-src.archive}">
            <fileset dir=".">
                <include name="lib/**"/>
                <include name="src/**"/>
                <include name="projector/**"/>
                <include name="build.xml"/>
                <include name="build.properties.sample"/>
                <include name="LICENSE"/>
                <include name="NOTICE"/>
                <include name="README"/>
                <include name="RUNNING.txt"/>
                <include name="${release-notes}"/>
            </fileset>
        </copy>
        <copy todir="${slide.dist}/${slide-src.archive}">
            <fileset dir="${slide.dist}">
                <include name="doc/**"/>
            </fileset>
        </copy>
    </target>
    <!-- =================================================================== -->
    <!-- Packages the source code with ZIP                                   -->
    <!-- =================================================================== -->
    <target name="package-src-zip" depends="package-src-prepare">
        <zip zipfile="${slide.dist}/${slide-src.archive}.zip">
            <zipfileset dir="${slide.dist}/${slide-src.archive}" prefix="${slide-src.archive}" includes="**"/>
        </zip>
    </target>
    <!-- =================================================================== -->
    <!-- Packages the source code with TAR-GZIP                              -->
    <!-- =================================================================== -->
    <target name="package-src-tgz" depends="package-src-prepare">
        <!-- guarantee that the <tar> task notices that the files have changed -->
        <copy todir="${slide.dist}/temp">
            <fileset dir="${slide.dist}/${slide-src.archive}">
                <include name="**"/>
            </fileset>
        </copy>
        <tar tarfile="${slide.dist}/${slide-src.archive}.tar.gz" longfile="gnu" compression="gzip">
            <tarfileset dir="${slide.dist}/temp" prefix="${slide-src.archive}">
                <include name="**"/>
            </tarfileset>
        </tar>
        <delete dir="${slide.dist}/temp"/>
    </target>
    <!-- =================================================================== -->
    <!-- Packages the source code with ZIP and TAG-GZIP                      -->
    <!-- =================================================================== -->
    <target name="package-src-all" depends="package-src-prepare, package-src-zip, package-src-tgz">
        <!-- cleanup -->
        <delete dir="${slide.dist}/${slide-src.archive}"/>
    </target>

  <target name="deploy"  depends="webapp-jaas-dist">
    <delete dir="${deploy.dir}/slide"/>
    <delete file="${deploy.dir}/slide.war"/>
    <copy todir="${deploy.dir}" file="${slide.dist}/slide/webapp/slide.war" />
  </target>

</project>
