blob: 0cfc8a889e33022309c7047e405a4fb6f946dd53 [file] [log] [blame]
<?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="derby" />
<property name="schema" value="schemas/easypo.xsd" />
<property name="template" value="datamodel.vm" />
<property name="output" value="build/datamodel.xml" />
<property name="ddl" value="build/create.sql" />
<path id="vxsdb.runtime.classpath">
<pathelement path="build" />
<pathelement location="lib/commons-collections-3.1.jar" />
<pathelement location="lib/commons-lang-2.1.jar" />
<pathelement location="lib/commons-logging-1.0.3.jar" />
<pathelement location="lib/log4j-1.2.8.jar" />
<pathelement location="lib/velocity-1.5.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.8.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-dbcp-1.2.1.jar" />
<pathelement location="lib/commons-pool-1.2.jar" />
<pathelement location="lib/commons-lang-2.1.jar" />
<pathelement location="lib/DdlUtils-1.0-RC1.jar" />
<pathelement location="lib/dom4j-1.4.jar" />
<pathelement location="lib/log4j-1.2.8.jar"/>
<pathelement location="lib/derby-10.1.1.0.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="create-db-sql" depends="run" description="Create an sql script (DDL) from the xml datamodel">
<!-- DDLUtils Task-->
<taskdef name="ddl" classname="org.apache.ddlutils.task.DdlToDatabaseTask" description="The task used to create a ddl from the datamodel xml." classpathref="commons-sql.runtime.classpath" />
<ddl schemaFile="${output}" databaseType="${targetDatabase}">
<database url="jdbc:derby:build/db"
driverClassName="org.apache.derby.jdbc.EmbeddedDriver"
username=""
password=""/>
<createDatabase failonerror="false"/>
<writeSchemaSqlToFile outputFile="${ddl}" />
</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>