<?xml version="1.0" encoding="ISO-8859-1" ?>
<!-- ====================================================================== -->
<!-- GeoServer BUILD FILE                                                   -->
<!-- Copyright TOPP 2002                                                    -->
<!-- This build file is licensed under the GPL v2.0                         -->
<!-- You do not need to modify any values for this build file to work.      -->
<!-- For convenience, you may modify the 'external directories' variables   -->
<!-- under the PROPERTIES section.                                          -->
<!-- ====================================================================== -->

<project name="geoserver" default="help" basedir=".">
<!-- ====================================================================== -->
<!-- PROPERTIES                                                             -->
<!-- ====================================================================== -->
  <!-- primary directories -->
  <property name="dir.bin" value="${basedir}/bin"/>
  <property name="dir.build" value="${basedir}/build"/>
  <property name="dir.doc" value="${basedir}/doc"/>
  <property name="dir.lib" value="${basedir}/lib"/>
  <property name="dir.misc" value="${basedir}/misc"/>
  <property name="dir.server" value="${basedir}/server"/>
  <property name="dir.src" value="${basedir}/src"/>
  <property name="dir.test" value="${basedir}/test"/>
  <property name="dir.conf" value="${basedir}/conf"/>
  <property name="dir.release" value="${basedir}/release"/>

  <!-- secondary directories -->
  <property name="dir.changelog" value="${dir.misc}/changelog"/>
  <property name="dir.data" value="${dir.conf}"/>
  <property name="dir.styles" value="${dir.misc}/wms/styles"/>
  <property name="dir.testsJar" 
  value="${dir.server}/webapps/ROOT/WEB-INF/lib"/>
  <property name="dir.testApp" value="${dir.server}/webapps/ROOT/WEB-INF"/>
  <property name="dir.catalina" value="${dir.lib}/catalina"/>

  <!-- external directories -->
  <!-- pc example -->
  <property name="dir.container" value="C:\java\resin-2.1.9\webapps"/>
  <property name="dir.geotools" 
            value="C:\java\workspace\geotools\geotools-src"/>
            
  <!-- linux example
  <property name="dir.container" value="/usr/local/resin-2.1.4/webapps"/>
  <property name="dir.geotools" 
            value="/home/rob/wfs/geotools/geotools2/geotools-src"/>
   -->
  <!-- jars -->
  <property name="jar.geotools" value="${dir.lib}/geotools.jar"/>
  <property name="jar.geoserver" value="${dir.lib}/geoserver.jar"/>
  <property name="jar.log" value="${dir.lib}/log4j-1.2.5.jar"/>
  <property name="jar.servlet" value="${dir.lib}/servlet.jar"/>
  <property name="jar.xerces" value="${dir.lib}/xerces.jar"/>
  <property name="jar.jdbcPostgres" value="${dir.lib}/jdbcPostgres.jar"/>
  <property name="jar.castor" value="${dir.lib}/castor.jar"/>
  <property name="jar.jts" value="${dir.lib}/jts-1.0.0.jar"/>
  <property name="jar.lucene" value="${dir.lib}/lucene.jar"/>
  <property name="jar.xalan" value="${dir.lib}/xalan.jar"/>
  <property name="jar.a2j" value="${dir.lib}/a2jruntime.jar"/>
  <property name="jar.z3950" value="${dir.lib}/ki-jzkit-z3950.jar"/>
  <property name="jar.ki-util" value="${dir.lib}/ki-util.jar"/>
  
  <property name="test.name" value="config.ConfigSuite"/>

  <!-- paths -->
  <path id="path.lib">
    <fileset dir="${dir.lib}">
      <include name="*.jar"/>
      <exclude name="geoserver.jar"/>
    </fileset>
  </path>
  <path id="path.catalina">
    <fileset dir="${dir.catalina}" includes="embedded.jar"/>
    <fileset dir="${dir.catalina}/bin" includes="bootstrap.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="catalina.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets-cgi.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets-common.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets-default.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets-invoker.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets-manager.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets-snoop.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets-ssi.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="servlets.webdav.jar"/>
    <fileset dir="${dir.catalina}/server/lib" 
             includes="jakarta-regexp-1.2.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="tomcat-ajp.jar"/>
    <fileset dir="${dir.catalina}/server/lib" includes="tomcat-util.jar"/>
    <fileset dir="${dir.catalina}/lib" includes="naming-factory.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="crimson.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="jasper-compiler.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="jasper-runtime.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="jaxp.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="jndi.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="naming-common.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="naming-resources.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="servlet.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="tools.jar"/>
    <fileset dir="${dir.catalina}/common/lib" includes="log4j.jar"/>
  </path>
  <path id="path.build">
    <path refid="path.lib"/>
    <path refid="path.catalina"/>
    <fileset dir="${dir.build}">
      <include name="**"/>
    </fileset>
    <fileset dir="${dir.build}">
      <include name="org/vfny/geoserver/requests/GetCapabilitiesSuite.class"/>
    </fileset>
  </path>

