| <?xml version="1.0"?> |
| <!--/******************************************************************************* |
| * This program and the accompanying materials are made available under the |
| * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 |
| * which accompanies this distribution. |
| * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html |
| * and the Eclipse Distribution License is available at |
| * http://www.eclipse.org/org/documents/edl-v10.php. |
| * |
| * Ant naming conventions: |
| * - regardless of the actual OS platform,'/' is the directory separator |
| * (Ant will convert as appropriate). |
| * - multi-word properties use periods '.' |
| * - properties ending in .jar define jarfile names only (no path) |
| * - properties ending in .lib are fully qualified jars (path and filename) |
| * - properties ending in .dir are directory paths |
| * - properties ending in .path are path refid names (classpath fragments) |
| * - multi-word targets use hyphens '-' |
| * - targets beginning with test- are reserved for high level test targets, |
| * and are used in test results parsing |
| * - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip) |
| * - multi-word macros use underscores '_' |
| * - multi-word macro attributes are concatenated |
| * e.g. 'runpathref' |
| * - multi-word tasks (taskdef) names are concatenated |
| * e.g. 'validateconnection' |
| * - OS environment variables are in ALLCAPS and have 'env' as a prefix |
| * e.g. ${env.XXX}. |
| * - Ant properties are lower case. |
| * |
| * Contributors: |
| * egwin - initial API and implementation |
| * egwin - update to adopt calling standards |
| * egwin - update to dynamic dependency loading |
| #******************************************************************************/--> |
| <!-- This ant project includes the following tasks: |
| - build (default) : cleans, compiles, and packages all tests |
| - clean : cleans up all generated files and dirs |
| - compile : compiles all test classes |
| - package : packages tests into eclipselink-dbws-oracle-depend-test.jar |
| - test: Runs DBWS utils Oracle-specific tests |
| --> |
| <project name="eclipselink.dbws.builder.test" default="build" basedir="."> |
| <!-- Test to make certain that build is run from component dir --> |
| <available file="../${ant.project.name}" type="dir" property="dbwsbldrtest.is.local"/> |
| <fail unless="dbwsbldrtest.is.local" message="Not running from '${ant.project.name}' directory"/> |
| |
| <dirname property="dbwsbldrtest.build.location_temp" file="${ant.file.eclipselink.dbws.builder.test}"/> |
| <pathconvert targetos="unix" property="dbwsbldrtest.build.location"> |
| <path> |
| <pathelement location="${dbwsbldrtest.build.location_temp}"/> |
| </path> |
| </pathconvert> |
| <echo message="dbwsbldrtest.build.location = '${dbwsbldrtest.build.location}'"/> |
| <condition property="dbwsbldrtest.2.base.dir" value="../.." else=".."> |
| <contains string="${dbwsbldrtest.build.location}" substring="utils/${ant.project.name}"/> |
| </condition> |
| <echo message="dbwsbldrtest.2.base.dir = '${dbwsbldrtest.2.base.dir}'"/> |
| <property name="dbwsbldrtest.2.common.plugins.dir" value="${dbwsbldrtest.build.location}/${dbwsbldrtest.2.base.dir}/plugins"/> |
| <property name="dbwsbldrtest.2.plugins.dir" value="${dbwsbldrtest.build.location}/../plugins"/> |
| <property name="dbwsbldrtest.2.buildsys.dir" value="${dbwsbldrtest.2.base.dir}/buildsystem"/> |
| <property name="dbwsbldrtest.2.dbwsbldr.dir" value="../org.eclipse.persistence.dbws.builder"/> |
| <property name="jacocoagent.lib" value="${extensions.depend.dir}/${jacocoagent.jar}"/> |
| |
| <!-- OS environment variables have 'env' as a prefix --> |
| <property environment="env"/> |
| <condition property="custom.properties.message" value="Loading ${user.home}/build.properties..." |
| else="Custom properties file '${user.home}/build.properties' not found to load."> |
| <available file="${user.home}/build.properties"/> |
| </condition> |
| <echo message="${custom.properties.message}"/> |
| <property file="${user.home}/build.properties"/> |
| <property file="${dbwsbldrtest.build.location}/antbuild.properties"/> |
| <condition property="custom.test.properties.message" value="Loading ${user.home}/test.properties..." |
| else="Custom properties file '${user.home}/test.properties' not found to load."> |
| <available file="${user.home}/test.properties"/> |
| </condition> |
| <echo message="${custom.test.properties.message}"/> |
| <property file="${user.home}/test.properties"/> |
| <property file="${dbwsbldrtest.build.location}/test.properties"/> |
| |
| <!-- JVM used to run tests --> |
| <property name="test.junit.jvm" value="${env.JAVA_HOME}"/> |
| <property name="test.junit.jvm.exec" value="${test.junit.jvm}/bin/java"/> |
| |
| <!-- Primary Targets: "jar" separate for dev use --> |
| <target name="build" depends="clean, compile, package" description="build dbwsbldrtests jar"/> |
| <target name="test" depends="build, run-tests" description="run tests after building"/> |
| |
| <!-- clean --> |
| <target name="clean" description="Clean all generated content"> |
| <DeleteDirQuietly dir="${classes.dir}"/> |
| <DeleteDirQuietly dir="${run.dir}"/> |
| <DeleteFileQuietly file="${dbwsbldrtest.jar}"/> |
| </target> |
| |
| <!-- initialize varables and paths needed for compile --> |
| <!-- the number of properties needed now is too great for lazy loading without a target --> |
| <target name="init"> |
| <property name="custom.tasks.lib" value="${dbwsbldrtest.2.buildsys.dir}/ant_customizations.jar"/> |
| <available file="${custom.tasks.lib}" property="ant_customizations.exist"/> |
| <fail unless="ant_customizations.exist" message="Cannot find custom tasks library: '${custom.tasks.lib}'"/> |
| |
| <property name="custom.tolower.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.ToLower"/> |
| <property name="custom.echo.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.Say"/> |
| <property name="custom.selectbundle.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.SelectBundle"/> |
| <taskdef name="toLower" classname="${custom.tolower.task.class}" classpath="${custom.tasks.lib}"/> |
| <taskdef name="say" classname="${custom.echo.task.class}" classpath="${custom.tasks.lib}"/> |
| <taskdef name="selectbundle" classname="${custom.selectbundle.task.class}" classpath="${custom.tasks.lib}"/> |
| |
| <!-- versioning --> |
| <!-- These variables are set in autobuild.xml. A manual build gets defaults --> |
| <property name="version.qualifier" value="qualifier"/> |
| <property name="version.string" value="${release.version}.${version.qualifier}"/> |
| |
| <!-- dependency properties --> |
| <selectbundle basename="${asm.prefix}" directory="${dbwsbldrtest.2.common.plugins.dir}" |
| criterion="${asm.criteria}" property="asm.jar" |
| /> |
| <selectbundle basename="${dbwsbldr.prefix}" directory="${dbwsbldrtest.2.common.plugins.dir}" |
| criterion="${dbwsbldr.criteria}" property="dbwsbldr.jar" |
| /> |
| <selectbundle basename="${servlet.prefix}" directory="${dbwsbldrtest.2.common.plugins.dir}" |
| criterion="${servlet.criteria}" property="servlet.jar" |
| /> |
| <selectbundle basename="${ddlparser.prefix}" directory="${dbwsbldrtest.2.plugins.dir}" |
| criterion="${ddlparser.criteria}" property="ddlparser.jar" |
| /> |
| <selectbundle basename="${wsdl.prefix}" directory="${dbwsbldrtest.2.plugins.dir}" |
| criterion="${wsdl.criteria}" property="wsdl.jar" |
| /> |
| <echo message="junit.lib ='${junit.lib}'"/> |
| <echo message="asm.jar ='${dbwsbldrtest.2.common.plugins.dir}/${asm.jar}'"/> |
| <echo message="dbwsbldr.jar ='${dbwsbldrtest.2.common.plugins.dir}/${dbwsbldr.jar}'"/> |
| <!-- property name="dbwsbldr.jar" value="${dbwsbldr.prefix}_${version.string}.jar"/> |
| <echo message="dbwsbldr.jar ='${dbwsbldr.jar}'"/ --> |
| <echo message="servlet.jar ='${dbwsbldrtest.2.common.plugins.dir}/${servlet.jar}'"/> |
| <echo message="ddlparser.jar='${dbwsbldrtest.2.plugins.dir}/${ddlparser.jar}'"/> |
| <echo message="wsdl.jar ='${dbwsbldrtest.2.plugins.dir}/${wsdl.jar}'"/> |
| <echo message="persistence.jar ='${dbwsbldrtest.2.common.plugins.dir}/${persistence.jar}'"/> |
| <property name="eclipselink.lib" value="${dbwsbldrtest.2.base.dir}/${eclipselink.jar}"/> |
| <property name="asm.lib" value="${dbwsbldrtest.2.common.plugins.dir}/${asm.jar}"/> |
| <property name="servlet.lib" value="${dbwsbldrtest.2.common.plugins.dir}/${servlet.jar}"/> |
| <property name="dbwsbldr.lib" value="${dbwsbldrtest.2.common.plugins.dir}/${dbwsbldr.jar}"/> |
| <property name="ddlparser.lib" value="${dbwsbldrtest.2.plugins.dir}/${ddlparser.jar}"/> |
| <property name="wsdl.lib" value="${dbwsbldrtest.2.plugins.dir}/${wsdl.jar}"/> |
| <property name="persistence.lib" value="${dbwsbldrtest.2.common.plugins.dir}/${persistence.jar}"/> |
| <property name="javax.validation.lib" value="${dbwsbldrtest.2.common.plugins.dir}/${javax.validation.jar}"/> |
| |
| <!-- dependency tests --> |
| <available file="${junit.lib}" property="junit.lib.exist"/> |
| <available file="${eclipselink.lib}" property="eclipselink.exist"/> |
| <available file="${persistence.lib}" property="persistence.exist"/> |
| <available file="${asm.lib}" property="asm.bundle.exist"/> |
| <available file="${servlet.lib}" property="servlet.lib.exist"/> |
| <available file="${wsdl.lib}" property="wsdl.lib.exist"/> |
| <available file="${ddlparser.lib}" property="ddlparser.lib.exist"/> |
| <available file="${dbwsbldr.lib}" property="dbwsbldr.lib.exist"/> |
| <available file="${javax.validation.lib}" property="javax.validation.lib.exist"/> |
| <!--fail message="Cannot find: '${junit.lib}'" unless="junit.lib.exist"/--> |
| <fail message="Cannot find: '${eclipselink.lib}'" unless="eclipselink.exist"/> |
| <fail message="Cannot find: '${persistence.lib}'" unless="persistence.exist"/> |
| <fail message="Cannot find: '${asm.lib}'" unless="asm.bundle.exist"/> |
| <fail message="Cannot find: '${servlet.lib}'" unless="servlet.lib.exist"/> |
| <fail message="Cannot find: '${wsdl.lib}'" unless="wsdl.lib.exist"/> |
| <fail message="Cannot find: '${ddlparser.lib}'" unless="ddlparser.lib.exist"/> |
| <fail message="Cannot find: '${dbwsbldr.lib}'" unless="dbwsbldr.lib.exist"/> |
| <fail message="Cannot find: '${javax.validation.lib}'" unless="javax.validation.lib.exist"/> |
| |
| <!-- Set Compile Path --> |
| <path id="dbwsbldrtest.compile.path"> |
| <pathelement path="${junit.lib}"/> |
| <pathelement path="${eclipselink.lib}"/> |
| <pathelement path="${persistence.lib}"/> |
| <pathelement path="${asm.lib}"/> |
| <pathelement path="${servlet.lib}"/> |
| <pathelement path="${dbwsbldr.lib}"/> |
| <pathelement path="${ddlparser.lib}"/> |
| <pathelement path="${wsdl.lib}"/> |
| </path> |
| </target> |
| |
| <target name="init-tests" depends="init"> |
| <!-- Test dependencies --> |
| <selectbundle basename="${mail.prefix}" directory="${dbwsbldrtest.2.common.plugins.dir}" |
| criterion="${mail.criteria}" property="mail.jar" |
| /> |
| <echo message="jdbc.driver.jar ='${jdbc.driver.jar}'"/> |
| <echo message="dbwsbldrtest.jar ='./${dbwsbldrtest.jar}'"/> |
| <echo message="mail.jar ='${dbwsbldrtest.2.common.plugins.dir}/${mail.jar}'"/> |
| <property name="mail.lib" value="${dbwsbldrtest.2.common.plugins.dir}/${mail.jar}"/> |
| <available file="${jdbc.driver.jar}" property="jdbc.jar.exist"/> |
| <available file="./${dbwsbldrtest.jar}" property="dbwsbldrtest.jar.exist"/> |
| <available file="${mail.lib}" property="mail.lib.exist"/> |
| |
| <!-- Set Run Path --> |
| <path id="dbwsbldrtest.run.path"> |
| <path refid="dbwsbldrtest.compile.path"/> |
| <pathelement path="${jacocoagent.lib}"/> |
| <pathelement path="${jdbc.driver.jar}"/> |
| <pathelement path="./${dbwsbldrtest.jar}"/> |
| <pathelement path="${mail.lib}"/> |
| <pathelement path="${javax.validation.lib}"/> |
| </path> |
| |
| <!-- Set Run Condition --> |
| <condition property="is.mysql.platform"> |
| <matches |
| pattern="org.eclipse.persistence.platform.database.MySQLPlatform" |
| string="${db.platform}" |
| /> |
| </condition> |
| <condition property="support.test"> |
| <and> |
| <isset property="is.mysql.platform"/> |
| <isset property="jdbc.jar.exist"/> |
| <isset property="dbwsbldrtest.jar.exist"/> |
| <isset property="mail.lib.exist"/> |
| <isset property="db.platform"/> |
| <isset property="db.driver"/> |
| <isset property="db.url"/> |
| <isset property="db.user"/> |
| <isset property="db.pwd"/> |
| <isset property="db.ddl.create"/> |
| <isset property="db.ddl.drop"/> |
| </and> |
| </condition> |
| <!-- Report unmet Run conditions --> |
| <say message="Conditions not met to execute tests!" unless="support.test"/> |
| <say message=" DB platform not set to MySQL!" unless="is.mysql.platform"/> |
| <say message=" jdbc.jar not found!" unless="jdbc.jar.exist"/> |
| <say message=" dbwsbldrtest.jar not found!" unless="dbwsbldrtest.jar.exist"/> |
| <say message=" mail.lib not found!" unless="mail.lib.exist"/> |
| <say message=" db.platform not set!" unless="db.platform"/> |
| <say message=" db.driver not set!" unless="db.driver"/> |
| <say message=" db.url not set!" unless="db.url"/> |
| <say message=" db.user not set!" unless="db.user"/> |
| <say message=" db.pwd not set!" unless="db.pwd"/> |
| <say message=" db.ddl not set!" unless="db.ddl.create"/> |
| <say message=" db.ddl not set!" unless="db.ddl.drop"/> |
| </target> |
| |
| <target name="compile" depends="init" description="Compile DBWS Util test Common classes"> |
| <mkdir dir="${classes.dir}"/> |
| <javac srcdir="${src.dir}" |
| destdir="${classes.dir}" |
| includes="**/*.java" |
| fork="true" |
| classpathref="dbwsbldrtest.compile.path" |
| /> |
| </target> |
| |
| <target name="package" description="package DBWS Util Test Common jar"> |
| <jar jarfile="./${dbwsbldrtest.jar}"> |
| <fileset dir="${classes.dir}"> |
| <include name="**/*.class"/> |
| </fileset> |
| </jar> |
| </target> |
| |
| <target name="run-tests" if="support.test" depends="init-tests" description="setup, compile, and run dbws util testsuites"> |
| <mkdir dir="${classes.dir}"/> |
| <DeleteDirQuietly dir="./${report.dir}"/> |
| <mkdir dir="./${report.dir}"/> |
| <!-- Can be set e.g. in test.properties to add VM options for a particular platform/driver --> |
| <property name="additional.jvmargs" value="-Ddummy2=dummy"/> |
| <junit |
| jvm="${test.junit.jvm.exec}" |
| printsummary="withOutAndErr" |
| fork="yes" |
| forkmode="once" |
| maxmemory="512m" |
| > |
| <formatter |
| type="xml" |
| /> |
| <classpath> |
| <path |
| refid="dbwsbldrtest.run.path" |
| /> |
| <pathelement |
| path="./${dbwsbldrtest.jar}" |
| /> |
| </classpath> |
| <jvmarg line="${additional.jvmargs}"/> |
| <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}" |
| /> |
| <sysproperty |
| key="db.ddl.create" |
| value="${db.ddl.create}" |
| /> |
| <sysproperty |
| key="db.ddl.drop" |
| value="${db.ddl.drop}" |
| /> |
| <sysproperty |
| key="db.ddl.debug" |
| value="${db.ddl.debug}" |
| /> |
| <sysproperty |
| key="release.version" |
| value="${release.version}" |
| /> |
| <test |
| name="dbws.testing.attachedbinary.AttachedBinaryTestSuite" |
| /> |
| <test |
| name="dbws.testing.batchsql.BatchSQLTestSuite" |
| /> |
| <test |
| name="dbws.testing.bindingmodel.BindingModelTestSuite" |
| /> |
| <test |
| name="dbws.testing.crud.CRUDTestSuite" |
| /> |
| <test |
| name="dbws.testing.customsql.CustomSQLTestSuite" |
| /> |
| <test |
| name="dbws.testing.inlinebinary.InlineBinaryTestSuite" |
| /> |
| <test |
| name="dbws.testing.invalidinput.InvalidInputTestSuite" |
| /> |
| <test |
| name="dbws.testing.loglevelvalidation.LogLevelValidationTestSuite" |
| /> |
| <test |
| name="dbws.testing.mtom.MTOMTestSuite" |
| /> |
| <test |
| name="dbws.testing.namingtransformer.NamingTransformerTestSuite" |
| /> |
| <test |
| name="dbws.testing.optlock.OptLockTestSuite" |
| /> |
| <test |
| name="dbws.testing.rootcause.RootCauseTestSuite" |
| /> |
| <test |
| name="dbws.testing.secondarysql.SecondarySQLTestSuite" |
| /> |
| <test |
| name="dbws.testing.simplesp.SimpleSPTestSuite" |
| /> |
| <test |
| name="dbws.testing.simpletable.SimpleTableTestSuite" |
| /> |
| <test |
| name="dbws.testing.simpletablewithnestedsql.SimpleTableWithNestedSQLTestSuite" |
| /> |
| <test |
| name="dbws.testing.soap12.SOAP12TestSuite" |
| /> |
| <test |
| name="dbws.testing.sqlascollection.SQLAsCollectionTestSuite" |
| /> |
| <test |
| name="dbws.testing.updatefault.UpdateFaultTestSuite" |
| /> |
| </junit> |
| <junitreport |
| todir="./${report.dir}" |
| > |
| <fileset |
| dir="." |
| > |
| <include |
| name="TEST-*.xml" |
| /> |
| </fileset> |
| <report |
| format="noframes" |
| todir="./${report.dir}" |
| /> |
| </junitreport> |
| <delete> |
| <fileset dir="." includes="TEST-*xml"/> |
| </delete> |
| </target> |
| |
| <!-- MACRO and SCRIPT definitions --> |
| <presetdef name="javac"> |
| <javac |
| debug="${javac.debug}" |
| debuglevel="${javac.debuglevel}" |
| encoding="UTF-8" |
| optimize="${javac.optimize}" |
| source="${javac.version}" |
| target="${javac.version}" |
| deprecation="${javac.deprecation}" |
| failonerror="true" |
| memoryMaximumSize="512m" |
| /> |
| </presetdef> |
| <presetdef name="DeleteDirQuietly"> |
| <delete |
| dir="_tmp_" |
| quiet="true" |
| failonerror="false" |
| /> |
| </presetdef> |
| <presetdef name="DeleteFileQuietly"> |
| <delete |
| file="_tmp_" |
| quiet="true" |
| failonerror="false" |
| /> |
| </presetdef> |
| |
| </project> |