blob: be71fbd1a34d9cdf66070d84f6ce61f24bf0799c [file] [log] [blame]
<?xml version="1.0"?>
<project name="oracleddlparser.test" default="build" basedir=".">
<!-- OS environment variables have 'env' as a prefix -->
<property environment="env"/>
<presetdef
name="DeleteDirQuietly"
>
<delete
dir="_tmp_"
quiet="true"
failonerror="false"
/>
</presetdef>
<presetdef
name="DeleteFileQuietly"
>
<delete
file="_tmp_"
quiet="true"
failonerror="false"
/>
</presetdef>
<property
name="version.qualifier"
value="qualifier"
/>
<!-- user property overrides -->
<property file="${user.home}/build.properties"/>
<!-- properties checked into SVN -->
<property file="./antbuild.properties"/>
<!-- user testing properties overrides -->
<property file="${user.home}/test.properties"/>
<!-- testing properties checked into SVN -->
<property file="${oracleddlparser.test.build.location}/test.properties"/>
<property name="version.string" value="${release.version}.qualifier"/>
<!-- Test dependencies -->
<available file="${junit.lib}" property="junit.jar.exist"/>
<available file="${jdbc.driver.jar}" property="jdbc.jar.exist"/>
<condition property="support.test">
<and>
<isset property="junit.jar.exist"/>
<isset property="jdbc.jar.exist"/>
<isset property="db.platform"/>
<!-- bit too lenient, but means we don't have to change for Oracle12, Oracle13 .. -->
<matches
pattern="org.eclipse.persistence.platform.database.oracle.Oracle[0-9]{1,2}Platform"
string="${db.platform}"
/>
</and>
</condition>
<!--
compile path is complex, not just eclipselink.jar
Put core (plugin) modules first on path so that any
in-progress work that has just be re-compiled will be
picked up ahead of eclipselink.jar
-->
<!-- Set Compile Path-->
<path id="oracleddlparser.test.compile.path">
<pathelement path="${junit.lib}"/>
<pathelement path="${wsdl.lib}"/>
<fileset
dir="D:\\Workspace\\repositories\\oracleddlparser.test"
includes="${oracleddlparser.jar}, ${eclipselink.dbws.jar}, ${eclipselink.dbws.builder.jar}"
/>
<pathelement path="${eclipselink.lib}"/>
<!--fileset
dir="${core.plugins.dir}"
includes="${core.plugins}, org.eclipse.persistence.dbws.builder_${version.string}.jar"
/>
<fileset
dir="${dbws.plugins.dir}"
includes="${dbws.plugins}, org.eclipse.persistence.dbws.builder_${version.string}.jar"
/>
<pathelement path="../../eclipselink.jar"/-->
</path>
<!-- Test Path-->
<path id="oracleddlparser.test.path">
<pathelement path="${jdbc.driver.jar}"/>
<path refid="oracleddlparser.test.compile.path"/>
<pathelement location="${oracleddlparser.test.jar}"/>
</path>
<!-- these presets and macros must be defined AFTER .properties read -->
<presetdef name="javac">
<javac
fork="true"
debug="${javac.debug}"
debuglevel="${javac.debuglevel}"
source="1.6"
target="1.6"
failonerror="true"
memoryMaximumSize="512m"
/>
</presetdef>
<macrodef name="SetupDatabase">
<attribute name="filename"/>
<sequential>
<sql
onerror="continue"
keepformat="true"
driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
delimiter="|"
>
<classpath>
<pathelement location="${jdbc.driver.jar}"/>
</classpath>
<fileset
dir="${resource.dir}"
>
<include name="dbsetup_@{filename}.sql"/>
</fileset>
</sql>
</sequential>
</macrodef>
<macrodef name="RunTestsuite">
<attribute name="testsuite-name"/>
<sequential>
<junit
printsummary="withOutAndErr"
fork="yes"
forkmode="once"
maxmemory="512m"
>
<classpath refid="oracleddlparser.test.path"/>
<formatter
type="xml"
/>
<sysproperty
key="eclipselink.logging.level"
value="${logging.level}"
/>
<sysproperty
key="db.driver"
value="${db.driver}"
/>
<sysproperty
key="db.url"
value="${db.url}"
/>
<sysproperty
key="db.user"
value="${db.user}"
/>
<sysproperty
key="db.pwd"
value="${db.pwd}"
/>
<sysproperty
key="db.platform"
value="${db.platform}"
/>
<test name="@{testsuite-name}"/>
</junit>
</sequential>
</macrodef>
<macrodef name="TeardownDatabase">
<attribute name="filename"/>
<sequential>
<sql
onerror="continue"
keepformat="true"
driver="${db.driver}"
url="${db.url}"
userid="${db.user}"
password="${db.pwd}"
delimiter="|"
>
<classpath>
<pathelement location="${jdbc.driver.jar}"/>
</classpath>
<fileset dir="${resource.dir}">
<include name="dbteardown_@{filename}.sql"/>
</fileset>
</sql>
</sequential>
</macrodef>
<target name="build" depends="clean, package-parser, package-dbws, compile, package"/>
<target name="clean">
<DeleteDirQuietly dir="${classes.dir}"/>
<mkdir dir="${classes.dir}"/>
<DeleteDirQuietly dir="${run.dir}"/>
<mkdir dir="${run.dir}"/>
<DeleteFileQuietly file="${oracleddlparser.jar}"/>
<DeleteFileQuietly file="${oracleddlparser.test.jar}"/>
<DeleteFileQuietly file="${eclipselink.dbws.jar}"/>
<DeleteFileQuietly file="${eclipselink.dbws.builder.jar}"/>
</target>
<target name="compile">
<javac
srcdir="${src.dir}"
destdir="${classes.dir}"
classpathref="oracleddlparser.test.compile.path"
/>
</target>
<target
name="package-parser"
>
<jar
jarfile="${oracleddlparser.jar}">
<fileset dir="${oracleddlparser.lib}/${classes.dir}">
<include name="org/eclipse/persistence/tools/oracleddl/**/*.class"/>
</fileset>
</jar>
</target>
<target
name="package-dbws"
>
<jar
jarfile="${eclipselink.dbws.jar}">
<fileset dir="${eclipselink.dbws.lib}/${classes.dir}">
<include name="org/eclipse/persistence/**/*.class"/>
</fileset>
</jar>
<jar jarfile="${eclipselink.dbws.builder.jar}">
<fileset dir="${eclipselink.dbws.builder.lib}/${classes.dir}">
<include name="META-INF/services/**/*.*"/>
</fileset>
<fileset dir="${eclipselink.dbws.builder.lib}/${classes.dir}">
<!--include name="org/eclipse/persistence/**/*.class"/-->
<include name="**/*.class"/>
</fileset>
</jar>
</target>
<target
name="package"
>
<jar
jarfile="${oracleddlparser.test.jar}">
<fileset dir="${classes.dir}">
<include name="org/eclipse/persistence/tools/oracleddl/test/**/*.class"/>
</fileset>
</jar>
</target>
<target
name="run-tests"
depends="build"
>
<SetupDatabase filename="tabletype"/>
<SetupDatabase filename="indexedtabletype"/>
<RunTestsuite testsuite-name="org.eclipse.persistence.tools.oracleddl.test.metadata.TableTypeTests"/>
<TeardownDatabase filename="tabletype"/>
<TeardownDatabase filename="indexedtabletype"/>
<junitreport
todir="${run.dir}"
>
<fileset
dir="."
>
<include
name="TEST-*Suite.xml"
/>
</fileset>
<report
format="noframes"
todir="${run.dir}"
/>
</junitreport>
</target>
</project>