<!-- ====================================================================== -->
<!-- HELP / INDEX OF TARGETS                                                -->
<!-- ====================================================================== -->
  <target name="help">
    <echo message="GeoServer Build File..."/>
    <echo message=""/>
    <echo message=" COMPILATION TARGETS"/>
    <echo message="    init:         initializes build process"/>
    <echo message="    all:          compiles all packages"/>
    <echo message="    clean:        removes, re-compiles all packages"/>
    <echo message=""/>
    <echo message=" TEST TARGETS"/>
    <echo message="    unit:         compiles, runs unit 1 test"/>
    <echo message="                    -param: test.name=[package.class]"/>
    <echo message="    unit-all:     compiles and runs all unit tests"/>
    <echo message="    test:         builds and runs the built-in server"/>
    <echo message="    test-clean:   builds clean to built-in server"/>
    <echo message="    test-ext:     builds war to external server"/>
    <echo message="                    -param: dir.container=[server_path]"/>
    <echo message=""/>
    <echo message=" BUILD TARGETS"/>
    <echo message="    war:          builds geoserver war file"/>
    <echo message="    document:     generates all javadocs for project"/>
    <echo message="    clean:        rebuilds all classes"/>
    <echo message="    release:      makes a full release build"/>
    <echo message="                    -param: name.release=[release]"/>
    <echo message=""/>
    <echo message=" ADMIN TARGETS"/>
    <echo message="    help | ?:     displays this message"/>
    <echo message="    fix-tabs:     turns all tabs into 4 spaces"/>
    <echo message="    cvs-checkout: checks out source from server, refresh"/>
    <echo message="    cvs-commit:   commits all changes"/>
    <echo message="    geotools:     builds, deploys the geotools jar"/>
    <echo message="                    -param: dir.geotools=[geotools_path]"/>
    <echo message=""/>
    <echo message=" Examples..."/>
    <echo message="    ant test-ext -Ddir.container=/usr/local/resin/webapps"/>
    <echo message="    ant unit -Dtest.name=requests.DeleteSuite"/>
    <echo message="    ant all"/>
  </target>

<!-- ====================================================================== -->
<!-- COMPILATION TARGETS                                                    -->
<!-- ====================================================================== -->
<!-- INITIALIZE
      checks to make sure that directory structure is in place, etc.  -->
  <target name="init">
    <mkdir dir="${dir.build}"/>
    <mkdir dir="${dir.server}"/>
    <tstamp><format property="date.current" pattern="MM.dd.yyyy"/></tstamp>
  </target>

<!-- ALL
      builds all of the files in the project, no clean -->
  <target name="all" depends="init">
    <javac srcdir="${dir.src}" 
           destdir="${dir.build}" 
           includes="**" 
           classpathref="path.build"
           deprecation="off"
           debug="on"/>
    <jar jarfile="${dir.lib}/geoserver.jar">
      <fileset dir="${dir.build}">
        <exclude name="**/servlets/*" />
        <exclude name="**/EmbeddedTomcat.class" />
      </fileset>
    </jar>
  </target>

<!-- CLEAN -->
  <target name="clean" depends="init">
    <delete includeEmptyDirs="false" >
      <fileset dir="${dir.build}" />
    </delete>
    <delete file="${dir.lib}/geoserver.jar" failonerror="true"/>
    <antcall target="all"/>
  </target>

<!-- ====================================================================== -->
<!-- TEST TARGETS                                                           -->
<!-- ====================================================================== -->

