| <?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> |
| |