<?xml version="1.0"?>
<!--
/* Copyright 2002-2004 Apache Software Foundation
 *
 * Licensed 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="vxsdb-build" default="build">

    <property environment="env" />
    <property name="targetDatabase" value="postgresql" />

    <description>
            Sample integration of Velocity and XmlBeans to produce a Jakarta commons-sql datamodel.xml file.
    </description>

    <target name="build" depends="init,getdeps" description="Compile the sample code">
        <javac srcdir="src/java" destdir="build">
            <classpath>
                <pathelement location="lib/ant-1.6.2.jar" />
                <pathelement location="lib/commons-logging-1.0.3.jar" />
                <pathelement location="lib/velocity-1.4.jar" />
                <path refid="xmlbeans.path" />
            </classpath>
        </javac>
    </target>

    <target name="getdeps" unless="deps.exist">
        <get dest="lib/ant-1.6.2.jar" src="http://www.ibiblio.org/maven/ant/jars/ant-1.6.2.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/commons-beanutils-1.7.0.jar" src="http://www.ibiblio.org/maven/commons-beanutils/jars/commons-beanutils-1.7.0.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/commons-betwixt-0.5.jar" src="http://www.ibiblio.org/maven/commons-betwixt/jars/commons-betwixt-0.5.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/commons-collections-3.1.jar" src="http://www.ibiblio.org/maven/commons-collections/jars/commons-collections-3.1.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/commons-digester-1.5.jar" src="http://www.ibiblio.org/maven/commons-digester/jars/commons-digester-1.5.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/commons-logging-1.0.3.jar" src="http://www.ibiblio.org/maven/commons-logging/jars/commons-logging-1.0.3.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/commons-sql-1.0-dev.jar" src="http://www.ibiblio.org/maven/commons-sql/jars/commons-sql-1.0-dev.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/dom4j-1.4.jar" src="http://www.ibiblio.org/maven/dom4j/jars/dom4j-1.4.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/log4j-1.2.8.jar" src="http://www.ibiblio.org/maven/log4j/jars/log4j-1.2.8.jar" verbose="true" usetimestamp="true" />
        <get dest="lib/velocity-1.4.jar" src="http://www.ibiblio.org/maven/velocity/jars/velocity-1.4.jar" verbose="true" usetimestamp="true" />
    </target>

    <target name="init" description="Precompiler initialization">

        <property name="xmlbeans.home" value="${env.XMLBEANS_HOME}" />
        <echo message="xmlbeans.home: ${xmlbeans.home}" />

        <!-- check for xbean.jar from binary distribution -->
        <available property="xmlbeans.lib" value="${xmlbeans.home}/lib" file="${xmlbeans.home}/lib/xbean.jar" />

        <!-- check for xbean.jar compiled from source -->
        <available property="xmlbeans.lib" value="${xmlbeans.home}/build/lib" file="${xmlbeans.home}/build/lib/xbean.jar" />

        <fail message="Set XMLBEANS_HOME in your enviornment." unless="xmlbeans.lib" />

        <echo message="xmlbeans.lib: ${xmlbeans.lib}" />
        <path id="xmlbeans.path">
            <fileset dir="${xmlbeans.lib}" includes="*.jar" />
        </path>

        <mkdir dir="lib" />
        <mkdir dir="build" />
        <copy file="src/java/log4j.xml" todir="build" />
    </target>

    <target name="clean" description="Delete the compiled code">
        <delete dir="build" />
    </target>

</project>