<!-- UNIT -->
 <target name="unit" depends="init, all">
    <javac srcdir="${dir.test}" 
           destdir="${dir.build}" 
           includes="**/*.java" 
           classpathref="path.build" 
           deprecation="off"
           debug="on"/>
    <antcall target="all"/>
    <junit fork="false"
           printsummary="on">
      <formatter type="plain" usefile="false"/>
      <sysproperty key="dataFolder" value="${basedir}/tests/unit/testData"/>

      <classpath>
        <fileset dir="${dir.lib}">
          <include name="*.jar"/>
        </fileset>
      </classpath>
     
       <test fork="true" 
            name="org.vfny.geoserver.${test.name}"/>
    </junit>
  </target>

   <target name="unit-all" depends="unit-requests, unit-zserver">
    <junit fork="false"
           printsummary="on">
      <formatter type="plain" usefile="false"/>
      <sysproperty key="dataFolder" value="${basedir}/tests/unit/testData"/>

      <classpath>
        <fileset dir="${dir.lib}">
          <include name="*.jar"/>
        </fileset>
      </classpath>
    </junit>
  </target>    

  <target name="unit-requests" depends="init, all">
    <javac srcdir="${dir.test}" 
           destdir="${dir.build}" 
           includes="**/*.java" 
           classpathref="path.build" 
           deprecation="on"
              debug="on"/>
    <antcall target="all"/>
    <junit fork="false"
           printsummary="on">
      <formatter type="plain" usefile="false"/>
      <sysproperty key="dataFolder" value="${basedir}/tests/unit/testData"/>

      <classpath>
        <fileset dir="${dir.lib}">
          <include name="*.jar"/>
        </fileset>
      </classpath>
      <test fork="true" 
            name="org.vfny.geoserver.requests.CapabilitiesSuite"/>
      <test fork="true" 
            name="org.vfny.geoserver.requests.DescribeSuite"/>
  <test fork="true" 
            name="org.vfny.geoserver.requests.TransactionSuite"/>
<test fork="true" 
            name="org.vfny.geoserver.requests.LockSuite"/>
<test fork="true" 
            name="org.vfny.geoserver.requests.FeatureSuite"/>
    </junit>
  </target>

  <target name="unit-zserver" depends="init, all">
    <javac srcdir="${dir.test}" 
           destdir="${dir.build}" 
           includes="**/*.java" 
           classpathref="path.build" 
           deprecation="on"
              debug="on"/>
    <antcall target="all"/>
    <junit fork="false"
           printsummary="on">
      <formatter type="plain" usefile="false"/>
      <sysproperty key="dataFolder" value="${basedir}/tests/unit/testData"/>

      <classpath>
        <fileset dir="${dir.lib}">
          <include name="*.jar"/>
        </fileset>
      </classpath>
      <test fork="true" 
            name="org.vfny.geoserver.zserver.ApplyXPathSuite"/>
      <test fork="true" 
            name="org.vfny.geoserver.zserver.GeoIndexerSuite"/>
  <test fork="true" 
            name="org.vfny.geoserver.zserver.GeoProfileSuite"/>
<test fork="true" 
            name="org.vfny.geoserver.zserver.GeoSearchSuite"/>
<test fork="true" 
            name="org.vfny.geoserver.zserver.GeoSummarySuite"/>
<test fork="true" 
            name="org.vfny.geoserver.zserver.NumericFieldSuite"/>
<test fork="true" 
            name="org.vfny.geoserver.zserver.RPNConverterSuite"/>
<test fork="true" 
            name="org.vfny.geoserver.zserver.XMLDocumentSuite"/>
    </junit>
  </target>

