<?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="dbtools" 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="dbtools"/>

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

    <!-- 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="${COMMONS_LANG_JAR}" else="commons-lang3-3.3.jar">
        <equals arg1="${SYSTEM_APACHE_COMMONS}" arg2="YES"/>
    </condition>
    <condition property="commons-lang-jar" value="${COMMONS_LANG_JAR}" else="${OUTDIR}/bin/commons-lang3-3.3.jar">
        <equals arg1="${SYSTEM_APACHE_COMMONS}" arg2="YES"/>
    </condition>
    <path id="classpath">
        <pathelement location="${OUTDIR}/bin/juh.jar"/>
        <pathelement location="${OUTDIR}/bin/jurt.jar"/>
        <pathelement location="${OUTDIR}/bin/ridl.jar"/>
        <pathelement location="${OUTDIR}/bin/unoil.jar"/>
        <!-- 3rd party libs -->
        <pathelement location="${commons-lang-jar}"/>
    </path>

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

    <!-- 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}"
               debuglevel="lines,vars,source"
               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} juh.jar jurt.jar ridl.jar unoil.jar"/>
                <attribute name="Solar-Version" value="${RSCREVISION}"/>
                <attribute name="RegistrationClassName" value="com.sun.star.sdbcx.comp.postgresql.PostgresqlDriver"/>
                <attribute name="Sealed" value="true"/>
                <attribute name="UNO-Type-Path" value=""/>
            </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>
