<?xml version="1.0" encoding="UTF-8"?>
<!--***********************************************************
 *
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 *
 ***********************************************************-->


<project name="sdbc_hsqldb" default="main" basedir=".">

    <!-- ================================================================= -->
    <!-- settings                                                          -->
    <!-- ================================================================= -->

    <!-- global properties -->
    <property file="../../../ant.properties"/>
    <!-- version info -->
    <property file="../../../solenv/inc/minor.mk"/>

    <!-- name of this sub target used in recursive builds -->
    <property name="target" value="sdbc_hsqldb"/>

    <!-- name of jar file created, without .jar extension -->
    <property name="jarname" value="sdbc_hsqldb"/>

    <!-- relative path to project directory -->
    <property name="prj" value="../.."/>

    <!-- build output directory -->
    <!-- FIXME: there are also extremely rare/obsolete dbcs/bndchk/truetime/hbtoolkit cases in main/solenv/inc/settings.mk -->
    <condition property="out" value="${prj}/${OUTPATH}.cap">
        <isset property="${profile}"/>
    </condition>
    <condition property="out" value="${prj}/${OUTPATH}.pro">
        <isset property="${PRODUCT}"/>
    </condition>
    <property name="out" value="${prj}/${OUTPATH}"/>

    <!-- build directories -->
    <property name="build.dir" value="${out}"/>
    <property name="build.class" value="${build.dir}/class/${target}"/>
    <property name="build.misc" value="${build.dir}/misc/${target}"/>

    <!-- start of java source code package structure -->
    <property name="java.dir" value="src"/>

    <!-- define how to handle CLASSPATH environment -->
    <property name="build.sysclasspath" value="ignore"/>

    <!-- classpath settings for compile and javadoc tasks -->
    <condition property="jar-class-path" value="${HSQLDB_JAR}" else="hsqldb.jar">
        <equals arg1="${SYSTEM_HSQLDB}" arg2="YES"/>
    </condition>
    <property name="HSQLDB_JAR" value="${OUTDIR}/bin/hsqldb.jar"/>
    <path id="classpath">
        <!-- 3rd party libs -->
        <pathelement location="${HSQLDB_JAR}"/>
    </path>

    <!-- name to display in documentation -->
    <property name="docname" value="sdbc_hsqldb"/>

    <!-- set "modern" java compiler -->
    <property name="build.compiler" value="modern"/>

    <!-- set whether we want to compile with debug information -->
    <property name="debug" value="on"/>

    <!-- set whether we want to compile with optimisation -->
    <property name="optimize" value="off"/>

    <!-- set whether we want to compile with or without deprecation -->
    <property name="deprecation" value="on"/>

    <target name="info">
        <echo message="--------------------"/>
        <echo message="${target}"/>
        <echo message="--------------------"/>
    </target>

    <!-- ================================================================= -->
    <!-- custom targets                                                    -->
    <!-- ================================================================= -->

    <!-- the main target, called in recursive builds -->
    <target name="main" depends="info,prepare,compile,jar,javadoc,zipdoc"/>

    <!-- prepare output directories -->
    <target name="prepare">
        <mkdir dir="${build.dir}"/>
        <mkdir dir="${build.dir}/doc/${target}"/>
        <mkdir dir="${build.class}"/>
        <mkdir dir="${build.misc}"/>
    </target>


    <target name="res" depends="prepare">
        <copy todir="${build.class}">
             <fileset dir="${java.dir}">
                 <include name="**/*.properties"/>
                 <include name="**/*.css"/>
                 <include name="**/*.dtd"/>
                 <include name="**/*.form"/>
                 <include name="**/*.gif "/>
                 <include name="**/*.htm"/>
                 <include name="**/*.html"/>
                 <include name="**/*.js"/>
                 <include name="**/*.mod"/>
                 <include name="**/*.sql"/>
                 <include name="**/*.xml"/>
                 <include name="**/*.xsl"/>
                 <include name="**/*.map"/>

             </fileset>
        </copy>
    </target>


    <target name="compile" depends="prepare,res">
	<javac destdir="${build.class}"
	       debug="${debug}"
               deprecation="${deprecation}"
	       optimize="${optimize}"
	       classpathref="classpath">
            <src path="${java.dir}"/>
	    <include name="**/*.java"/>
	</javac>
    </target>

    <!-- check if javadoc is up to date -->
    <target name="javadoc_check" depends="prepare" if="build.dir">
	<uptodate property="javadocBuild.notRequired" value="true"
            targetfile="${build.dir}/doc/${target}/${target}_javadoc.zip">
		<srcfiles dir="${java.dir}" includes="**/*.java"/>
	</uptodate>
    </target>

    <!-- generate java documentation -->
    <target name="javadoc" depends="prepare,javadoc_check,compile"
         unless="javadocBuild.notRequired"
         if="build.dir">

        <javadoc destdir="${build.dir}/doc/${target}/javadoc"
                 verbose="false"
                 author="false"
                 nodeprecated="true"
                 nodeprecatedlist="true"
                 use="true"
                 Doctitle="${docname}"
                 windowtitle="${docname}"
                 classpathref="classpath">

            <packageset dir="${java.dir}" defaultexcludes="yes">
                <include name="com/**"/>
                <include name="org/**"/>
            </packageset>

            <link offline="true" href="http://java.sun.com/j2se/1.4.2/docs/api"
                  packagelistLoc="${common.doc}/jdk1.4.2"/>
            <link offline="true"
                  href="http://java.sun.com/products/servlet/2.3/javadoc"
                  packagelistLoc="${common.doc}/servlet2.3"/>
            <link offline="true"
                  href="http://logging.apache.org/log4j/docs/api"
                  packagelistLoc="${common.doc}/log4j-1.2.8"/>
            <link offline="true"
                  href="http://java.sun.com/products/javabeans/glasgow/javadocs"
                  packagelistLoc="${common.doc}/jaf-1.0.2"/>
            <link offline="true"
                  href="http://java.sun.com/products/javamail/javadocs"
                  packagelistLoc="${common.doc}/javamail-1.3.1"/>
            <link offline="true"
                  href="http://ws.apache.org/soap/docs"
                  packagelistLoc="${common.doc}/soap-2.3.1"/>

            <bottom>&lt;i&gt;Copyright &amp;#169; 2004 Sun Microsystems, Inc., 901 San Antonio Road, Palo Alto, CA 94303 USA&lt;/i&gt;</bottom>
            <header>${docname}</header>

       </javadoc>
    </target>

    <!-- zip documentation and store in build/doc/${target} -->
    <target name="zipdoc" depends="javadoc" if="build.dir" unless="javadocBuild.notRequired">
	<zip zipfile="${build.dir}/doc/${target}/${target}_javadoc.zip"
      basedir="${build.dir}/doc/${target}/javadoc"
      update="true"/>
    </target>

    <!-- clean up -->
    <target name="clean" depends="prepare">
        <delete dir="${build.class}" includeEmptyDirs="true"/>
        <delete dir="${build.dir}/doc/${target}" includeEmptyDirs="true"/>
    </target>

    <!-- create jar file -->
    <target name="jar" depends="prepare,compile" if="build.class">
        <jar jarfile="${build.class}/${jarname}.jar"
             basedir="${build.class}">
            <manifest>
                <attribute name="Class-Path" value="${jar-class-path} .."/>
                <attribute name="Solar-Version" value="${RSCREVISION}"/>
            </manifest>
            <include name="**/*.class"/>
            <include name="**/*.properties"/>
            <include name="**/*.css"/>
            <include name="**/*.dtd"/>
            <include name="**/*.form"/>
            <include name="**/*.gif "/>
            <include name="**/*.htm"/>
            <include name="**/*.html"/>
            <include name="**/*.js"/>
            <include name="**/*.mod"/>
            <include name="**/*.sql"/>
            <include name="**/*.xml"/>
            <include name="**/*.xsl"/>
            <include name="**/*.map"/>
        </jar>
    </target>

    <target name="test" depends="prepare">
    </target>

</project>