<!-- TEST -->
<!-- deploys application to test server -->
  <target name="test" depends="init, all">
    <mkdir dir="${dir.server}/webapps"/>
    <mkdir dir="${dir.server}/webapps/ROOT"/>
    <mkdir dir="${dir.server}/webapps/ROOT/WEB-INF"/>
    <mkdir dir="${dir.server}/webapps/ROOT/WEB-INF/lib"/>
    <mkdir dir="${dir.server}/webapps/ROOT/WEB-INF/classes"/>

    <copy todir="${dir.testApp}/" >
      <fileset dir="${dir.misc}/documents">
        <include name="web.xml"/>
      </fileset>
    </copy>

    <mkdir dir="${dir.server}/webapps/ROOT/data"/>
    <copy todir="${dir.server}/webapps/ROOT/data">
      <fileset dir="${dir.misc}/documents">
        <include name="license.txt"/>
        <include name="geoserver.log"/>
        <include name="z3950-geo.map"/>
      </fileset>
    </copy>

     <copy todir="${dir.server}/webapps/ROOT/WEB-INF">
      <fileset dir="${dir.conf}">
        <include name="services.xml"/>
        <include name="catalog.xml"/>
      </fileset>
    </copy>

    <!-- populate base directory -->
    <mkdir dir="${dir.server}/webapps/ROOT/data/capabilities"/>
    <copy todir="${dir.server}/webapps/ROOT/data/capabilities">
      <fileset dir="${dir.misc}/documents">
        <include name="filter.xml"/>
        <include name="operations.xml"/>
        <include name="serviceMetadata.xml"/>
        <include name="additionalCapabilities.xml"/>
        <include name="operationsSignatures.xml"/>
        <include name="vfnyWfsWsdl.xml"/>
        <include name="OGC_Capabilities.xsd"/>
        <include name="feature.xsd"/>
        <include name="geometry.xsd"/>
      </fileset>
    </copy>

    <!-- make feature types directory and populate -->
    <mkdir dir="${dir.server}/webapps/ROOT/data/featureTypes"/>
    <copy todir="${dir.server}/webapps/ROOT/data/featureTypes">
    <fileset dir="${dir.data}/featureTypes"/>
    </copy>
     
      <mkdir dir="${dir.server}/webapps/ROOT/data/styles"/>
    <copy todir="${dir.server}/webapps/ROOT/data/styles">
      <fileset dir="${dir.styles}">
        <include name="**"/>
      </fileset>
    </copy>

    <!-- stops a running server -->
    <java classname="org.vfny.geoserver.EmbeddedTomcat" 
          classpathref="path.build" 
          fork="true">
      <arg value="stop"/>
      <jvmarg value="-DGEOSERVER_HOME=${basedir}"/>
      <jvmarg value="-DCATALINA_HOME=${basedir}/libraries/catalina"/>
    </java>
    <!-- remove the classes forcing the server to build new class,
         so changes to the code actually are reflected in test server. -->
     <delete  failonerror="false">
       <fileset dir="${dir.testApp}/classes/org"> 
         <exclude name="**/servlets/*"/>
       </fileset>
    </delete>
    <!-- builds servlets to test server -->
    <javac srcdir="${dir.src}" 
           destdir="${dir.testApp}/classes/" 
           includes="**/servlets/*.java" 
           classpathref="path.build"
              debug="on"/>
    <!-- builds embedded jar -->
    <jar jarfile="${dir.lib}/embedded.jar">
      <fileset dir="${dir.build}">
        <exclude name="**/org/*" />
        <include name="**/EmbeddedTomcat.class" />
      </fileset>
    </jar>
    <!-- builds geoserver jar to test server -->
    <jar jarfile="${dir.testApp}/lib/geoserver.jar">
      <fileset dir="${dir.build}">
        <exclude name="**/servlets/*" />
        <exclude name="**/EmbeddedTomcat.class" />
      </fileset>
    </jar>
    <!-- starts the test server -->
    <java classname="org.vfny.geoserver.EmbeddedTomcat" 
          classpathref="path.build" 
          fork="true">
      <arg value="start"/>
      <jvmarg value="-DGEOSERVER_HOME=${basedir}"/>
      <jvmarg value="-DCATALINA_HOME=${basedir}/libraries/catalina"/>
    </java>
  </target>

<!-- STOP SERVER -->
<!-- deploys application to test server -->
  <target name="stop" depends="init">
    <!-- stops a running server -->
    <java classname="org.vfny.geoserver.EmbeddedTomcat" 
          classpathref="path.build" 
          fork="true">
      <arg value="stop"/>
      <jvmarg value="-DGEOSERVER_HOME=${basedir}"/>
      <jvmarg value="-DCATALINA_HOME=${basedir}/libraries/catalina"/>
    </java>
  </target>

<!-- TEST CLEAN -->
<!-- deploys application to test server -->
  <target name="test-clean" depends="init, all">
    <delete dir="${basedir}/server/webapps/ROOT/WEB-INF/classes/org" 
            failonerror="false"/>
    <copy todir="${basedir}/server/webapps/ROOT/WEB-INF/classes" >
      <fileset dir="${dir.build}">
        <include name="**/servlets/**.class"/>
      </fileset>
    </copy>
  </target>

