<?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-runtime" default="create-db-sql">

    <description>
        Execute vxsdb sample.
    </description>

    <property environment="env" />
    <property name="targetDatabase" value="postgresql" />
    <property name="schema" value="schemas/easypo.xsd" />
    <property name="template" value="datamodel.vm" />
    <property name="output" value="xml/datamodel.xml" />
    <property name="ddl" value="sql/create.sql" />

    <path id="vxsdb.runtime.classpath">
        <pathelement path="build" />
        <pathelement location="lib/ant-1.6.2.jar" />
        <pathelement location="lib/commons-collections-3.1.jar" />
        <pathelement location="lib/commons-logging-1.0.3.jar" />
        <pathelement location="lib/log4j-1.2.8.jar" />
        <pathelement location="lib/velocity-1.4.jar" />
        <path refid="xmlbeans.path" />
    </path>

    <path id="commons-sql.runtime.classpath">
        <pathelement location="lib/commons-beanutils-1.7.0.jar" />
        <pathelement location="lib/commons-betwixt-0.5.jar" />
        <pathelement location="lib/commons-collections-3.1.jar" />
        <pathelement location="lib/commons-digester-1.5.jar" />
        <pathelement location="lib/commons-logging-1.0.3.jar" />
        <pathelement location="lib/commons-sql-1.0-dev.jar" />
        <pathelement location="lib/dom4j-1.4.jar" />
    </path>

    <target name="run" depends="init" description="Run the sample code">
        <!-- VelocityXmlBeans Task -->
        <taskdef name="vxsdb" classname="org.apache.xmlbeans.samples.vxsdb.VelocityXmlBeansDB" description="The task used to run the sample code." classpathref="vxsdb.runtime.classpath" />
        <!-- Substitute any of your own schemas templates and output files -->
        <vxsdb schema="${schema}" template="${template}" output="${output}" />
    </target>

    <target name="runjava" depends="init" description="Run the sample code">
        <!-- VelocityXmlBeans Task -->
        <java classname="org.apache.xmlbeans.samples.vxsdb.VelocityXmlBeansDB" fork="yes" failonerror="yes" classpathref="vxsdb.runtime.classpath">
            <arg value="${template}" />
            <arg value="${output}" />
            <arg value="${schema}" />
        </java>
    </target>

    <target name="create-db-sql" depends="runjava" description="Create an sql script (DDL) from the xml datamodel">
        <!-- Jakarta Commons SQL Task-->
        <taskdef name="ddl" classname="org.apache.commons.sql.task.DDLTask" description="The task used to create a ddl from the datamodel xml." classpathref="commons-sql.runtime.classpath" />
        <ddl xmlFile="${output}" targetDatabase="${targetDatabase}" output="${ddl}" />
    </target>

    <target name="clean" description="Delete the generated files">
        <delete file="xml/datamodel.xml" />
        <delete file="sql/create.sql" />
    </target>

    <target name="init" description="Preexecution 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>

    </target>

</project>