<!-- EXTERNAL TEST -->
<!-- deploys application to test server -->
  <target name="test-ext" depends="init, war">
    <!-- copy to test server -->
    <delete includeEmptyDirs="true" failonerror="false">
      <fileset dir="${dir.container}/geoserver"/>
    </delete>
    <delete file="${dir.container}/geoserver.war"  failonerror="false"/>
    <copy todir="${dir.container}/" flatten="yes">
      <fileset dir="${basedir}">
        <include name="geoserver.war"/>
      </fileset>
    </copy>
  </target>

<!-- ====================================================================== -->
<!-- BUILD TARGETS                                                          -->
<!-- ====================================================================== -->

<!-- WAR -->
  <target name="war" depends="init, all">
    <!-- preparation -->
    <delete file="${basedir}/geoserver.war" 
            failonerror="false"/>
    <delete dir="${basedir}/data" 
            failonerror="false"/>
    <mkdir dir="${basedir}/data"/>
    <copy todir="${basedir}/data" >
      <fileset dir="${dir.misc}/documents">
        <include name="license.txt"/>
        <include name="geoserver.log"/>
        <include name="z3950-geo.map"/>
      </fileset>
    </copy>


    <!-- populate base directory -->
    <mkdir dir="${basedir}/data/capabilities"/>
    <copy todir="${basedir}/data/capabilities">
      <fileset dir="${dir.misc}/documents">
        <include name="filter.xml"/>
        <include name="operations.xml"/>
        <include name="serviceMetadata.xml"/>
        <include name="additionalCapabilities.xml"/>
        <include name="operationsSignatures.xml"/>
        <include name="vfnyWfsWsdl.xml"/>
        <include name="OGC_Capabilities.xsd"/>
        <include name="feature.xsd"/>
        <include name="geometry.xsd"/>
      </fileset>
    </copy>

     <mkdir dir="${basedir}/data/capabilities/wfs"/>
    <mkdir dir="${basedir}/data/capabilities/wfs/1.0.0"/>
    <copy todir="${basedir}/data/capabilities/wfs/1.0.0">
      <fileset dir="${dir.misc}/documents/schemas">
        <include name="WFS-capabilities.xsd"/>
        <include name="WFS-transaction.xsd"/>
        <include name="WFS-basic.xsd"/>
        <include name="OGC-exception.xsd"/>
      </fileset>
    </copy>

    <mkdir dir="${basedir}/data/capabilities/filter/1.0.0"/>
    <copy todir="${basedir}/data/capabilities/filter/1.0.0">
      <fileset dir="${dir.misc}/documents/schemas">
        <include name="expr.xsd"/>
        <include name="filter.xsd"/>
        <include name="filterCapabilities.xsd"/>
      </fileset>
    </copy>
 
    
    <mkdir dir="${basedir}/data/capabilities/gml/2.1.2"/>
    <copy todir="${basedir}/data/capabilities/gml/2.1.2">
      <fileset dir="${dir.misc}/documents/schemas">
        <include name="feature.xsd"/>
        <include name="geometry.xsd"/>
        <include name="xlinks.xsd"/>
      </fileset>
    </copy>

     <mkdir dir="${basedir}/data/styles"/>
    <copy todir="${basedir}/data/styles">
      <fileset dir="${dir.styles}">
        <include name="**"/>
      </fileset>
    </copy>

    <!-- make feature types directory and populate -->
    <mkdir dir="${basedir}/data/featureTypes"/>
    <copy todir="${basedir}/data/featureTypes">
      <fileset dir="${dir.data}/featureTypes"/>
    </copy>

    <copy todir="${dir.build}">
      <fileset dir="${dir.misc}/documents">
        <include name="log4j.properties"/>
      </fileset>
    </copy>

    <!-- war file -->
    <war warfile="${basedir}/geoserver.war" 
         webxml="${dir.misc}/documents/web.xml" 
         update="true">

      <!-- classes -->
      <classes dir="${dir.build}">
        <include name="**/servlets/**" />
        <include name="**/log4j.properties" />
        <exclude name="**/servlets/utilities/**" />
        <exclude name="**/EmbeddedTomcat.class" />
      </classes>

      <!--webinf dir="${dir.conf}"/-->
      <webinf dir="${dir.conf}">
        <include name="services.xml"/>
        <include name="catalog.xml"/>
      </webinf>
      
      <!--webinf dir="${dir.data}"/>
      <webinf dir="${dir.misc}/documents">
        <include name="configuration.xml"/>
      </webinf-->

      <!-- libraries -->
      <lib dir="${dir.lib}">
        <exclude name="**/junit.jar" />
        <exclude name="**/servlet.jar" />
      </lib>
      <!-- directories -->
      <fileset dir="${basedir}">
        <include name="data/**"/>
        <include name="documentation/**"/>
      </fileset>
    </war>

    <!-- clean-up -->
    <delete file="${dir.build}/log4j.properties" failonerror="true"/>
    <delete dir="${basedir}/data" failonerror="true"/>
  </target>

<!-- DOCUMENTATION -->
<!-- generates all project documentation -->
  <target name="document" depends="init">
    <javadoc sourcepath="${dir.src}"
             destdir="${dir.doc}/api"
             private="true"
             windowtitle="GeoServer Documentation"
             classpathref="path.build"
             stylesheetfile="${dir.misc}/documents/stylesheet.css">
      <package name="org.vfny.geoserver.*"/>
      <doctitle>
        <![CDATA[<h1>GeoServer Documentation</h1>]]>
      </doctitle>
      <bottom>
        <![CDATA[<i>Copyright &#169; 2002 The Open Planning Project.</i>]]>
      </bottom>

      <!-- link documents -->
      <link offline="true" 
            href="http://java.sun.com/xml/jaxb" 
            packagelistLoc="${dir.misc}/packageLists/jax-b"/>
      <link offline="true" 
            href="http://java.sun.com/products/jdk/1.2/docs/api/" 
            packagelistLoc="${dir.misc}/packageLists/jdk"/>
      <link offline="true" 
            href="http://java.sun.com/j2ee/sdk_1.2.1/techdocs/api/" 
            packagelistLoc="${dir.misc}/packageLists/servlet"/>
      <link offline="true" 
            href="http://java.sun.com/xml/sax" 
            packagelistLoc="${dir.misc}/packageLists/xerces"/>
      <link offline="true" 
            href="http://jakarta.apache.org/log4j/docs/api/" 
            packagelistLoc="${dir.misc}/packageLists/log4j"/>
    </javadoc>
  </target>


<!-- RELEASE -->
<!-- builds a release version of the application -->
  <target name="release" depends="init, all">
    
    <delete file="${basedir}/geoserver-${name.release}.tar.gz" 
            failonerror="false"/>
    <delete file="${basedir}/geoserver-${name.release}.tar" 
            failonerror="false"/>
    <delete dir="${dir.build}" failonerror="false"/>
    <delete dir="${dir.release}" failonerror="false"/>
    <copy file="${dir.misc}/documents/license.txt" todir="${basedir}"/>
    <tar longfile="gnu"
         basedir="${basedir}"
         tarfile="geoserver-${name.release}.tar"/>

    <delete file="${basedir}/geoserver-${name.release}.tar.gz" 
            failonerror="false"/>
    <gzip src="geoserver-${name.release}.tar" 
          zipfile="geoserver-${name.release}.tar.gz"/>
    <copy file="${basedir}/geoserver-${name.release}.tar.gz" 
          todir="${dir.release}"/>

    <delete file="${basedir}/geoserver-${name.release}.tar.gz" 
            failonerror="true"/>
    <delete file="${basedir}/geoserver-${name.release}.tar" 
            failonerror="true"/>
    <delete file="${basedir}/geoserver.war" failonerror="true"/>
    <delete file="${basedir}/license.txt" failonerror="true"/>
  </target>


<!-- NIGHTLY -->
<!-- archives the current version of the project -->
  <target name="nightly" depends="init, war">
    <delete file="${basedir}/changelog-${date.current}.txt" 
            failonerror="false"/>
    <copy file="${dir.changelog}/changelog-${date.current}.txt" 
          todir="${basedir}"/>
    <delete file="${basedir}/geoserver-${date.current}.tar" 
            failonerror="false"/>
    <delete file="${dir.nightly}/geoserver-${date.current}.tar.gz" 
            failonerror="false"/>
    <tar tarfile="${basedir}/geoserver-${date.current}.tar" 
         basedir="${basedir}" 
         longfile="gnu"/>
    <gzip src="${basedir}/geoserver-${date.current}.tar" 
          zipfile="${dir.nightly}/geoserver-${date.current}.tar.gz"/>

    <delete file="${basedir}/geoserver.war"  failonerror="false"/>
    <delete file="${basedir}/geoserver-${date.current}.tar" 
            failonerror="false"/>
    <delete file="${basedir}/changelog-${date.current}.txt" 
            failonerror="false"/>
  </target>

<!-- ====================================================================== -->
<!-- ADMIN TARGETS                                                          -->
<!-- ====================================================================== -->
<!-- TABS -->
<!-- turns all tabs into 4 spaces -->
  <target name="fix-tabs" depends="init">
    <fixcrlf srcdir="${dir.src}" 
             tab="remove" 
             tablength="4"
             javafiles="true"
             includes="**/*.java"/>
  </target>

<!-- GEOTOOLS JAR -->
<!-- builds geotools jar -->
  <target name="geotools" depends="init">
    <delete file="${dir.lib}/geotools.jar" failonerror="true"/>
    <jar jarfile="${dir.lib}/geotools.jar"
         whenempty="fail">
      <fileset dir="${dir.geotools}/core/target/classes/"
               includes="**/*.class"/>
      <fileset dir="${dir.geotools}/data/target/classes/"
               includes="**/*.class"/>                        
      <fileset dir="${dir.geotools}/defaultcore/target/classes/"
               includes="**/*.class"/>
      <fileset dir="${dir.geotools}/filter/target/classes/"
               includes="**/*.class"/>
      <fileset dir="${dir.geotools}/cts-coordtrans/target/classes/"
               includes="**/*.class"/>
      <fileset dir="${dir.geotools}/gcs-coverage/target/classes/"
               includes="**/*.class"/>          
      <fileset dir="${dir.geotools}/lite-rendering/target/classes/"
               includes="**/*.class"/>
      <fileset dir="${dir.geotools}/resources/target/classes/"
               includes="**/*.class"/>   
      <fileset dir="${dir.geotools}/sldstyling/target/classes/"
               includes="**/*.class"/>               
      <fileset dir="${dir.geotools}/svgsupport/target/classes/"
               includes="**/*.class"/>   
    </jar>
    
    <!-- I am not sure why this is not part of the geotools jar -->
    <delete file="${dir.lib}/gmldatasource-SNAPSHOT.jar" failonerror="true"/>    
    <jar jarfile="${dir.lib}/gmldatasource-SNAPSHOT.jar"
         whenempty="fail">
      <fileset dir="${dir.geotools}/gmldatasource/target/classes/"
               includes="**/*.class"/>
	</jar>

    <!-- Potgis support, include META-INF -->	
    <delete file="${dir.lib}/postgis-SNAPSHOT.jar" failonerror="true"/>        
	<jar jarfile="${dir.lib}/postgis-SNAPSHOT.jar"
         whenempty="fail">	
      <fileset dir="${dir.geotools}/postgis/target/classes/"/>
	</jar>
	
    <!-- Esri Shapefile support, include META-INF -->	
    <delete file="${dir.lib}/shapefile-SNAPSHOT.jar" failonerror="true"/>            
	<jar jarfile="${dir.lib}/shapefile-SNAPSHOT.jar"
         whenempty="fail">	
      <fileset dir="${dir.geotools}/shapefile/target/classes/"/>
	</jar>
	
    <!-- Oracle Spatial support, include META-INF -->		
    <delete file="${dir.lib}/oracle-spatial-SNAPSHOT.jar" failonerror="true"/>            
	<jar jarfile="${dir.lib}/oracle-spatial-SNAPSHOT.jar"
         whenempty="fail">	
      <fileset dir="${dir.geotools}/oraclespatial/target/classes/"/>
	</jar>	
	
    <!-- Java Property support, include META-INF -->		
    <delete file="${dir.lib}/property-SNAPSHOT.jar" failonerror="true"/>            
	<jar jarfile="${dir.lib}/property-SNAPSHOT.jar"
         whenempty="fail">	
      <fileset dir="${dir.geotools}/j2se-demos/target/classes/"
      	       includes="META-INF/**"/>
      <fileset dir="${dir.geotools}/j2se-demos/target/classes/"
      	       includes="geotools/data/**"/>
	</jar>
	
    <!-- Java Property support, include META-INF -->		
    <delete file="${dir.lib}/arcsde-SNAPSHOT.jar" failonerror="true"/>                
	<jar jarfile="${dir.lib}/arcsde-SNAPSHOT.jar"
         whenempty="fail">	
      <fileset dir="${dir.geotools}/arcsde/target/classes/"/>
	</jar>	
	
  </target>
</project>
