blob: e8f2341bd9870f52803d8f58ad3f9ca353c60250 [file] [log] [blame]
<!--
Copyright (c) 1998, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0 which is available at
http://www.eclipse.org/legal/epl-2.0,
or the Eclipse Distribution License v. 1.0 which is available at
http://www.eclipse.org/org/documents/edl-v10.php.
SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
-->
<!--
Contributors:
tware - initial API and implementation
-->
<!-- This ant project includes the following tasks:
- build (default) : compiles all JPA tests, packages test jars
- compile : compiles all JPA tests
- package : jars JPA persistent units and tests jars
- test : runs JPA FullRegressionTestSuite - includes the full set of JUnit tests, but no legacy tests
- test-lrg : runs JPA LRG (AllCMP3TestRunModel, if database is Oracle, oracle specific tests as well)
- oracle-test : runs JPA Oracle-specific tests (OracleJPATestSuite and OracleJPACustomfeaturesTestSuite)
- oracle-proxy-test : runs JPA Oracle Proxy Authentication specific tests (ProxyAuthenticationServerTestSuite)
- test-no-weave : runs JPA LRG using no weaving (no agent)
- test-static-weave : runs JPA LRG using static weaving
- server-start : starts the JEE server
- server-stop : stops the JEE server
- server-restart : stops and restarts the JEE server (match the restart command in Eclipse)
- server-test : runs the JPA LRG tests in the server
- server-test-lrg : runs the JPA LRG tests in the server
- server-test-oracle-proxy : runs the Oracle Proxy Authentication JPA tests in the server
- server-test-sessionbean : runs the SessionBean tests in the server
- server-test-fieldaccess-advanced : runs the Fieldaccess tests in the server
- server-test-datatypes : runs the Datatypes tests in the server
- server-test-datetime : runs the Datetime tests in the server
It requires some configuration of the build.properties and test.properties to run.
-->
<project name="eclipselink.jpa.test" default="build" basedir=".">
<echo message="JPATEST_BEGINS..."/>
<available file="../${ant.project.name}" type="dir" property="jpatest.is.local"/>
<fail message="Not running from '${ant.project.name}' directory" unless="jpatest.is.local"/>
<!-- Default ant target, compiles and packages test jars, does not run tests. -->
<target name="build" depends="init, compile, package" description="build EclipseLink JPA testing jars"/>
<!-- Initialization -->
<target name="pre-init">
<dirname property="jpatest.build.location_temp" file="${ant.file.eclipselink.jpa.test}"/>
<pathconvert targetos="unix" property="jpatest.build.location">
<path>
<pathelement location="${jpatest.build.location_temp}"/>
</path>
</pathconvert>
<!-- Allows override of the build location or "basedir" for specific configurations (can specifically define jpatest.basedir) -->
<!-- To run from another location be sure to override jpatest.basedir appropriately -->
<property name="jpatest.basedir" value="${jpatest.build.location}"/>
<condition property="jpatest.2.base.dir" value="${jpatest.basedir}/../.." else="${jpatest.basedir}/..">
<contains string="${jpatest.build.location}" substring="jpa/${ant.project.name}"/>
</condition>
<!-- Allows tools.jar to be relative to JAVA_HOME. -->
<property environment="env"/>
<!-- Allows a user to overide certain user specific properties. -->
<condition property="custom.bld.properties.message" value="Loading ${user.home}/build.properties..."
else="Notice: custom properties file '${user.home}/build.properties' not found to load.">
<available file="${user.home}/build.properties"/>
</condition>
<echo message="${custom.bld.properties.message}"/>
<property file="${user.home}/build.properties"/>
<condition property="custom.cmd.properties.message" value="Loading ${test.properties}..."
else="Notice: custom properties file '${test.properties}' not found to load.">
<available file="${test.properties}"/>
</condition>
<echo message="${custom.cmd.properties.message}"/>
<property file="${test.properties}"/>
<condition property="custom.tst.properties.message" value="Loading ${user.home}/test.properties..."
else="Notice: custom properties file '${user.home}/test.properties' not found to load.">
<available file="${user.home}/test.properties"/>
</condition>
<echo message="${custom.tst.properties.message}"/>
<property file="${user.home}/test.properties"/>
<condition property="custom.local.properties.message" value="Loading ${basedir}/local.build.properties..."
else="Notice: custom properties file '${basedir}/local.build.properties' not found to load.">
<available file="${basedir}/local.build.properties"/>
</condition>
<echo message="${custom.local.properties.message}"/>
<property file="${basedir}/local.build.properties"/>
<!-- property name="jpatest.basedir" value="."/ -->
<property file="${jpatest.basedir}/antbuild.properties"/>
<!-- Allows specific suites/configurations to override defaults and add custom test (runtime) properties -->
<property file="${jpatest.basedir}/${test.properties}"/>
<property file="${jpatest.basedir}/test.properties"/>
<property name="eclipselink.jpa.test.dir" value="${jpatest.basedir}"/>
<!-- 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"/>
<!-- Handle missing $JAVA_HOME/release file (Travis OpenJDK 8) -->
<condition property="test.junit.jdk.JAVA_VERSION" value='"1.8.0"'>
<not><available file="${test.junit.jvm}/release"/></not>
</condition>
<property prefix="test.junit.jdk" file="${test.junit.jvm}/release"/>
<condition property="use.modules" value="true" else="false">
<not><matches pattern='"[1-8]\..*"' string="${test.junit.jdk.JAVA_VERSION}"/></not>
</condition>
<!-- 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}"/>
<!-- Local path variables -->
<property name="jpatest.src.dir" value="${jpatest.build.location}/${src.dir}"/>
<property name="jpatest.resource.dir" value="${jpatest.build.location}/${resource.dir}"/>
<property name="jpatest.generated.dir" value="${jpatest.build.location}/${build.dir}/${generated.src.dir}"/>
<property name="jpatest.classes.dir" value="${jpatest.build.location}/${build.dir}/${classes.dir}"/>
<property name="jpatest.classes22.dir" value="${jpatest.build.location}/${build.dir}/${classes22.dir}"/>
<property name="jpatest.build.dir" value="${jpatest.build.location}/${build.dir}"/>
<property name="jpatest.server.build.dir" value="${jpatest.build.location}/build-server"/>
<property name="jpatest.report.dir" value="${jpatest.build.location}/${report.dir}"/>
<property name="jpatest.run.dir" value="${jpatest.build.location}/${run.dir}"/>
<property name="jpatest.2.common.plugins.dir" value="${jpatest.2.base.dir}/plugins"/>
<property name="jpatest.2.jpa.plugins.dir" value="${jpatest.2.base.dir}/jpa/plugins"/>
<property name="jpatest.2.coretest.dir" value="${jpatest.2.base.dir}/foundation/eclipselink.core.test"/>
<property name="jpatest.2.oracle.dir" value="${jpatest.2.base.dir}/foundation/org.eclipse.persistence.oracle"/>
<property name="jpatest.2.oracletest.dir" value="${jpatest.2.base.dir}/foundation/eclipselink.extension.oracle.test"/>
<property name="jpatest.2.oracle.spatial.test.dir" value="${jpatest.2.base.dir}/foundation/eclipselink.extension.oracle.spatial.test"/>
<property name="jpatest.2.nosqltest.dir" value="${jpatest.2.base.dir}/foundation/eclipselink.extension.nosql.test"/>
<property name="jpatest.2.oracle.nosqltest.dir" value="${jpatest.2.base.dir}/foundation/eclipselink.extension.oracle.nosql.test"/>
<property name="jpatest.2.sdo.plugins.dir" value="${jpatest.2.base.dir}/sdo/plugins"/>
<property name="modelgen.jar" value="${eclipselink.modelgen.prefix}_${version.string}.jar"/>
<!-- Give this a default value if not set in a user.home or test property file -->
<property name="extensions.depend.dir" value="../${jpatest.2.base.dir}/extension.lib.external"/>
<property name="oracle.extensions.depend.dir" value="${jpatest.2.base.dir}/../extension.oracle.lib.external"/>
<property name="junit.lib" value="${extensions.depend.dir}/junit.jar"/>
<property name="tools.lib" value="${env.JAVA_HOME}/lib/tools.jar"/>
<property name="jacocoagent.lib" value="${extensions.depend.dir}/${jacocoagent.jar}"/>
<echo message="jpatest.build.location ='${jpatest.build.location}'"/>
<echo message="jpatest.2.base.dir ='${jpatest.2.base.dir}'"/>
<echo message="jpatest.src.dir ='${jpatest.src.dir}'"/>
<echo message="jpatest.resource.dir ='${jpatest.resource.dir}'"/>
<echo message="jpatest.generated.dir ='${jpatest.generated.dir}'"/>
<echo message="jpatest.classes.dir ='${jpatest.classes.dir}'"/>
<echo message="jpatest.classes22.dir ='${jpatest.classes22.dir}'"/>
<echo message="jpatest.report.dir ='${jpatest.report.dir}'"/>
<echo message="jpatest.run.dir ='${jpatest.run.dir}'"/>
<echo message="user.home ='${user.home}'"/>
<echo message="test.properties ='${test.properties}'"/>
<echo message="extensions.depend.dir ='${extensions.depend.dir}'"/>
<echo message="oracle.extensions.depend.dir ='${oracle.extensions.depend.dir}'"/>
<echo message="junit.lib ='${junit.lib}'"/>
<echo message="tools.lib ='${tools.lib}'"/>
<echo message="jdk.version ='${test.junit.jdk.JAVA_VERSION}'"/>
<echo message="jpatest.2.common.plugins.dir ='${jpatest.2.common.plugins.dir}'"/>
<echo message="jpatest.2.jpa.plugins.dir ='${jpatest.2.jpa.plugins.dir}'"/>
<echo message="jpatest.2.coretest.dir ='${jpatest.2.coretest.dir}'"/>
<echo message="jpatest.2.oracle.dir ='${jpatest.2.oracle.dir}'"/>
<echo message="jpatest.2.oracletest.dir ='${jpatest.2.oracletest.dir}'"/>
<echo message="jpatest.2.oracle.spatial.test.dir ='${jpatest.2.oracle.spatial.test.dir}'"/>
<echo message="jpatest.2.sdo.plugins.dir ='${jpatest.2.sdo.plugins.dir}' (for GF)"/>
<echo message="modelgen.jar ='${modelgen.jar}'"/>
<!-- Determine availability of compile dependencies -->
<available file="${jpatest.2.common.plugins.dir}/${antlr.jar}" property="antlr.bundle.exist"/>
<available file="${jpatest.2.common.plugins.dir}/${asm.jar}" property="asm.bundle.exist"/>
<available file="${jpatest.2.common.plugins.dir}/org.eclipse.persistence.core_${version.string}.jar" property="core.bundle.exist"/>
<available file="${jpatest.2.common.plugins.dir}/org.eclipse.persistence.jpa_${version.string}.jar" property="jpa.bundle.exist"/>
<available file="${jpatest.2.common.plugins.dir}/org.eclipse.persistence.jpa.jpql_${version.string}.jar" property="jpa.jpql.bundle.exist"/>
<available file="${jpatest.2.common.plugins.dir}/${modelgen.jar}" property="modelgen.jar.exist"/>
<available file="${jpatest.2.base.dir}/${eclipselink.jar}" property="eclipselink.jar.exist"/>
<available classname="org.junit.Test" classpath="${junit.lib}" property="junit.jar.exist"/>
<!-- Determine availability of runtime dependencies -->
<available file="${jdbc.driver.jar}" property="jdbc.jar.exist"/>
<available file="${tools.lib}" property="tools.jar.exist"/>
<condition property="validate.jar.exists">
<and>
<available file="${extensions.depend.dir}/${validation-impl.jar}" />
<available file="${extensions.depend.dir}/${jboss-logging.jar}" />
<available file="${extensions.depend.dir}/${javax.el.jar}" />
<available file="${extensions.depend.dir}/${classmate.jar}" />
</and>
</condition>
<!-- Determine where to get product classes, based upon availability -->
<condition property="use.eclipselink">
<isset property="eclipselink.jar.exist"/>
</condition>
<condition property="use.bundles">
<and>
<isset property="antlr.bundle.exist"/>
<isset property="asm.bundle.exist"/>
<isset property="core.bundle.exist"/>
<isset property="jpa.bundle.exist"/>
<isset property="jpa.jpql.bundle.exist"/>
<not><isset property="use.eclipselink"/></not>
</and>
</condition>
<!-- Define system properties for resource processing and testing -->
<property name="eclipselink.logging.level" value="${logging.level}"/>
<!-- Additional testing related properties -->
<!-- This checks if the tests are run on Oracle database -->
<condition property="is.oracle">
<contains string="${db.driver}" substring="oracle"/>
</condition>
<condition property="orapropsregex" value="^pa\..*[^d]$" else="nothing.should.match">
<isset property="is.oracle" />
</condition>
<propertyset id="test.run.propertyset" dynamic="false">
<propertyref prefix="test.security-manager"/>
<propertyref regex="db\.(?!pwd).*"/>
<!-- oradb specific properties -->
<propertyref regex="${orapropsregex}"/>
<propertyref name="jdbc.driver.jar"/>
<propertyref name="eclipselink.logging.level"/>
</propertyset>
<!-- perf test properties -->
<propertyset id="test.perfrun.propertyset" dynamic="false">
<propertyref regex="eclipselink.perfdb\.(?!pwd).*"/>
</propertyset>
</target>
<!-- Define Spring jars needed for running JPA tests on Spring -->
<path id="spring.path">
<fileset dir="${spring.jlib.dir}" includes="${spring.jlib}"/>
<pathelement path="."/>
</path>
<target name="config-classpath" depends="init">
<path id="run.common.path" cache="true">
<path refid="jpa.compile.common.path"/>
<!-- <pathelement path="${jpatest.2.common.plugins.dir}/${transaction.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${jakarta.validation.jar}"/>
<pathelement path="${jpatest.2.coretest.dir}/${coretest.framework.jar}"/>
<pathelement path="${junit.lib}"/>
<pathelement path="${jpatest.2.coretest.dir}/${coretest.jar}"/>
<pathelement path="${jpatest.build.dir}/${jpatest.framework}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${ejb.jar}"/> fwk.server, jta, sessionbean, 21/entitylistener, perf
<pathelement path="${jpatest.2.common.plugins.dir}/${inject.jar}"/> 2.2 entitylistener, attributeconverter
<pathelement path="${jacocoagent.lib}"/>-->
<pathelement path="${jpatest.2.common.plugins.dir}/${activation.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${jaxb-osgi.jar}"/>
<pathelement path="${jdbc.driver.jar}"/>
</path>
<path id="jpa.run.common.path" cache="true">
<path refid="run.common.path"/>
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence21.jar}"/>
</path>
<path id="jpa22.run.common.path" cache="true">
<path refid="run.common.path"/>
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence22.jar}"/>
</path>
<!-- SRG -->
<path id="srg.model.classpath">
<pathelement path="${jpatest.build.dir}/${eclipselink.annotation.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.only.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.advanced.properties}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.pu.with.spaces}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.validation.failed.model}.jar"/>
</path>
<path id="jpa.run.classpath">
<path refid="jpa.run.common.path"/>
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<path refid="srg.model.classpath"/>
</path>
<path id="jpa22.run.classpath">
<path refid="jpa22.run.common.path"/>
<pathelement path="${jpatest.build.dir}/${jpa22.test.jar}"/>
<path refid="srg.model.classpath"/>
</path>
<!-- LRG -->
<path id="lrg.base">
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<path refid="srg.model.classpath"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.advanced.field.access.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.cascade.deletes}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.cacheable.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.ddl.generation.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.delimited.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.extensibility.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model.member_3}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.jpa21.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.metamodel.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.partitioned.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model.member_3}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.mapping.metadata.complete}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.merge.model}.jar"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-api.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-impl.jar}"/>
</path>
<path id="lrg.path">
<path refid="jpa.run.common.path"/>
<path refid="lrg.base"/>
</path>
<path id="remote.classpath">
<path refid="jpa.run.common.path"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.advanced.field.access.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.remote}.jar"/>
</path>
<path id="lrg22.base">
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.annotation.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.only.model}.jar"/>
<path refid="jpa22.run.common.path" />
</path>
<path id="lrg22.1.path">
<path refid="lrg22.base"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.advanced.properties}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.pu.with.spaces}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.validation.failed.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.cacheable.model}.jar"/>
</path>
<path id="lrg22.2.path">
<path refid="lrg22.base"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.validation.failed.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.advanced.properties}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.pu.with.spaces}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.partitioned.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.extensibility.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.plsql.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model.member_3}.jar"/>
</path>
<path id="lrg22.3.path">
<path refid="lrg22.base"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.advanced.field.access.model}.jar"/>
</path>
<path id="lrg22.4.path">
<path refid="lrg22.base"/>
<!--<pathelement path="${jpatest.build.dir}/${eclipselink.advanced.properties}.jar"/>-->
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model.member_3}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.ddl.generation.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.metamodel.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.delimited.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.cascade.deletes}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.mapping.metadata.complete}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.merge.model}.jar"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-api.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-impl.jar}"/>
</path>
<path id="run.classpath">
<pathelement path="${jpatest.classes.dir}"/>
<path refid="lrg.path"/>
</path>
<path id="run.bean.validation.classpath.common">
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<path refid="jpa22.run.common.path" />
<pathelement path="${extensions.depend.dir}/${validation-impl.jar}"/>
<pathelement path="${extensions.depend.dir}/${jboss-logging.jar}"/>
<pathelement path="${extensions.depend.dir}/${javax.el.jar}"/>
<pathelement path="${extensions.depend.dir}/${classmate.jar}"/>
<!--<pathelement path="${extensions.depend.dir}/${jakarta.validation.jar}"/>-->
</path>
<path id="run.bean.validation.classpath">
<path refid="run.bean.validation.classpath.common"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.beanvalidation.model}.jar"/>
</path>
<path id="run.bean.validation.dynamic.classpath">
<path refid="run.bean.validation.classpath.common"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.beanvalidation.dynamic.model}.jar"/>
</path>
<path id="run.jpa22.classpath">
<path refid="jpa22.run.common.path"/>
<pathelement path="${jpatest.build.dir}/${jpa22.test.jar}"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.jpa22.model}.jar"/>
</path>
<path id="run.extended.classpath">
<pathelement path="${jpatest.classes.dir}"/>
<path refid="compile.path"/>
<pathelement path="${jdbc.driver.jar}"/>
<pathelement path="${jpatest.basedir}/${jpatest.framework}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.extended.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_3}.jar"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-api.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-impl.jar}"/>
</path>
<path id="run.identity.classpath">
<pathelement path="${jpatest.classes22.dir}"/>
<path refid="jpa22.compile.path"/>
<pathelement path="${jdbc.driver.jar}"/>
<pathelement path="${jpatest.basedir}/${jpatest.framework}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa22.test.jar}"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.identity.model}.jar"/>
</path>
<path id="run.weaver.classpath">
<pathelement path="${jpatest.classes.dir}"/>
<path refid="compile.path"/>
<pathelement path="${jdbc.driver.jar}"/>
</path>
<path id="run.performance.classpath">
<pathelement path="${jpatest.classes.dir}"/>
<path refid="compile.path"/>
<pathelement path="${jdbc.driver.jar}"/>
<pathelement path="${jpatest.basedir}/${jpatest.framework}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<pathelement path="${jpatest.build.dir}/${jpa.performance}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa.performance2}.jar"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-api.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-impl.jar}"/>
</path>
<path id="run.oracle.classpath">
<path refid="jpa.run.common.path"/>
<!-- Currently the Oracle extensions are included to allow running Oracle extensions tests from here. -->
<pathelement path="${jpatest.2.oracletest.dir}/${classes.dir}"/>
<pathelement path="${jpatest.2.oracle.dir}/${classes.dir}"/>
<pathelement path="${jpatest.classes.dir}"/>
<pathelement path="${jpatest.2.oracletest.dir}/${eclipselink.timestamptz.model}.jar"/>
<pathelement path="${jpatest.2.oracletest.dir}/${eclipselink.customfeatures.model}.jar"/>
<pathelement path="${jpatest.2.oracletest.dir}/${eclipselink.proxyauthentication.model}.jar"/>
<pathelement path="${jpatest.2.oracletest.dir}/${eclipselink.dcn.model}.jar"/>
<pathelement path="${jpatest.2.oracletest.dir}/${oracle.test.jar}"/>
<pathelement path="${jpatest.2.oracletest.dir}/${oracle.jpa.test.jar}"/>
<pathelement path="${oracle.extensions.depend.dir}/${oracle.xdb.jar}"/>
<pathelement path="${oracle.extensions.depend.dir}/${oracle.aqapi.jar}"/>
<pathelement path="${oracle.extensions.depend.dir}/${oracle.ucp.jar}"/>
<pathelement path="${oracle.extensions.depend.dir}/${oracle.xmlparser.jar}"/>
<pathelement path="${oracle.extensions.depend.dir}/${oracle.orai18n-mapping.jar}"/>
</path>
<path id="run.oracle.spatial.classpath">
<path refid="jpa.run.common.path"/>
<!-- Currently the Oracle extensions are included to allow running Oracle extensions tests from here. -->
<pathelement path="${jpatest.2.oracle.spatial.test.dir}/${classes.dir}"/>
<pathelement path="${jpatest.2.oracletest.dir}/${classes.dir}"/>
<pathelement path="${jpatest.2.oracle.dir}/${classes.dir}"/>
<pathelement path="${jpatest.classes.dir}"/>
<pathelement path="${jpatest.2.oracle.spatial.test.dir}/${eclipselink.struct.converter.model}.jar"/>
<pathelement path="${jpatest.2.oracle.spatial.test.dir}/${oracle.spatial.jpa.test.jar}"/>
<pathelement path="${oracle.extensions.depend.dir}/${oracle.sdoapi.jar}"/>
</path>
<path id="run.oracle.nosql.classpath">
<pathelement path="${jpatest.2.oracle.nosqltest.dir}/${classes.dir}"/>
<pathelement path="${jpatest.2.oracle.nosql.dir}/${classes.dir}"/>
<path refid="compile.path"/>
<fileset dir="${jpatest.2.common.plugins.dir}" includes="org.eclipse.persistence.oracle.nosql_*.jar"/>
<pathelement path="${oracle.nosql.jar.dir}/${oracle.nosql.jar}"/>
<pathelement path="${jpatest.basedir}/${jpatest.framework}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<pathelement path="${jpatest.2.oracle.nosqltest.dir}/eclipselink-oracle-nosql-test.jar"/>
<pathelement path="${jpatest.2.oracle.nosqltest.dir}/eclipselink-oracle-nosql-model.jar"/>
</path>
<path id="run.classpath.hibernate">
<fileset dir="${hibernate.dir}">
<include name="*.jar"/>
</fileset>
<path refid="run.classpath"/>
</path>
<path id="run.classpath.openjpa">
<fileset dir="${openjpa.dir}">
<include name="*.jar"/>
</fileset>
<path refid="run.performance.classpath"/>
</path>
<path id="run.classpath.datanucleus">
<fileset dir="${datanucleus.dir}">
<include name="*.jar"/>
</fileset>
<path refid="run.performance.classpath"/>
</path>
<path id="run.classpath.perf.hibernate">
<fileset dir="${hibernate.dir}">
<include name="*.jar"/>
</fileset>
<path refid="run.performance.classpath"/>
</path>
<path id="run.classpath.essentials">
<pathelement path="${toplink-essentials.jar}"/>
<path refid="run.performance.classpath"/>
</path>
<path id="run.classpath.toplink">
<pathelement path="${toplink.jar}"/>
<path refid="run.performance.classpath"/>
</path>
</target>
<target name="clean" description="Clean the build" depends="pre-init">
<delete includeEmptyDirs="true" failonerror="false">
<fileset dir="${jpatest.build.dir}"/>
<fileset dir="${jpatest.server.build.dir}"/>
<fileset dir="${jpatest.report.dir}"/>
<fileset dir="${jpatest.run.dir}"/>
<fileset file="${jpatest.basedir}/${jpatest.framework}.jar"/>
<fileset file="${jpatest.basedir}/*.ear"/>
</delete>
</target>
<target name="init-eclipselink" if="use.eclipselink">
<path id="jpatest.product.path" cache="true">
<pathelement path="${jpatest.2.base.dir}/${eclipselink.jar}"/>
</path>
<echo message="Using EclipseLink.jar as 'product' in compile dependency: ${toString:jpatest.product.path}."/>
</target>
<target name="init-bundles" if="use.bundles">
<path id="jpatest.product.path" cache="true">
<pathelement path="${jpatest.2.common.plugins.dir}/${antlr.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${asm.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/org.eclipse.persistence.core_${version.string}.jar"/>
<pathelement path="${jpatest.2.common.plugins.dir}/org.eclipse.persistence.jpa_${version.string}.jar"/>
<pathelement path="${jpatest.2.common.plugins.dir}/org.eclipse.persistence.jpa.jpql_${version.string}.jar"/>
</path>
<echo message="Using EclipseLink OSGi bundles as 'product' in compile dependency: ${toString:jpatest.product.path}."/>
</target>
<target name="init-classpaths" unless="${use.modules}">
<property name="test.javac.version" value="1.8"/>
<property name="test.javac.args" value=""/>
<property name="test.junit.jvm.modules.prop" value=""/>
<path id="jpatest.compile.core.deps" cache="true">
<pathelement path="${jpatest.2.common.plugins.dir}/${transaction.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${jakarta.validation.jar}"/>
</path>
<path id="jpatest.compile.module.path" cache="true"></path>
<path id="jpatest.upgrade.module.path" cache="true"></path>
<path id="jpatest.compile.core.path" cache="true">
<path refid="jpatest.product.path"/>
<!--<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence.jar}"/>-->
<path refid="jpatest.compile.core.deps"/>
</path>
</target>
<target name="init-modulepaths" if="${use.modules}">
<property name="test.javac.version" value="9"/>
<property name="test.javac.args" value="--add-modules ${javac.modules}"/>
<property name="test.junit.jvm.modules.prop" value="--add-modules ${test.junit.jvm.modules}"/>
<path id="jpatest.compile.core.deps" cache="true"/>
<path id="jpatest.compile.module.path" cache="true">
<!--<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence22.jar}"/>-->
<pathelement path="${jpatest.2.common.plugins.dir}/${jakarta.validation.jar}"/>
</path>
<path id="jpatest.upgrade.module.path" cache="true">
<pathelement path="${jpatest.2.common.plugins.dir}/${transaction.jar}"/>
</path>
<path id="jpatest.compile.core.path" cache="true">
<path refid="jpatest.product.path"/>
</path>
</target>
<target name="init" depends="pre-init, init-eclipselink, init-bundles, init-classpaths, init-modulepaths"
description="Initialize the build">
<condition property="use.failed">
<and>
<not>
<isset property="use.eclipselink"/>
</not>
<not>
<isset property="use.bundles"/>
</not>
</and>
</condition>
<fail message="Product classes do not exist anywhere! Compile product or populate jars." if="use.failed"/>
<path id="compile.core.path">
<path refid="jpatest.compile.core.path"/> <!-- EclipseLink, JTA, BeanVal -->
<pathelement path="${jpatest.2.coretest.dir}/${coretest.framework.jar}"/>
<pathelement path="${junit.lib}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${ejb.jar}"/> <!-- fwk.server, jta, sessionbean, 21/entitylistener, perf -->
<pathelement path="${jacocoagent.lib}"/>
</path>
<path id="jpa.compile.common.path">
<pathelement path="${jpatest.build.dir}/${jpatest.framework}"/>
<path refid="compile.core.path"/>
<pathelement path="${jpatest.2.coretest.dir}/${coretest.jar}"/>
<!-- Java SE 11 specific - corba, java.xml.bind, java.annotation -->
<fileset dir="${jpatest.2.common.plugins.dir}">
<include name="*corba*.jar"/>
</fileset>
<pathelement path="${jpatest.2.common.plugins.dir}/${jaxb-api.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${annotation.jar}"/>
<!-- Needed for performance tests comparing with hibernate.>
<fileset dir="${hibernate.dir}">
<include name="*.jar"/>
</fileset-->
<!-- Needed for tests using coherence.>
<fileset dir="${coherence.dir}">
<include name="*.jar"/>
</fileset-->
</path>
<path id="compile.modelgen.path">
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence22.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${modelgen.jar}"/>
<path refid="compile.core.path"/>
</path>
<path id="run.weaver.path">
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence22.jar}"/>
<path refid="jpatest.compile.core.path"/>
</path>
<path id="compile.path">
<pathelement path="${jpatest.classes.dir}"/>
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence21.jar}"/>
<path refid="jpa.compile.common.path" />
</path>
<path id="jpa22.compile.path">
<pathelement path="${jpatest.classes22.dir}"/>
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence22.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${inject.jar}"/> <!-- 2.2 entitylistener, attributeconverter-->
<path refid="jpa.compile.common.path" />
</path>
<path id="compile.server.path">
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence21.jar}"/>
<path refid="jpa.compile.common.path" />
<!--<path refid="compile.path" />-->
<pathelement path="${jdbc.driver.jar}"/>
<!--<pathelement path="${oracle.extensions.depend.dir}/${oracle.sdoapi.jar}"/>-->
<!--<pathelement path="${extensions.depend.dir}/${mongo.jar}"/>-->
</path>
<path id="compile.jpa22.server.path">
<pathelement path="${jpatest.2.jpa.plugins.dir}/${persistence22.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${inject.jar}"/> <!-- 2.2 entitylistener, attributeconverter-->
<path refid="jpa.compile.common.path" />
<pathelement path="${jdbc.driver.jar}"/>
</path>
<path id="oracle.spatial.path">
<path refid="compile.jpa22.server.path"/>
<pathelement path="${oracle.sdoapi.lib}"/>
<pathelement path="${jpatest.2.oracletest.dir}/${oracle.test.jar}"/>
</path>
</target>
<!-- Server Testing -->
<target name="init-server" depends="init">
<property name="projectcache.dir" value="pcfile"/>
<!-- This checks if the Application Server is GlassFish -->
<condition property="is.glassfish">
<contains string="${server.name}" substring="glassfish"/>
</condition>
<condition property="is.glassfish.or.weblogic">
<or>
<contains string="${server.name}" substring="glassfish"/>
<contains string="${server.name}" substring="weblogic"/>
</or>
</condition>
<!-- This checks if the Application Server is JBoss -->
<condition property="is.jboss">
<or>
<contains string="${server.name}" substring="jboss"/>
<contains string="${server.name}" substring="wildfly"/>
</or>
</condition>
<!-- This checks if the Application Server is WebSphere -->
<condition property="is.websphere">
<contains string="${server.name}" substring="websphere"/>
</condition>
<!-- This checks if the Apllication Server is WebLogic -->
<condition property="is.weblogic">
<contains string="${server.name}" substring="weblogic"/>
</condition>
<!-- This checks if static weaving enabled -->
<condition property="is.static.server.weaving">
<contains string="${server.weaving}" substring="static"/>
</condition>
<!-- This checks if testing on GlassFish with nonJTA DS -->
<condition property="is.glassfish.nonjta.datasource">
<and>
<contains string="${is.JTA}" substring="false"/>
<contains string="${server.name}" substring="glassfish"/>
</and>
</condition>
<!-- This checks if the Aplication Server is applicable to run oracle jpa/customfeatures model on oracle db-->
<condition property="run.jpa.customfeatures.model">
<and>
<contains string="${db.driver}" substring="oracle"/>
<or>
<istrue value="${is.weblogic}"/>
<!--istrue value="${is.websphere}"/-->
<istrue value="${is.jboss}"/>
<istrue value="${is.glassfish}"/>
</or>
</and>
</condition>
<property file="${user.home}/${server.name}.properties"/>
<property file="${jpatest.basedir}/${server.name}.properties"/>
<condition property="prefix.jndi" value="java:" else="jdbc">
<isset property="is.jboss"/>
</condition>
<condition property="prefix.sessionds" value="jdbc/" else="">
<contains string="${server.name}" substring="netweaver"/>
</condition>
<property name="DS_NAME" value="${prefix.jndi}/EclipseLinkDS"/>
<property name="DS2_NAME" value="${prefix.jndi}/EclipseLinkDS2"/>
<property name="DS3_NAME" value="${prefix.jndi}/EclipseLinkDS3"/>
<property name="NONJTA_DS_NAME" value="${prefix.jndi}/ELNonJTADS"/>
<property name="NONJTA_DS2_NAME" value="${prefix.jndi}/ELNonJTADS2"/>
<property name="NONJTA_DS3_NAME" value="${prefix.jndi}/ELNonJTADS3"/>
<property name="SESSION_DS_NAME" value="${prefix.sessionds}${DS_NAME}"/>
<condition property="is.grid.testing">
<contains string="${grid}" substring="true"/>
</condition>
<condition property="is.kryo.testing">
<contains string="${kryo}" substring="true"/>
</condition>
<condition property="is.jpars.testing">
<contains string="${MODEL_NAME}" substring="eclipselink-jpars-model"/>
</condition>
<condition property="jpars.url" value="http://${weblogic.host}:${weblogic.port}">
<contains string="${server.name}" substring="weblogic"/>
</condition>
<condition property="jpars.url" value="http://${glassfish.host}:8080">
<contains string="${server.name}" substring="glassfish"/>
</condition>
<condition property="tkn.data-source-name" value="${NONJTA_DS_NAME}" else="${DS_NAME}">
<isfalse value="${is.JTA}"/>
</condition>
<condition property="tkn.data-source2-name" value="${NONJTA_DS2_NAME}" else="${DS2_NAME}">
<isfalse value="${is.JTA}"/>
</condition>
<condition property="tkn.data-source3-name" value="${NONJTA_DS3_NAME}" else="${DS3_NAME}">
<isfalse value="${is.JTA}"/>
</condition>
<condition property="tkn.transaction-type" value="RESOURCE_LOCAL" else="JTA">
<isfalse value="${is.JTA}"/>
</condition>
<condition property="tkn.datasource-type" value="non-jta-data-source" else="jta-data-source">
<isfalse value="${is.JTA}"/>
</condition>
<filterset id="testing.props.filterset">
<filter token="server-platform-class" value="${server.platform.class}"/>
<filter token="server-platform" value="${server.platform}"/>
<filter token="session-data-source-name" value="${SESSION_DS_NAME}"/>
<filter token="server-weaving" value="${server.weaving}"/>
<filter token="database-platform" value="${db.platform}"/>
<filter token="database2-platform" value="${db2.platform}"/>
<filter token="database3-platform" value="${db3.platform}"/>
<filter token="dbUser" value="${db.user}"/>
<filter token="proxyUser" value="${pa.proxyuser}"/>
<filter token="data-source-name" value="${tkn.data-source-name}"/>
<filter token="data-source2-name" value="${tkn.data-source2-name}"/>
<filter token="data-source3-name" value="${tkn.data-source3-name}"/>
<filter token="transaction-type" value="${tkn.transaction-type}"/>
<filter token="datasource-type" value="${tkn.datasource-type}"/>
<filter token="NONJTA_DS_NAME" value="${NONJTA_DS_NAME}"/>
</filterset>
</target>
<target name="init-compiler" depends="init">
<macrodef name="compile">
<attribute name="srcdir" default="${jpatest.generated.dir}:${jpatest.src.dir}"/>
<attribute name="destdir" />
<attribute name="includes" default="-NOTHING-BY-DEFAULT-"/>
<attribute name="excludes" default="-NOTHING-BY-DEFAULT-"/>
<attribute name="classpathref" default="jpatest.compile.core.path"/>
<attribute name="modulepathref" default="jpatest.compile.module.path"/>
<attribute name="upgrademodulepathref" default="jpatest.upgrade.module.path"/>
<element name="customize" implicit="true"/>
<sequential>
<echo message="Compiler settings:"/>
<echo message="jdk.version ='${test.junit.jdk.JAVA_VERSION}'"/>
<echo message="srcdir ='@{srcdir}'"/>
<echo message="destdir ='@{destdir}'"/>
<echo message="debug/debuglevel ='${javac.debug}'/'${javac.debuglevel}'"/>
<echo message="source/target ='${test.javac.version}'/'${test.javac.version}'"/>
<echo message="deprecation ='${javac.deprecation}'"/>
<echo message="failonerror ='${fail.on.error}'"/>
<echo message="memoryMaximumSize ='${max.heap.memory}'"/>
<echo message="javac args ='${test.javac.args}'"/>
<echo message="module-path ='${toString:@{modulepathref}}'"/>
<echo message="upgrade-module-path ='${toString:@{upgrademodulepathref}}'"/>
<echo message="class-path ='${toString:@{classpathref}}'"/>
<mkdir dir="@{destdir}"/>
<javac srcdir="@{srcdir}" destdir="@{destdir}"
includes="@{includes}" excludes="@{excludes}"
debug="${javac.debug}" debuglevel="${javac.debuglevel}"
encoding="UTF-8" deprecation="${javac.deprecation}"
source="${test.javac.version}" target="${test.javac.version}"
memoryMaximumSize="${max.heap.memory}" fork="true"
failonerror="${fail.on.error}"
classpathref="@{classpathref}"
modulepathref="@{modulepathref}"
upgrademodulepathref="@{upgrademodulepathref}">
<compilerarg line="${test.javac.args}"/>
<customize/>
</javac>
</sequential>
</macrodef>
<macrodef name="modelgen">
<attribute name="name"/>
<attribute name="modelPath"/>
<attribute name="persistencexml" default="${jpatest.resource.dir}/@{name}/persistence.xml"/>
<attribute name="modelSrc" default="${jpatest.src.dir}"/>
<attribute name="modelDest" default="${jpatest.classes.dir}" />
<attribute name="modelGenSrc" default="${jpatest.generated.dir}"/>
<attribute name="modelCompilePath" default="compile.modelgen.path"/>
<sequential>
<echo message="${line.separator}${line.separator}Building resources (with modelgen): @{name}..."/>
<local name="dst.dir"/>
<property name="dst.dir" location="@{modelGenSrc}"/>
<compile srcdir="@{modelSrc}" destdir="${dst.dir}"
includes="@{modelPath}" classpathref="@{modelCompilePath}">
<!-- compilerarg value="-Xlint:unchecked" compiler="javac1.7"/ -->
<compilerarg line="-proc:only -s ${dst.dir}"/>
<compilerarg line="-Aeclipselink.persistencexml=@{persistencexml}"/>
<!-- compilerarg value="-Aeclipselink.canonicalmodel.prefix=_" compiler="javac1.7"/ -->
</compile>
</sequential>
</macrodef>
</target>
<!-- Server Tests -->
<target name="init-build-ear-macro" depends="init-server, config-classpath, init-compiler, init-weaver">
<macrodef name="build-ejb">
<attribute name="modelname"/>
<attribute name="puname" default="default"/>
<attribute name="morepus" default="false"/>
<attribute name="classpath" default="compile.jpa22.server.path" />
<attribute name="dir"/>
<attribute name="testdir" default="org/eclipse/persistence/testing/tests/@{dir}"/>
<attribute name="modeldir" default="org/eclipse/persistence/testing/models/@{dir}"/>
<attribute name="testname" default="@{modelname}"/>
<attribute name="sourceroot" default="${eclipselink.jpa.test.dir}"/>
<attribute name="srcdir" default="@{sourceroot}/${src.dir}"/>
<attribute name="resourcedir" default="@{sourceroot}/${resource.dir}"/>
<attribute name="ejbjarincludes" default="**"/>
<attribute name="ejbjarexcludes" default="--NOTHING--"/>
<element name="extra-ejb-model-resource" optional="true"/>
<element name="extra-ejb-model-source" optional="true"/>
<sequential>
<!--server-init-ejb-jar-->
<local name="stage.build.dir.ejb"/>
<local name="default.ejb.jar.xml.dir"/>
<local name="final.ejb.jar.xml.dir"/>
<local name="use.ejb.jar.xml"/>
<local name="impl.excluded.runner6"/>
<local name="impl.excluded.runners"/>
<!-- prepare-server-resources -->
<local name="bean.src"/>
<local name="gen.srv.src.dir"/>
<local name="gen.srv.cls.dir"/>
<property name="stage.build.dir.ejb" value="${jpatest.server.build.dir}/@{testname}/ejb"/>
<mkdir dir="${stage.build.dir.ejb}/META-INF"/>
<condition property="default.ejb.jar.xml.dir"
value="${jpatest.resource.dir}/@{modelname}/server"
else="${jpatest.resource.dir}/server">
<!--SessionBean Test need it's own ejb-jar.xml, which including ejb-def for the sessionbean -->
<available file="${jpatest.resource.dir}/@{modelname}/server/ejb-jar.xml"/>
</condition>
<condition property="final.ejb.jar.xml.dir" value="${jpatest.resource.dir}/${server.name}" else="${default.ejb.jar.xml.dir}">
<!--Empty ejb-jar.xml is needed for GlassFish when run jpa tests against NonJTA datasource-->
<and>
<isset property="is.glassfish.nonjta.datasource"/>
<available file="${jpatest.resource.dir}/${server.name}/ejb-jar.xml"/>
</and>
</condition>
<condition property="use.ejb.jar.xml">
<isfalse value="@{morepus}"/>
</condition>
<copy todir="${stage.build.dir.ejb}/META-INF" includeEmptyDirs="false">
<filterset>
<filterset refid="testing.props.filterset"/>
<filter token="default" value="@{puname}"/>
</filterset>
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/@{testname}/server" erroronmissingdir="false">
<include name="persistence.xml"/>
</fileset>
<fileset dir="${jpatest.resource.dir}/server">
<include name="persistence.xml"/>
</fileset>
<fileset file="${final.ejb.jar.xml.dir}">
<include name="ejb-jar.xml" if="use.ejb.jar.xml"/>
</fileset>
</copy>
<!--DDLGeneration Test need it's own persistence.xml and mapping xml files -->
<copy todir="${stage.build.dir.ejb}/META-INF" overwrite="true" failonerror="false" includeEmptyDirs="false">
<filterset>
<filterset refid="testing.props.filterset"/>
<filter token="default" value="@{puname}"/>
</filterset>
<fileset dir="${jpatest.resource.dir}/@{modelname}/server/">
<include name="*.xml"/>
<include name="*.jdbc"/>
<exclude name="extension*.xml"/>
<include name="ejb-jar.xml" if="use.ejb.jar.xml"/>
</fileset>
<extra-ejb-model-resource/>
</copy>
<copy todir="${stage.build.dir.ejb}" overwrite="true" failonerror="false">
<fileset dir="${jpatest.resource.dir}/@{modelname}" includes="org/**"/>
<fileset dir="${jpatest.resource.dir}/@{modelname}/repository" includes="**/extension*.*"/>
</copy>
<!-- Replace datasource type, name and transaction type -->
<!--<antcall target="add-project-cache-properties" inheritRefs="true"/>-->
<!-- prepare server session beans for testing -->
<condition property="bean.src" value="TestRunnerBean.java_nonjtaDS" else="TestRunnerBean.java">
<isfalse value="${is.JTA}"/>
</condition>
<property name="gen.srv.src.dir" value="${jpatest.server.build.dir}/@{testname}/ejb-src"/>
<property name="gen.srv.cls.dir" value="${jpatest.server.build.dir}/@{testname}/ejb-classes"/>
<mkdir dir="${gen.srv.src.dir}"/>
<copy overwrite="true"
tofile="${gen.srv.src.dir}/org/eclipse/persistence/testing/framework/server/TestRunnerBean.java"
file="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/server/${bean.src}">
<filterset>
<filter token="puName" value="@{puname}"/>
</filterset>
</copy>
<condition property="impl.excluded.runner6" value="-NOTHING-" else="**/TestRunner6Bean.*">
<contains string="@{puname}" substring="jpa21-sessionbean"/>
</condition>
<condition property="impl.excluded.runners" value="**/TestRunnerBean.*,${impl.excluded.runner6}" else="**/TestRunner*Bean.*">
<istrue value="@{morepus}"/>
</condition>
<compile srcdir="${gen.srv.src.dir}" destdir="${gen.srv.cls.dir}" includes="${impl.excluded.runners}">
<classpath>
<path refid="compile.path"/>
</classpath>
</compile>
<!--server-compile-ejb-jar-->
<compile srcdir="${jpatest.generated.dir}:@{srcdir}"
destdir="${stage.build.dir.ejb}">
<extra-ejb-model-source/>
<include name="@{testdir}/**/*.java"/>
<include name="@{modeldir}/**/*.java"/>
<!--<include name="@{modeldir}/*.java"/>-->
<classpath>
<path refid="@{classpath}"/>
</classpath>
</compile>
<!--server-package-ejb-jar-->
<jar destfile="${jpatest.server.build.dir}/@{testname}/@{testname}_ejb.jar" >
<zipfileset src="${jpatest.2.coretest.dir}/${coretest.framework.jar}"
includes="org/eclipse/persistence/testing/framework/**/*.class"/>
<zipfileset src="${jpatest.2.coretest.dir}/${coretest.jar}"
includes="org/eclipse/persistence/testing/tests/performance/emulateddb/**,
org/eclipse/persistence/tools/**,
org/eclipse/persistence/testing/tests/TestRunModel*"/>
<zipfileset src="${jpatest.basedir}/${jpatest.framework}.jar"
includes="org/eclipse/persistence/testing/framework/junit/*.class,
org/eclipse/persistence/testing/framework/server/*.class"
excludes="${impl.excluded.runners}"/>
<fileset dir="${jpatest.server.build.dir}/@{testname}/ejb-classes" erroronmissingdir="false"/>
<fileset dir="${stage.build.dir.ejb}" includes="@{ejbjarincludes}" excludes="@{ejbjarexcludes}"/>
</jar>
<!--server-weave-ejb-jar" depends="server-package-ejb-jar, init-weaver" if="is.static.server.weaving"-->
<!--<run-weaver model="@{testname}_ejb" dir="${jpatest.server.build.dir}/@{testname}"/>-->
</sequential>
</macrodef>
<macrodef name="build-ear">
<attribute name="modelname"/>
<attribute name="puname" default="default"/>
<attribute name="morepus" default="false"/>
<attribute name="classpath" default="compile.jpa22.server.path" />
<attribute name="dir"/>
<attribute name="earname" default="@{modelname}"/>
<attribute name="testdir" default="org/eclipse/persistence/testing/tests/@{dir}"/>
<attribute name="modeldir" default="org/eclipse/persistence/testing/models/@{dir}"/>
<attribute name="testname" default="@{modelname}"/>
<attribute name="sourceroot" default="${eclipselink.jpa.test.dir}"/>
<attribute name="srcdir" default="@{sourceroot}/${src.dir}"/>
<attribute name="resourcedir" default="@{sourceroot}/${resource.dir}"/>
<attribute name="ejbjarincludes" default="**"/>
<attribute name="ejbjarexcludes" default="--NOTHING--"/>
<element name="extra-model-resource" optional="true"/>
<element name="extra-model-source" optional="true"/>
<element name="extra-module" optional="true"/>
<element name="extra-module-jar" optional="true"/>
<sequential>
<mkdir dir="${jpatest.server.build.dir}" />
<!--server-init-client-jar-->
<local name="stage.build.dir.client"/>
<property name="stage.build.dir.client" value="${jpatest.server.build.dir}/@{testname}/client"/>
<mkdir dir="${stage.build.dir.client}/META-INF"/>
<copy todir="${stage.build.dir.client}/META-INF"
file="${jpatest.resource.dir}/server/application-client.xml" />
<copy todir="${stage.build.dir.client}">
<fileset dir="${jpatest.basedir}" includes="*.properties"/>
</copy>
<copy todir="${stage.build.dir.client}"
file="${jpatest.resource.dir}/server/jndi.properties">
<filterset>
<filter token="server.user" value="${server.user}"/>
<filter token="server.pwd" value="${server.pwd}"/>
<filter token="server.factory" value="${server.factory}"/>
</filterset>
</copy>
<!--server-compile-client-jar-->
<compile srcdir="@{srcdir}:${jpatest.generated.dir}"
destdir="${stage.build.dir.client}">
<include name="@{testdir}/*.java"/>
<classpath>
<path refid="@{classpath}"/>
</classpath>
</compile>
<!--server-package-client-jar-->
<jar destfile="${jpatest.server.build.dir}/@{testname}/@{testname}_client.jar">
<zipfileset src="${jpatest.2.coretest.dir}/${coretest.framework.jar}"
includes="org/eclipse/persistence/testing/framework/junit/*.class"/>
<zipfileset src="${jpatest.basedir}/${jpatest.framework}.jar"
includes="**/*.class"
excludes="**/TestRunner*Bean.*"/>
<fileset dir="${stage.build.dir.client}"/>
</jar>
<build-ejb modelname="@{modelname}" puname="@{puname}" morepus="@{morepus}" classpath="@{classpath}"
dir="@{dir}" testdir="@{testdir}" modeldir="@{modeldir}" testname="@{testname}"
sourceroot="@{sourceroot}" srcdir="@{srcdir}" resourcedir="@{resourcedir}"
ejbjarincludes="@{ejbjarincludes}" ejbjarexcludes="@{ejbjarexcludes}">
<extra-ejb-model-resource>
<extra-model-resource/>
</extra-ejb-model-resource>
<extra-ejb-model-source>
<extra-model-source/>
</extra-ejb-model-source>
</build-ejb>
<extra-module/>
<!-- Build server test ear. -->
<local name="stage.build.dir.ear"/>
<local name="tkn.modelname"/>
<property name="stage.build.dir.ear" value="${jpatest.server.build.dir}/@{testname}/ear"/>
<mkdir dir="${stage.build.dir.ear}/META-INF"/>
<condition property="tkn.modelname" value="@{modelname}-woven" else="@{modelname}">
<isset property="is.static.server.weaving"/>
</condition>
<copy todir="${stage.build.dir.ear}/META-INF"
file="${jpatest.basedir}/${resource.dir}/server/application.xml">
<filterset>
<filter token="modelname" value="${tkn.modelname}"/>
</filterset>
</copy>
<ear destfile="${jpatest.server.build.dir}/@{testname}/@{earname}.ear" appxml="${stage.build.dir.ear}/META-INF/application.xml">
<fileset dir="${jpatest.server.build.dir}/@{testname}">
<include name="${tkn.modelname}_ejb.jar"/>
</fileset>
<extra-module-jar/>
</ear>
</sequential>
</macrodef>
</target>
<!-- Packages JPA persistent unit test jars. -->
<target name="init-package" depends="init">
<macrodef name="package-model">
<attribute name="model"/>
<attribute name="resources" default="*.xml"/>
<attribute name="includes"/>
<attribute name="excludes" default=""/>
<element name="content" optional="true"/>
<sequential>
<mkdir dir="${jpatest.build.dir}/@{model}/META-INF"/>
<copy todir="${jpatest.build.dir}/@{model}/META-INF">
<fileset dir="${jpatest.resource.dir}/@{model}" includes="@{resources}"/>
</copy>
<copy todir="${jpatest.build.dir}/@{model}" >
<fileset dir="${jpatest.classes.dir}"
includes="@{includes}" excludes="@{excludes}"/>
</copy>
<content/>
<jar jarfile="${jpatest.build.dir}/@{model}.jar">
<fileset dir="${jpatest.build.dir}/@{model}"/>
</jar>
</sequential>
</macrodef>
</target>
<!-- Compiles all tests. -->
<target name="compile" description="compile EclipseLink testing"
depends="init-compiler, compile-framework,
compile-with-modelgen, compile-standard, compile-jpa22-standard, compile-springplatform, compile-criteria, compile-fullregression"/>
<target name="compile-framework">
<mkdir dir="${jpatest.build.dir}/${jpatest.framework}"/>
<compile srcdir="${jpatest.src.dir}"
destdir="${jpatest.build.dir}/${jpatest.framework}"
classpathref="compile.path">
<include name="org/eclipse/persistence/testing/framework/**"/>
</compile>
</target>
<target name="compile-with-modelgen" depends="init-compiler">
<modelgen name="${eclipselink.canonical.meta.model}"
modelPath="org/eclipse/persistence/testing/models/jpa/advanced/*.java"/>
<modelgen name="${eclipselink.metamodel.model}"
modelPath="org/eclipse/persistence/testing/models/jpa/metamodel/*.java" />
<modelgen name="${eclipselink.inheritance.model}"
modelPath="org/eclipse/persistence/testing/models/jpa/inheritance/*.java,
org/eclipse/persistence/testing/models/jpa/inherited/*.java" />
</target>
<!-- Excluding JPA 2.1 tests: when both jpa2.0 compatability (2.0 compiled), and 2.1 functionality testing (2.1 compiled) need to be performed a "jpa20.compile.classpath" will need to be used -->
<target name="compile-standard">
<compile destdir="${jpatest.classes.dir}"
classpathref="compile.path">
<include name="org/eclipse/persistence/testing/**"/>
<exclude name="org/eclipse/persistence/testing/framework/**"/>
<exclude name="org/eclipse/persistence/testing/models/jpa22/**"/>
<exclude name="org/eclipse/persistence/testing/models/jpa/metamodel/**"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa22/**"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/FullRegressionTestSuite.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/AllCMP3TestRunModel.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/criteria/CriteriaServerTestSuite.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/criteria/JUnitCriteriaMetamodelTestSuite.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/deployment/CompositeEnumerationTest.java"/>
</compile>
</target>
<!-- Prototype only: intended for the time when both jpa2.0 compatability (2.0 compiled), and 2.2 functionality testing (2.2 compiled) will need to be performed -->
<target name="compile-jpa22-standard">
<compile destdir="${jpatest.classes22.dir}"
classpathref="jpa22.compile.path">
<include name="org/eclipse/persistence/testing/**"/>
<exclude name="org/eclipse/persistence/testing/framework/**"/>
<exclude name="org/eclipse/persistence/testing/models/jpa/advanced/**"/>
<exclude name="org/eclipse/persistence/testing/models/jpa/metamodel/**"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/FullRegressionTestSuite.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/AllCMP3TestRunModel*.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/criteria/CriteriaServerTestSuite.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/criteria/JUnitCriteriaMetamodelTestSuite.java"/>
<exclude name="org/eclipse/persistence/testing/tests/jpa/deployment/CompositeEnumerationTest.java"/>
</compile>
</target>
<target name="compile-fullregression">
<compile destdir="${jpatest.classes.dir}"
classpathref="compile.path">
<include name="org/eclipse/persistence/testing/tests/jpa/FullRegressionTestSuite.java"/>
<include name="org/eclipse/persistence/testing/tests/jpa/AllCMP3TestRunModel*.java"/>
<include name="org/eclipse/persistence/testing/tests/jpa/criteria/CriteriaServerTestSuite.java"/>
</compile>
</target>
<target name="compile-springplatform" depends="proxy" if="is.spring">
<get dest="${spring.jlib.dir}">
<url url="http://central.maven.org/maven2/aopalliance/aopalliance/1.0/aopalliance-1.0.jar"/>
<url url="http://central.maven.org/maven2/cglib/cglib-nodep/3.2.2/cglib-nodep-3.2.2.jar"/>
<url url="http://central.maven.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.jar"/>
<url url="http://central.maven.org/maven2/jotm/jotm/2.0.10/jotm-2.0.10.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-context/4.2.5.RELEASE/spring-context-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-test/4.2.5.RELEASE/spring-test-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-core/4.2.5.RELEASE/spring-core-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-beans/4.2.5.RELEASE/spring-beans-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-jdbc/4.2.5.RELEASE/spring-jdbc-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-aop/4.2.5.RELEASE/spring-aop-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-tx/4.2.5.RELEASE/spring-tx-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-orm/4.2.5.RELEASE/spring-orm-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-expression/4.2.5.RELEASE/spring-expression-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/org/springframework/spring-instrument/4.2.5.RELEASE/spring-instrument-4.2.5.RELEASE.jar"/>
<url url="http://central.maven.org/maven2/com/experlog/xapool/1.6-beta/xapool-1.6-beta.jar"/>
</get>
<javac srcdir="${eclipselink.jpa.spring.test}/${src.dir}"
destdir="${jpatest.classes.dir}"
debug="${javac.debug}"
debuglevel="${javac.debuglevel}"
encoding="UTF-8"
optimize="${javac.optimize}"
source="${javac.version}"
target="${javac.version}"
deprecation="${javac.deprecation}"
failonerror="true">
<include name="org/eclipse/persistence/testing/framework/server/**"/>
<classpath>
<path refid="compile.path"/>
<path refid="spring.path"/>
</classpath>
</javac>
</target>
<target name="proxy" if="http.proxyHost">
<setproxy proxyhost="${http.proxyHost}" proxyport="${http.proxyPort}"/>
</target>
<target name="compile-criteria">
<!-- Compile the Modelgen (criteria metamodel) Tests -->
<!-- *** Depends upon JPA Test Framework having been compiled already -->
<echo message="Compile the Modelgen (criteria metamodel) Tests"/>
<compile destdir="${jpatest.classes.dir}"
classpathref="compile.path">
<include name="org/eclipse/persistence/testing/models/jpa/metamodel/**"/>
<include name="org/eclipse/persistence/testing/tests/jpa/criteria/CriteriaServerTestSuite.java"/>
<include name="org/eclipse/persistence/testing/tests/jpa/criteria/JunitCriteriaMetamodelTestSuite.java"/>
</compile>
</target>
<target name="package" depends="init-package, package-framework, package-annotation, package-ddl, package-xml-only, package-xml-merge, package-jpa-model,
package-jpa22-model, package-xml-extended, package-validation-failed, package-jpa-advanced-field-access, package-jpa-advanced-properties,
package-jpa-pu_with_spaces, package-partitioned, package-plsql, package-jpa-performance, package-jpa-performance2, package-cascade-deletes,
package-cacheable, package-jpa-metamodel, package-delimited, package-beanvalidation, package-beanvalidation-dynamic, package-composite-advanced,
package-composite-advanced-member_1, package-composite-advanced-member_2, package-composite-advanced-member_3, package-xml-composite-advanced,
package-xml-composite-advanced-member_1, package-xml-composite-advanced-member_2, package-xml-composite-advanced-member_3,
package-xml-extended-composite-advanced, package-xml-extended-composite-advanced-member_1, package-xml-extended-composite-advanced-member_2,
package-xml-extended-composite-advanced-member_3, package-extensibility, package-jpa-remote, package-identity-model,
package-xml-mapping-metadata-complete" description="build EclipseLink jar">
<jar jarfile="${jpatest.build.dir}/${jpa.test.jar}">
<fileset dir="${jpatest.classes.dir}"
includes="org/eclipse/persistence/testing/tests/**/*.class"
excludes="org/eclipse/persistence/testing/framework/**/*.class,
org/eclipse/persistence/testing/tests/jpa22/**/*.class"/>
</jar>
<jar jarfile="${jpatest.build.dir}/${jpa22.test.jar}">
<fileset dir="${jpatest.classes22.dir}"
includes="org/eclipse/persistence/testing/tests/**/*.class,org/eclipse/samples/**/*.class"
excludes="org/eclipse/persistence/testing/framework/**/*.class,
org/eclipse/persistence/testing/tests/jpa21/**/*.class"/>
</jar>
</target>
<target name="package-framework">
<jar jarfile="${jpatest.basedir}/${jpatest.framework}.jar">
<fileset dir="${jpatest.build.dir}/${jpatest.framework}"/>
</jar>
</target>
<!-- Copy Spring specified ***spring.xml, appContext.properties and persistence.xml to default build location-->
<target name="prepare-spring-xmls" depends="init, config-classpath" if="is.spring">
<copy todir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}">
<fileset dir="${eclipselink.jpa.spring.test}/resource/jpa-spring" includes="appContext.properties"/>
</copy>
<copy todir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}/META-INF" overwrite="true">
<fileset dir="${jpatest.resource.dir}/${MODEL_NAME}" includes="persistence.xml"/>
</copy>
<copy todir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}">
<fileset dir="${eclipselink.jpa.spring.test}/resource/jpa-spring" includes="**spring.xml"/>
</copy>
<replace dir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}" token='@dbURL@' value="${db.url}">
<include name="appContext.properties"/>
<include name="META-INF/persistence.xml"/>
<include name="**spring.xml"/>
</replace>
<replace dir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}" token='@driverClass@' value="${db.driver}">
<include name="appContext.properties"/>
<include name="META-INF/persistence.xml"/>
<include name="**spring.xml"/>
</replace>
<replace dir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}" token='@dbUser@' value="${db.user}">
<include name="appContext.properties"/>
<include name="META-INF/persistence.xml"/>
<include name="**spring.xml"/>
</replace>
<replace dir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}" token='@dbPassword@' value="${db.pwd}">
<include name="appContext.properties"/>
<include name="**/persistence.xml"/>
<include name="**spring.xml"/>
</replace>
<replace dir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}" token='@dbPlatform@' value="${db.platform}">
<include name="appContext.properties"/>
<include name="**/persistence.xml"/>
<include name="**spring.xml"/>
</replace>
</target>
<!-- Copy OSGi specified persistence.xml to default build location-->
<target name="prepare-osgi-xmls" depends="init, config-classpath" if="is.osgi">
<condition property="TEST_WEAVING" value="true" else="false">
<equals arg1="${test.weaving}" arg2="-DTEST_NO_WEAVING=false" casesensitive="false" trim="true"/>
</condition>
<copy todir="${jpatest.basedir}/${build.dir}/${MODEL_NAME}/META-INF" overwrite="true">
<fileset dir="${jpatest.resource.dir}/${MODEL_NAME}/osgi" includes="persistence.xml"/>
</copy>
<replaceregexp file="${jpatest.basedir}/${build.dir}/${MODEL_NAME}/META-INF/persistence.xml"
match='property name="eclipselink.weaving"\s+value="false"'
replace='property name="eclipselink.weaving" value="${TEST_WEAVING}"'
/>
</target>
<target name="package-annotation" depends="init-package">
<package-model model="${eclipselink.annotation.model}"
includes="org/eclipse/persistence/testing/models/jpa/advanced/**
org/eclipse/persistence/testing/models/jpa/cacheable/**
org/eclipse/persistence/testing/models/jpa/cascadedeletes/**
org/eclipse/persistence/testing/models/jpa/complexaggregate/**
org/eclipse/persistence/testing/models/jpa/customer/**
org/eclipse/persistence/testing/models/jpa/datatypes/**
org/eclipse/persistence/testing/models/jpa/datetime/**
org/eclipse/persistence/testing/models/jpa/inheritance/**
org/eclipse/persistence/testing/models/jpa/inherited/**
org/eclipse/persistence/testing/models/jpa/lob/**
org/eclipse/persistence/testing/models/nativeapitest/**
org/eclipse/persistence/testing/models/jpa/orphanremoval/**
org/eclipse/persistence/testing/models/jpa/privateowned/**
org/eclipse/persistence/testing/models/jpa/relationships/**
org/eclipse/persistence/testing/models/jpa/sessionbean/**
org/eclipse/persistence/testing/models/jpa/virtualattribute/**">
<content>
<!-- copy jaxb index, properties files -->
<copy todir="${jpatest.build.dir}/${eclipselink.annotation.model}">
<fileset dir="${jpatest.resource.dir}/${eclipselink.annotation.model}"
includes="org/eclipse/persistence/testing/models/jpa/lob/*"/>
</copy>
</content>
</package-model>
<!-- <antcall target="prepare-spring-xmls" inheritRefs="true">
<param name="MODEL_NAME" value="${eclipselink.annotation.model}"/>
</antcall>
<antcall target="prepare-osgi-xmls" inheritRefs="true">
<param name="MODEL_NAME" value="${eclipselink.annotation.model}"/>
</antcall>-->
</target>
<target name="package-xml-mapping-metadata-complete" depends="init-package">
<package-model model="${eclipselink.xml.mapping.metadata.complete}"
includes="org/eclipse/persistence/testing/models/jpa/xml/xmlmetadatacomplete/**">
<content>
<copy todir="${jpatest.build.dir}/${eclipselink.xml.mapping.metadata.complete}/">
<fileset dir="${jpatest.resource.dir}/${eclipselink.xml.mapping.metadata.complete}"
includes="org/eclipse/persistence/testing/models/jpa/xml/xmlmetadatacomplete/*"/>
</copy>
</content>
</package-model>
<!-- <antcall target="prepare-spring-xmls" inheritRefs="true">
<param name="MODEL_NAME" value="${eclipselink.xml.mapping.metadata.complete}"/>
</antcall>
<antcall target="prepare-osgi-xmls" inheritRefs="true">
<param name="MODEL_NAME" value="${eclipselink.xml.mapping.metadata.complete}"/>
</antcall>-->
</target>
<target name="package-ddl" depends="init-package">
<package-model model="${eclipselink.ddl.generation.model}"
includes="org/eclipse/persistence/testing/models/jpa/ddlgeneration/**,
org/eclipse/persistence/testing/models/jpa/xml/merge/inherited/**"/>
</target>
<target name="package-xml-only" depends="init-package">
<package-model model="${eclipselink.xml.only.model}"
includes="org/eclipse/persistence/testing/models/jpa/xml/**"
excludes="org/eclipse/persistence/testing/models/jpa/xml/merge/**
org/eclipse/persistence/testing/models/jpa/xml/composite/**"/>
</target>
<target name="package-cascade-deletes" depends="init-package">
<package-model model="${eclipselink.cascade.deletes}"
includes="org/eclipse/persistence/testing/models/jpa/cascadedeletes/**"/>
</target>
<target name="package-cacheable" depends="init-package">
<package-model model="${eclipselink.cacheable.model}"
includes="org/eclipse/persistence/testing/models/jpa/cacheable/**"/>
</target>
<target name="package-jpa-model" depends="init-package">
<package-model model="${eclipselink.jpa21.model}" resources="*.xml, *.jdbc"
includes="org/eclipse/persistence/testing/models/jpa21/**"/>
</target>
<target name="package-jpa22-model" depends="init-package">
<package-model model="${eclipselink.jpa22.model}" resources="*.xml, *.jdbc"
includes="org/eclipse/persistence/testing/models/jpa22/**">
<content>
<copy todir="${jpatest.build.dir}/${eclipselink.jpa22.model}">
<fileset dir="${jpatest.classes22.dir}"
includes="org/eclipse/persistence/testing/models/jpa22/**"/>
</copy>
</content>
</package-model>
</target>
<target name="package-xml-extended" depends="init-package">
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.model}/META-INF">
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/${eclipselink.xml.extended.model}" includes="*.xml"/>
</copy>
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.model}">
<fileset dir="${jpatest.classes.dir}"
includes="org/eclipse/persistence/testing/models/jpa/xml/advanced/**,
org/eclipse/persistence/testing/models/jpa/xml/inheritance/**,
org/eclipse/persistence/testing/models/jpa/xml/relationships/**,
org/eclipse/persistence/testing/models/jpa/xml/complexaggregate/**"
excludes="org/eclipse/persistence/testing/models/jpa/xml/relationships/unidirectional/**"/>
</copy>
<jar jarfile="${jpatest.build.dir}/${eclipselink.xml.extended.model}.jar">
<fileset dir="${jpatest.build.dir}/${eclipselink.xml.extended.model}">
</fileset>
</jar>
</target>
<target name="package-xml-merge" depends="init-package">
<package-model model="${eclipselink.xml.merge.model}"
includes="org/eclipse/persistence/testing/models/jpa/xml/merge/**"
excludes="org/eclipse/persistence/testing/models/jpa/xml/merge/inherited/**"/>
</target>
<target name="package-validation-failed" depends="init-package">
<package-model model="${eclipselink.validation.failed.model}"
includes="org/eclipse/persistence/testing/models/jpa/validationfailed/**"/>
</target>
<target name="package-jpa-advanced-field-access" depends="init-package">
<package-model model="${eclipselink.advanced.field.access.model}"
includes="org/eclipse/persistence/testing/models/jpa/fieldaccess/advanced/**,
org/eclipse/persistence/testing/models/jpa/fieldaccess/relationships/**">
<content>
<copy todir="${jpatest.build.dir}/${eclipselink.advanced.field.access.model}/">
<fileset dir="${jpatest.resource.dir}/${eclipselink.advanced.field.access.model}"
includes="org/eclipse/persistence/testing/models/jpa/fieldaccess/relationships/*"/>
</copy>
</content>
</package-model>
<!-- <antcall target="prepare-spring-xmls" inheritRefs="true">
<param name="MODEL_NAME" value="${eclipselink.advanced.field.access.model}"/>
</antcall>
<antcall target="prepare-osgi-xmls" inheritRefs="true">
<param name="MODEL_NAME" value="${eclipselink.advanced.field.access.model}"/>
</antcall>-->
</target>
<target name="package-jpa-remote" depends="init-package">
<package-model model="${eclipselink.remote}"
includes="org/eclipse/persistence/testing/models/jpa/fieldaccess/advanced/**,
org/eclipse/persistence/testing/models/jpa/fieldaccess/relationships/**"/>
</target>
<target name="package-jpa-advanced-properties" depends="init-package">
<package-model model="${eclipselink.advanced.properties}" resources="*.xml, "
includes="org/eclipse/persistence/testing/models/jpa/jpaadvancedproperties/**">
<content>
<copy todir="${jpatest.build.dir}/${eclipselink.advanced.properties}">
<fileset dir="${jpatest.resource.dir}/${eclipselink.advanced.properties}"
includes="org/eclipse/persistence/testing/models/jpa/jpaadvancedproperties/*.xml"/>
</copy>
</content>
</package-model>
</target>
<target name="package-jpa-pu_with_spaces" depends="init-package">
<package-model model="${eclipselink.pu.with.spaces}"
includes="-NOTHING-"/>
</target>
<target name="package-partitioned" depends="init-package">
<package-model model="${eclipselink.partitioned.model}"
includes="org/eclipse/persistence/testing/models/jpa/partitioned/**"/>
</target>
<target name="package-plsql" depends="init-package">
<package-model model="${eclipselink.plsql.model}"
includes="org/eclipse/persistence/testing/models/jpa/plsql/**"/>
</target>
<target name="package-jpa-pu_with_multibyte" depends="init-package">
<!-- <package-model model="${eclipselink.pu.with.multibyte}"
includes="-NOTHING-"/> -->
</target>
<target name="package-jpa-performance" depends="init-package">
<package-model model="${jpa.performance}" resources="*.xml"
includes="org/eclipse/persistence/testing/models/jpa/performance/**"/>
</target>
<target name="package-identity-model" depends="init-package">
<package-model model="${eclipselink.identity.model}"
includes="org/eclipse/persistence/testing/models/jpa22/identity/**">
<content>
<copy todir="${jpatest.build.dir}/${eclipselink.identity.model}">
<fileset dir="${jpatest.classes22.dir}"
includes="org/eclipse/persistence/testing/models/jpa22/identity/**"/>
</copy>
</content>
</package-model>
</target>
<target name="package-jpa-performance2" depends="init-package">
<package-model model="${jpa.performance2}" resources="*.xml"
includes="org/eclipse/persistence/testing/models/jpa/performance2/**"/>
</target>
<target name="package-jpa-metamodel" depends="init-package">
<package-model model="${eclipselink.metamodel.model}"
includes="org/eclipse/persistence/testing/models/jpa/metamodel/**">
</package-model>
</target>
<target name="package-delimited" depends="init-package">
<package-model model="${eclipselink.delimited.model}"
includes="org/eclipse/persistence/testing/models/jpa/delimited/**"/>
</target>
<target name="package-extensibility" depends="init-package">
<package-model model="${eclipselink.extensibility.model}" resources="*.xml"
includes="org/eclipse/persistence/testing/models/jpa/extensibility/**">
<content>
<copy todir="${jpatest.build.dir}/${eclipselink.extensibility.model}">
<fileset dir="${jpatest.resource.dir}/${eclipselink.extensibility.model}/repository"
includes="*.xml, *.properties"/>
</copy>
</content>
</package-model>
</target>
<target name="package-beanvalidation" depends="init-package">
<package-model model="${eclipselink.beanvalidation.model}"
includes="org/eclipse/persistence/testing/models/jpa/beanvalidation/**"/>
</target>
<target name="package-beanvalidation-dynamic" depends="init-package">
<package-model model="${eclipselink.beanvalidation.dynamic.model}"
includes="org/eclipse/persistence/testing/models/jpa/beanvalidation/dynamic/**"/>
</target>
<target name="package-composite-advanced" depends="init-package">
<package-model model="${eclipselink.composite.advanced.model}"
includes="org/eclipse/persistence/testing/models/jpa/composite/advanced/*"/>
</target>
<target name="package-composite-advanced-member_1" depends="init-package">
<package-model model="${eclipselink.composite.advanced.model.member_1}"
includes="org/eclipse/persistence/testing/models/jpa/composite/advanced/member_1/**"/>
</target>
<target name="package-composite-advanced-member_2" depends="init-package">
<package-model model="${eclipselink.composite.advanced.model.member_2}"
includes="org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2/**"/>
</target>
<target name="package-composite-advanced-member_3" depends="init-package">
<package-model model="${eclipselink.composite.advanced.model.member_3}"
includes="org/eclipse/persistence/testing/models/jpa/composite/advanced/member_3/**"/>
</target>
<target name="package-xml-composite-advanced" depends="init-package">
<package-model model="${eclipselink.xml.composite.advanced.model}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/*"/>
</target>
<target name="package-xml-composite-advanced-member_1" depends="init-package">
<package-model model="${eclipselink.xml.composite.advanced.model.member_1}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1/**"/>
</target>
<target name="package-xml-composite-advanced-member_2" depends="init-package">
<package-model model="${eclipselink.xml.composite.advanced.model.member_2}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/**"/>
</target>
<target name="package-xml-composite-advanced-member_3" depends="init-package">
<package-model model="${eclipselink.xml.composite.advanced.model.member_3}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_3/**"/>
</target>
<target name="package-xml-extended-composite-advanced" depends="init-package">
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model}/META-INF">
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/${eclipselink.xml.extended.composite.advanced.model}" includes="*.xml"/>
</copy>
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model}">
<fileset dir="${jpatest.classes.dir}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/*"/>
</copy>
<jar jarfile="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model}.jar">
<fileset dir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model}">
</fileset>
</jar>
</target>
<target name="package-xml-extended-composite-advanced-member_1" depends="init-package">
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_1}/META-INF">
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/${eclipselink.xml.extended.composite.advanced.model.member_1}" includes="*.xml"/>
</copy>
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_1}">
<fileset dir="${jpatest.classes.dir}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1/**"/>
</copy>
<jar jarfile="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_1}.jar">
<fileset dir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_1}">
</fileset>
</jar>
</target>
<target name="package-xml-extended-composite-advanced-member_2" depends="init-package">
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_2}/META-INF">
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/${eclipselink.xml.extended.composite.advanced.model.member_2}" includes="*.xml"/>
</copy>
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_2}">
<fileset dir="${jpatest.classes.dir}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2/**"/>
</copy>
<jar jarfile="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_2}.jar">
<fileset dir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_2}">
</fileset>
</jar>
</target>
<target name="package-xml-extended-composite-advanced-member_3" depends="init-package">
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_3}/META-INF">
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/${eclipselink.xml.extended.composite.advanced.model.member_3}" includes="*.xml"/>
</copy>
<copy todir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_3}">
<fileset dir="${jpatest.classes.dir}"
includes="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_3/**"/>
</copy>
<jar jarfile="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_3}.jar">
<fileset dir="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model.member_3}">
</fileset>
</jar>
</target>
<!-- Testing -->
<target name="init-test-macro" depends="init">
<macrodef name="test">
<attribute name="include" />
<attribute name="ormtesting" default="jpa"/> <!-- or 'eclipselink' -->
<attribute name="testagent" default="${test.agent}"/>
<attribute name="testweaving" default="${test.weaving}"/>
<attribute name="testweavingoption" default="${test.weaving.option}"/>
<attribute name="classpath" default="run.classpath"/>
<attribute name="modulepath" default="jpatest.compile.module.path"/>
<attribute name="upgrademodulepath" default="jpatest.upgrade.module.path"/>
<sequential>
<local name="junit.failed"/>
<property name="additional.jvmargs" value=""/>
<local name="single.test"/>
<condition property="single.test" value="true" else="false">
<not>
<contains string="@{include}" substring=".java"/>
</not>
</condition>
<echo message="${line.separator}${line.separator}Running test on ${db.url}${line.separator}${line.separator}" />
<echo message="Test settings:"/>
<echo message=" orm.testing ='@{ormtesting}'"/>
<echo message=" test.agent ='@{testagent}'"/>
<echo message=" test.weaving ='@{testweaving}'"/>
<echo message=" test.weaving.option ='@{testweavingoption}'"/>
<echo message="JUnit settings:"/>
<echo message=" test ='@{include}'"/>
<echo message=" run.dir ='${jpatest.run.dir}'"/>
<echo message=" report.dir ='${jpatest.report.dir}'"/>
<echo message=" failonerror ='${fail.on.error}'"/>
<echo message="Java settings:"/>
<echo message=" jdk.version ='${test.junit.jdk.JAVA_VERSION}'"/>
<echo message=" additional.jvmargs ='${additional.jvmargs}'"/>
<echo message=" maxmemory ='${max.heap.memory}'"/>
<echo message=" java args ='${test.junit.jvm.modules.prop}'"/>
<echo message=" module-path ='${toString:@{modulepath}}'"/>
<echo message=" upgrade-module-path ='${toString:@{upgrademodulepath}}'"/>
<echo message=" class-path ='${toString:@{classpath}}'"/>
<echo message="System properties: ='${toString:test.run.propertyset}'"/>
<echo message=" db.pwd ='**********'"/>
<echo message=" pa.connection.password ='**********'"/>
<echo message=" pa.proxyuser.password ='**********'"/>
<echo message=" pa.proxyuser2.password ='**********'"/>
<mkdir dir="${jpatest.run.dir}"/>
<mkdir dir="${jpatest.report.dir}"/>
<junit fork="yes" jvm="${test.junit.jvm.exec}" maxmemory="${max.heap.memory}" tempdir="${jpatest.run.dir}"
dir="${jpatest.run.dir}" showoutput="true" printsummary="yes" failureproperty="junit.failed">
<!--haltonfailure="${test.haltonfailure}" logfailedtests="true" forkmode="once"-->
<classpath refid="@{classpath}"/>
<modulepath refid="@{modulepath}"/>
<upgrademodulepath refid="@{upgrademodulepath}"/>
<jvmarg line="${test.junit.jvm.modules.prop}"/>
<jvmarg line="${additional.jvmargs}"/>
<jvmarg value="@{testagent}"/>
<jvmarg line="@{testweaving} @{testweavingoption}"/>
<jvmarg value="-XX:CompileCommandFile=../../jdk_hotspot_compiler"/>
<syspropertyset refid="test.run.propertyset"/>
<sysproperty key="db.pwd" value="${db.pwd}"/>
<sysproperty key="pa.connection.password" value="${pa.connection.password}"/>
<sysproperty key="pa.proxyuser.password" value="${pa.proxyuser.password}"/>
<sysproperty key="pa.proxyuser2.password" value="${pa.proxyuser2.password}"/>
<sysproperty key="orm.testing" value="@{ormtesting}"/>
<formatter type="xml"/>
<!--<formatter type="plain"/>-->
<batchtest haltonfailure="no" todir="${jpatest.report.dir}">
<fileset dir="${jpatest.src.dir}">
<include name="@{include}"/>
</fileset>
</batchtest>
<test name="@{include}" haltonfailure="no" todir="${jpatest.report.dir}" if="${single.test}"/>
</junit>
<fail message="TESTS FAILED !">
<condition>
<and>
<isset property="junit.failed"/>
<istrue value="${fail.on.error}"/>
</and>
</condition>
</fail>
</sequential>
</macrodef>
</target>
<target name="init-report-macro" depends="pre-init">
<macrodef name="generate-report">
<attribute name="dir" default="${jpatest.report.dir}"/>
<sequential>
<junitreport todir="@{dir}">
<fileset dir="@{dir}">
<include name="TEST-*.xml"/>
<include name="*test-results.xml"/>
</fileset>
<report format="noframes" todir="@{dir}"/>
</junitreport>
</sequential>
</macrodef>
</target>
<target name="init-java-macro" depends="init">
<macrodef name="run-java">
<attribute name="classname" />
<attribute name="classpath" default="run.classpath"/>
<attribute name="modulepath" default="jpatest.compile.module.path"/>
<attribute name="upgrademodulepath" default="jpatest.upgrade.module.path"/>
<attribute name="testagent" default="${test.agent}"/>
<attribute name="testweaving" default="${test.weaving}"/>
<attribute name="testweavingoption" default="${test.weaving.option}"/>
<element name="customize" implicit="true" optional="true"/>
<sequential>
<property name="additional.jvmargs" value=""/>
<condition property="jvmarg.performance.baseline.version"
value="-Dtoplink.loadbuild.baseline-version=${performance.baseline.version}" else="-Ddummy=dummy">
<isset property="performance.baseline.version"/>
</condition>
<echo message="Java settings:"/>
<echo message=" classname ='@{classname}'"/>
<echo message=" run.dir ='${jpatest.run.dir}'"/>
<echo message=" report.dir ='${jpatest.report.dir}'"/>
<echo message=" failonerror ='${fail.on.error}'"/>
<echo message=" jdk.version ='${test.junit.jdk.JAVA_VERSION}'"/>
<echo message=" additional.jvmargs ='${additional.jvmargs}'"/>
<echo message=" maxmemory ='${max.heap.memory}'"/>
<echo message=" java args ='${test.junit.jvm.modules.prop}'"/>
<echo message=" module-path ='${toString:@{modulepath}}'"/>
<echo message=" upgrade-module-path ='${toString:@{upgrademodulepath}}'"/>
<echo message=" class-path ='${toString:@{classpath}}'"/>
<echo message="Weaving settings:"/>
<echo message=" test.agent ='@{testagent}'"/>
<echo message=" test.weaving ='@{testweaving}'"/>
<echo message=" test.weaving.option ='@{testweavingoption}'"/>
<echo message="System properties: ='${toString:test.run.propertyset}'"/>
<echo message=" db.pwd ='**********'"/>
<echo message=" pa.connection.password ='**********'"/>
<echo message=" pa.proxyuser.password ='**********'"/>
<echo message=" pa.proxyuser2.password ='**********'"/>
<echo message="Perf properties: ='${jvmarg.performance.baseline.version}, ${toString:test.perfrun.propertyset}'"/>
<echo message=" eclipselink.perfdb.pwd ='**********'"/>
<mkdir dir="${jpatest.run.dir}"/>
<mkdir dir="${jpatest.report.dir}"/>
<java fork="true" jvm="${test.junit.jvm.exec}" maxmemory="${max.heap.memory}"
dir="${jpatest.run.dir}" failonerror="${fail.on.error}"
classname="@{classname}">
<classpath refid="@{classpath}"/>
<modulepath refid="@{modulepath}"/>
<upgrademodulepath refid="@{upgrademodulepath}"/>
<jvmarg line="${test.junit.jvm.modules.prop}"/>
<jvmarg value="@{testagent}"/>
<jvmarg line="@{testweaving} @{testweavingoption}"/>
<syspropertyset refid="test.run.propertyset"/>
<sysproperty key="db.pwd" value="${db.pwd}"/>
<sysproperty key="pa.connection.password" value="${pa.connection.password}"/>
<sysproperty key="pa.proxyuser.password" value="${pa.proxyuser.password}"/>
<sysproperty key="pa.proxyuser2.password" value="${pa.proxyuser2.password}"/>
<syspropertyset refid="test.perfrun.propertyset"/>
<sysproperty key="eclipselink.perfdb.pwd" value="${eclipselink.perfdb.pwd}"/>
<jvmarg value="${jvmarg.performance.baseline.version}"/>
<jvmarg value="-Djava.naming.factory.initial=com.sun.jndi.cosnaming.CNCtxFactory"/>
<jvmarg line="${additional.jvmargs}"/>
<customize/>
</java>
</sequential>
</macrodef>
</target>
<target name="init-test-prompt-macro" depends="init-java-macro">
<macrodef name="test-prompt">
<attribute name="testmodel" />
<attribute name="classpath" default="run.classpath"/>
<attribute name="modulepath" default="jpatest.compile.module.path"/>
<attribute name="upgrademodulepath" default="jpatest.upgrade.module.path"/>
<attribute name="testagent" default="${test.agent}"/>
<attribute name="testweaving" default="${test.weaving}"/>
<attribute name="testweavingoption" default="${test.weaving.option}"/>
<element name="customize" implicit="true" optional="true"/>
<sequential>
<echo message="${line.separator}${line.separator}Running @{testmodel} on ${db.url}${line.separator}${line.separator}" />
<run-java classname="org.eclipse.persistence.testing.framework.PromptTestRunner"
classpath="@{classpath}" modulepath="@{modulepath}" upgrademodulepath="@{upgrademodulepath}"
testagent="@{testagent}" testweaving="@{testweaving}" testweavingoption="@{testweavingoption}">
<arg value="testmodel=@{testmodel}" />
<arg value="regressionlog=${jpatest.report.dir}/test.log" />
<arg value="saveresults=${should.save.results}" />
<customize/>
</run-java>
</sequential>
</macrodef>
</target>
<target name="init-server-test-macro" depends="init-server, config-classpath, init-compiler, init-weaver, init-report-macro">
<macrodef name="server-test">
<attribute name="include"/>
<attribute name="testname"/>
<attribute name="earname" default="@{testname}"/>
<attribute name="classpath" default="compile.jpa22.server.path"/>
<attribute name="modulepath" default="jpatest.compile.module.path"/>
<attribute name="upgrademodulepath" default="jpatest.upgrade.module.path"/>
<sequential>
<local name="junit.failed"/>
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-deploy" inheritRefs="true">
<property name="ear.name" value="${jpatest.server.build.dir}/@{testname}/@{earname}.ear"/>
<property name="application.name" value="@{testname}"/>
</ant>
<local name="impl.url"/>
<local name="impl.prefix.testrunner"/>
<condition property="impl.url" value="${server.url}" else="${server.url}@{testname}">
<or>
<isset property="is.websphere"/>
<isset property="is.jboss"/>
</or>
</condition>
<condition property="impl.prefix.testrunner" value="@{testname}/@{testname}_ejb/" else="">
<isset property="is.jboss"/>
</condition>
<path id="@{testname}.run.path">
<pathelement path="${jpatest.server.build.dir}/@{testname}/@{testname}_client.jar"/>
<pathelement path="${jpatest.server.build.dir}/@{testname}/@{testname}_ejb.jar"/>
<fileset dir="${server.lib}" includes="${server.depend}"/>
<path refid="@{classpath}"/>
</path>
<property name="additional.jvmargs" value=""/>
<echo message="${line.separator}${line.separator}Running @{earname} on ${server.name}${line.separator}${line.separator}" />
<echo message="JUnit settings:"/>
<echo message=" test ='@{include}'"/>
<echo message=" run.dir ='${jpatest.run.dir}'"/>
<echo message=" report.dir ='${jpatest.report.dir}'"/>
<echo message=" failonerror ='${fail.on.error}'"/>
<echo message="Java settings:"/>
<echo message=" jdk.version ='${test.junit.jdk.JAVA_VERSION}'"/>
<echo message=" additional.jvmargs ='${additional.jvmargs}'"/>
<echo message=" maxmemory ='${max.heap.memory}'"/>
<echo message=" java args ='${test.junit.jvm.modules.prop}'"/>
<echo message=" module-path ='${toString:@{modulepath}}'"/>
<echo message=" upgrade-module-path ='${toString:@{upgrademodulepath}}'"/>
<echo message=" class-path ='${toString:@{testname}.run.path}'"/>
<mkdir dir="${jpatest.run.dir}"/>
<mkdir dir="${jpatest.report.dir}"/>
<junit fork="yes" jvm="${test.junit.jvm.exec}" maxmemory="${max.heap.memory}" tempdir="${jpatest.run.dir}"
dir="${jpatest.run.dir}" showoutput="true" printsummary="yes" failureproperty="junit.failed">
<!--haltonfailure="${test.haltonfailure}" logfailedtests="true" forkmode="once"-->
<classpath refid="@{testname}.run.path"/>
<modulepath refid="@{modulepath}"/>
<upgrademodulepath refid="@{upgrademodulepath}"/>
<jvmarg line="${test.junit.jvm.modules.prop}"/>
<jvmarg line="${additional.jvmargs}"/>
<sysproperty key="proxy.user.name" value="${pa.connection.user}"/>
<sysproperty key="server.platform" value="${server.platform}"/>
<sysproperty key="server.user" value="${server.user}"/>
<sysproperty key="server.password" value="${server.pwd}"/>
<sysproperty key="server.url" value="${impl.url}"/>
<sysproperty key="server.lib" value="${server.lib}"/>
<sysproperty key="server.testrunner" value="${impl.prefix.testrunner}${server.testrunner}"/>
<sysproperty key="server.testrunner1" value="${impl.prefix.testrunner}${server.testrunner1}"/>
<sysproperty key="server.testrunner2" value="${impl.prefix.testrunner}${server.testrunner2}"/>
<sysproperty key="server.testrunner3" value="${impl.prefix.testrunner}${server.testrunner3}"/>
<sysproperty key="server.testrunner4" value="${impl.prefix.testrunner}${server.testrunner4}"/>
<sysproperty key="server.testrunner5" value="${impl.prefix.testrunner}${server.testrunner5}"/>
<sysproperty key="server.testrunner6" value="${impl.prefix.testrunner}${server.testrunner6}"/>
<sysproperty key="server.run" value="TRUE"/>
<sysproperty key="pa.connection.user" value="${pa.connection.user}"/>
<sysproperty key="pa.proxyuser" value="${pa.proxyuser}"/>
<sysproperty key="pa.proxyuser2" value="${pa.proxyuser2}"/>
<sysproperty key="pa.connection.password" value="${pa.connection.password}"/>
<sysproperty key="pa.proxyuser.password" value="${pa.proxyuser.password}"/>
<sysproperty key="pa.proxyuser2.password" value="${pa.proxyuser2.password}"/>
<sysproperty key="com.ibm.SSL.ConfigURL" value="${com.ibm.SSL.ConfigURL}"/>
<sysproperty key="com.ibm.CORBA.ConfigURL" value="${com.ibm.CORBA.ConfigURL}"/>
<sysproperty key="run.metadata.cache.test.suite" value="${run.metadata.cache.test.suite}"/>
<formatter type="xml"/>
<!--<formatter type="plain"/>-->
<test name="@{include}" haltonfailure="no" todir="${jpatest.report.dir}"/>
</junit>
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-undeploy" inheritRefs="true">
<property name="application.name" value="@{testname}"/>
</ant>
<fail message="TESTS FAILED !">
<condition>
<and>
<isset property="junit.failed"/>
<istrue value="${fail.on.error}"/>
</and>
</condition>
</fail>
</sequential>
</macrodef>
</target>
<target name="init-testing" depends="init, config-classpath, init-test-macro, init-report-macro, init-test-prompt-macro"/>
<target name="init-server-testing" depends="init-server, init-build-ear-macro, init-server-test-macro, init-report-macro, init-test-prompt-macro"/>
<!-- Clean all build generated content. -->
<target name="clean-test" description="Clean the test" depends="clear-database">
<delete dir="${jpatest.report.dir}"/>
<delete dir="${jpatest.run.dir}"/>
</target>
<!-- Test target to initialize a clean database -->
<target name="clear-database" depends="init-testing">
<test classpath="jpa22.run.common.path"
testagent="-Dignore"
include="org.eclipse.persistence.testing.tests.ClearDatabaseSchemaTest"/>
</target>
<!-- Default test target, run the FullRegressionTestSuite -->
<!-- persistence.xml with PU "default" is in resource/${eclipselink.annotation.model} -->
<target name="test" description="Run a test defined in test.class property using JUnit." depends="clean-test, init-testing">
<test classpath="run.classpath"
include="${test.class}"/>
<generate-report/>
</target>
<!-- Runs LRG (AllCMP3TestRunModel) with agent. -->
<target name="test-lrg" depends="clean-test, init-testing">
<test classpath="run.jpa.classpath"
include="org.eclipse.persistence.testing.tests.jpa21.advanced.JPA21TestSuite"
ormtesting="eclipselink"/>
<test classpath="run.weaver.classpath"
include="org.eclipse.persistence.testing.tests.weaving.SimpleWeaverTestSuite"
ormtesting="eclipselink"/>
<generate-report/>
</target>
<target name="test-lrg22" depends="clean-test, init-testing, test-remote-jpa, run-bean-validation-tests, oracle-test">
<!-- not using jpa22.run.classpath -->
<test classpath="lrg22.1.path"
include="org.eclipse.persistence.testing.tests.jpa.AllCMP3TestRunModel"/>
<test classpath="lrg22.2.path"
include="org.eclipse.persistence.testing.tests.jpa.AllCMP3TestRunModel2"/>
<test classpath="lrg22.3.path"
include="org.eclipse.persistence.testing.tests.jpa.AllCMP3TestRunModel3"/>
<test classpath="lrg22.4.path"
include="org.eclipse.persistence.testing.tests.jpa.AllCMP3TestRunModel4"/>
<test classpath="run.extended.classpath"
include="org.eclipse.persistence.testing.tests.jpa.xml.EntityMappingsJUnitTestSuite"
ormtesting="eclipselink"/>
<test classpath="run.jpa22.classpath"
include="org.eclipse.persistence.testing.tests.jpa22.advanced.JPA22TestSuite"
ormtesting="eclipselink"/>
<test classpath="run.weaver.classpath"
include="org.eclipse.persistence.testing.tests.weaving.SimpleWeaverTestSuite"
ormtesting="eclipselink"/>
<!--
unstable on (public) hudson, needs to be stabilized first
<test classpath="run.extended.classpath"
include="org.eclipse.persistence.testing.tests.jpa.dynamic.AllTests"
ormtesting="eclipselink"/>
-->
<generate-report/>
</target>
<!-- Run dynamic entities tests standalone. -->
<target name="test-dynamic" depends="init-testing">
<test classpath="run.extended.classpath"
include="org.eclipse.persistence.testing.tests.jpa.dynamic.AllTests"
ormtesting="eclipselink"/>
</target>
<!-- Run dynamic identity tests standalone. -->
<target name="test-identity" depends="init-testing">
<test classpath="run.identity.classpath"
include="org.eclipse.persistence.testing.tests.jpa22.identity.IdentityTest"
ormtesting="eclipselink"/>
</target>
<!-- Runs JPA 2.0 BeanValidation tests. -->
<target name="run-bean-validation-tests" depends="init-testing" if="validate.jar.exists">
<test classpath="run.bean.validation.classpath"
include="org.eclipse.persistence.testing.tests.jpa.beanvalidation.BeanValidationJunitTest"/>
<test classpath="run.bean.validation.dynamic.classpath"
include="org.eclipse.persistence.testing.tests.jpa.beanvalidation.dynamic.BeanValidationDynamicEntityJunitTest"/>
</target>
<target name="oracle-test" if="is.oracle" depends="clean-test, init-testing, config-classpath, oracle-proxy-test">
<test classpath="run.oracle.classpath"
include="org.eclipse.persistence.testing.tests.OracleJPATestSuite"/>
<test classpath="run.oracle.spatial.classpath"
include="org.eclipse.persistence.testing.tests.OracleJPASpatialTestSuite"/>
</target>
<!-- Oracle proxy authentication needs to be setup for the tests. -->
<target name="oracle-proxy-test" if="is.oracle" depends="clean-test, init-testing, config-classpath">
<ant dir="${jpatest.2.oracletest.dir}"
antfile="oracle-db-setup.xml" target="setup-proxy-authentication"/>
<test classpath="run.oracle.classpath"
include="org.eclipse.persistence.testing.tests.jpa.proxyauthentication.ProxyAuthenticationServerTestSuite"/>
</target>
<!-- Runs Remote (RMI) JPA tests. -->
<target name="test-remote-jpa" depends="init-testing">
<!--
unstable on (public) hudson, needs to be stabilized first
-->
<echo>Skipping org.eclipse.persistence.testing.tests.jpa.remote.RemoteEntityManagerTestSuite ...</echo>
<!-- <test classpath="remote.classpath"
include="org.eclipse.persistence.testing.tests.jpa.remote.RemoteEntityManagerTestSuite"/>-->
</target>
<!-- Runs JPA Oracle NoSQL tests. -->
<target name="oracle-nosql-test" depends="clean-test, init-testing">
<test classpath="run.oracle.nosql.classpath"
include="org.eclipse.persistence.testing.tests.jpa.nosql.NoSQLTestSuite"/>
<test classpath="run.oracle.nosql.classpath"
include="org.eclipse.persistence.testing.tests.jpa.nosql.NoSQLMappedTestSuite"/>
<generate-report/>
</target>
<!-- Runs SRG (EntityManagerJUnitTestSuite) with agent. -->
<target name="test-srg" depends="clean-test, init-testing">
<test classpath="run.classpath"
include="org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite"/>
</target>
<target name="test-srg22" depends="clean-test, init-testing">
<test classpath="jpa22.run.classpath"
include="org.eclipse.persistence.testing.tests.jpa.advanced.EntityManagerJUnitTestSuite"/>
<generate-report/>
</target>
<!-- Runs FullRegressionTestSuite with no agent. TEST_NO_WEAVING property informs tests that no weaving was done. -->
<target name="test-no-weave" depends="clean-test, init-testing">
<test classpath="run.classpath"
include="org.eclipse.persistence.testing.tests.jpa.AllCMP3TestRunModel"
testagent="-Dignore"
testweaving="-DTEST_NO_WEAVING=true"/>
<test classpath="run.extended.classpath"
include="org.eclipse.persistence.testing.tests.jpa.xml.EntityMappingsJUnitTestSuite"
testagent="-Dignore"
testweaving="-DTEST_NO_WEAVING=true"
ormtesting="eclipselink"/>
<generate-report/>
</target>
<!-- Runs FullRegressionTestSuite with static weaving. -->
<target name="test-static-weave" depends="clean-test, config-classpath, run-weaver, init-testing">
<path id="run.classpath.static">
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.annotation.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.ddl.generation.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.only.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.merge.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.validation.failed.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.advanced.field.access.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.advanced.properties}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.pu.with.spaces}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.partitioned.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.plsql.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.cascade.deletes}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.cacheable.model}.jar"/>
<!--pathelement path="${jpatest.build.dir}/woven-${eclipselink.pu.with.multibyte}.jar"/-->
<pathelement path="${jpatest.build.dir}/woven-${jpa.performance}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${jpa.performance2}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.metamodel.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.delimited.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.extensibility.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.beanvalidation.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.beanvalidation.dynamic.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.composite.advanced.model.member_3}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.composite.advanced.model.member_3}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.remote}.jar"/>
<pathelement path="${jdbc.driver.jar}"/>
<pathelement path="${jpatest.classes.dir}"/>
<pathelement path="${jpatest.basedir}/${jpatest.framework}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.mapping.metadata.complete}.jar"/>
<path refid="compile.path"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-api.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-impl.jar}"/>
</path>
<path id="run.extended.classpath.static">
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.extended.model}.jar"/>
<pathelement path="${jpatest.build.dir}/${eclipselink.xml.extended.composite.advanced.model}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.extended.composite.advanced.model.member_1}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.extended.composite.advanced.model.member_2}.jar"/>
<pathelement path="${jpatest.build.dir}/woven-${eclipselink.xml.extended.composite.advanced.model.member_3}.jar"/>
<pathelement path="${jdbc.driver.jar}"/>
<pathelement path="${jpatest.classes.dir}"/>
<pathelement path="${jpatest.basedir}/${jpatest.framework}.jar"/>
<pathelement path="${jpatest.build.dir}/${jpa.test.jar}"/>
<path refid="compile.path"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-api.jar}"/>
<pathelement path="${jpatest.2.common.plugins.dir}/${json-impl.jar}"/>
</path>
<test classpath="run.classpath.static"
include="org.eclipse.persistence.testing.tests.jpa.AllCMP3TestRunModel"
testagent="-Dignore"
testweaving="-Dignore"
ormtesting="eclipselink"/>
<test classpath="run.extended.classpath.static"
include="org.eclipse.persistence.testing.tests.jpa.xml.EntityMappingsJUnitTestSuite"
testagent="-Dignore"
testweaving="-Dignore"
ormtesting="eclipselink"/>
<generate-report/>
</target>
<target name="test-prompt" description="Run a test model defined in test.class property using prompt test runner." depends="init-testing, clean-test">
<test-prompt testmodel="${test.class}" classpath="run.classpath"
testagent="${test.agent}" testweaving="${test.weaving}" testweavingoption="${test.weaving.option}" />
</target>
<!-- Runs performance tests. -->
<target name="test-performance" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPAPerformanceRegressionModel"
classpath="run.performance.classpath"/>
</target>
<!-- Runs performance tests. -->
<target name="test-performance2" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPA2PerformanceRegressionModel"
classpath="run.performance.classpath"/>
</target>
<!-- Runs performance tests, no cache. -->
<target name="test-performance2-nocache" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPA2IsolatedPerformanceRegressionModel"
classpath="run.performance.classpath"/>
</target>
<!-- Runs concurrency tests. -->
<target name="test-concurrency" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPAConcurrencyComparisonModel"/>
</target>
<!-- Tests concurrency inside the JEE server or cluster. -->
<target name="server-test-concurrency" depends="init-server-testing">
<build-ear dir="jpa/performance" puname="performance"
modelname="${jpa.performance}"/>
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-deploy" inheritRefs="true">
<property name="ear.name" value="${jpatest.server.build.dir}/${jpa.performance}/${jpa.performance}.ear"/>
<property name="application.name" value="${jpa.performance}"/>
</ant>
<path id="jpa.performance.server.run.path">
<pathelement path="${jpatest.server.build.dir}/${jpa.performance}/${jpa.performance}_client.jar"/>
<pathelement path="${jpatest.server.build.dir}/${jpa.performance}/${jpa.performance}_ejb.jar"/>
<fileset dir="${server.lib}" includes="${server.depend}"/>
<path refid="compile.jpa22.server.path"/>
</path>
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPAClusteredConcurrencyComparisonModel"
classpath="jpa.performance.server.run.path">
<sysproperty key="server.platform" value="${server.platform}"/>
<sysproperty key="server.user" value="${server.user}"/>
<sysproperty key="server.password" value="${server.pwd}"/>
<sysproperty key="server.url" value="${server.url}${jpa.performance}"/>
<sysproperty key="server.testrunner" value="${server.testrunner}"/>
<sysproperty key="server.run" value="TRUE"/>
<sysproperty key="java.naming.factory.initial" value="${server.factory}"/>
</test-prompt>
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-undeploy" inheritRefs="true">
<property name="application.name" value="${jpa.performance}"/>
</ant>
</target>
<!-- Runs concurrency tests comparing with Hibernate. -->
<target name="test-concurrency-hibernate" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.HibernateJPAConcurrencyComparisonModel"
classpath="run.classpath.hibernate"
testagent="-Dignore" testweaving="-Dignore" testweavingoption="-Dignore" />
</target>
<!-- Runs performance tests. -->
<target name="test-performance-nocache" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPAIsolatedPerformanceRegressionModel"
classpath="run.performance.classpath"/>
</target>
<!-- Runs performance tests. -->
<target name="test-performance-nocache-emu" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPAEmulatedIsolatedPerformanceRegressionModel"
classpath="run.performance.classpath"/>
</target>
<!-- Runs performance tests. -->
<target name="test-performance-emu" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.JPAEmulatedPerformanceRegressionModel"
classpath="run.performance.classpath"/>
</target>
<!-- Runs performance tests comparing with TopLink. -->
<target name="test-performance-toplink" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.TopLinkJPAPerformanceRegressionModel"
classpath="run.classpath.toplink"
testagent="-javaagent:../${toplink.jar}" testweaving="-Dignore" testweavingoption="-Dignore" />
</target>
<!-- Runs performance tests comparing with TopLink Essentials. -->
<target name="test-performance-essentials" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.EssentialsJPAPerformanceRegressionModel"
classpath="run.classpath.essentials"
testagent="-javaagent:../${toplink-essentials-agent.jar}" testweaving="-Dignore" testweavingoption="-Dignore" />
</target>
<!-- Runs performance tests comparing with Hibernate. -->
<target name="test-performance-hibernate" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.HibernateJPAPerformanceRegressionModel"
classpath="run.classpath.perf.hibernate"
testagent="-Dignore" testweaving="-Dignore" testweavingoption="-Dignore" />
</target>
<!-- Runs performance tests comparing with Hibernate. -->
<target name="test-performance2-hibernate" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.HibernateJPA2PerformanceRegressionModel"
classpath="run.classpath.perf.hibernate"
testagent="-Dignore" testweaving="-Dignore" testweavingoption="-Dignore" />
</target>
<!-- Runs performance tests comparing with OpenJPA. -->
<target name="test-performance-openjpa" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.OpenJPAPerformanceRegressionModel"
classpath="run.classpath.openjpa"
testagent="-javaagent:../${openjpa.jar}" testweaving="-Dignore" testweavingoption="-Dignore" />
</target>
<!-- Runs performance tests comparing with OpenJPA. -->
<target name="test-performance-datanucleus" depends="init-testing, clean-test">
<test-prompt testmodel="org.eclipse.persistence.testing.tests.jpa.performance.DataNucleusPerformanceRegressionModel"
classpath="run.classpath.datanucleus"
testagent="-Dignore" testweaving="-Dignore" testweavingoption="-Dignore" />
</target>
<!-- Launches the testing browser -->
<target name="test-browser" depends="init, init-java-macro">
<echo>Running test browser</echo>
<run-java classname="org.eclipse.persistence.testing.framework.ui.TestingBrowserFrame">
<classpath>
<path refid="run.oracle.classpath"/>
</classpath>
</run-java>
</target>
<!-- Runs jpa srg test on Spring. -->
<target name="test-spring-srg" depends="clean-test, config-classpath">
<property name="is.spring" value="true"/>
<antcall target="build" inheritRefs="true"/>
<antcall target="run-spring-test" inheritRefs="true">
<param name="TEST_CLASS" value="org.eclipse.persistence.testing.tests.jpa.fieldaccess.advanced.FAServerTestSuite"/>
<param name="TEST_AGENT" value="-javaagent:${spring.jlib.dir}/spring-instrument-4.2.5.RELEASE.jar"/>
<param name="TEST_WEAVING" value="${test.weaving}"/>
<param name="ORM_TESTING" value="-Dorm.testing=jpa"/>
<param name="RUN_PATH" value="run.classpath"/>
<param name="DB_URL" value="${db.url}"/>
</antcall>
<antcall target="run-spring-test" inheritRefs="true">
<param name="TEST_CLASS" value="org.eclipse.persistence.testing.tests.jpa.advanced.AdvancedServerTestSuite"/>
<param name="TEST_AGENT" value="-javaagent:${spring.jlib.dir}/spring-instrument-4.2.5.RELEASE.jar"/>
<param name="TEST_WEAVING" value="${test.weaving}"/>
<param name="ORM_TESTING" value="-Dorm.testing=jpa"/>
<param name="RUN_PATH" value="run.classpath"/>
<param name="DB_URL" value="${db.url}"/>
</antcall>
<antcall target="generate-report" inheritRefs="true"/>
<antcall target="clean" inheritRefs="true"/>
</target>
<!-- Generic target for running spring tests. -->
<target name="run-spring-test" depends="config-classpath">
<echo>Running test on ${DB_URL}</echo>
<condition property="jvmarg.db.platform.class" value="-Ddb.platform=${db.platform}">
<isset property="db.platform"/>
</condition>
<condition property="jvmarg.db.platform.class" value="-Ddummy=dummy">
<not>
<isset property="db.platform"/>
</not>
</condition>
<!-- 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 printsummary="yes" haltonfailure="yes" fork="yes" forkmode="once" showoutput="true" maxmemory="512m" dir="${run.dir}">
<sysproperty key="TEST_SERVER_PLATFORM" value="org.eclipse.persistence.testing.framework.server.SpringPlatform"/>
<sysproperty key="proxy.user.name" value="${oracle.proxy.user}"/>
<sysproperty key="run.metadata.cache.test.suite" value="${run.metadata.cache.test.suite}"/>
<jvmarg line="${additional.jvmargs}"/>
<jvmarg value="${TEST_AGENT}"/>
<jvmarg value="${TEST_WEAVING}"/>
<jvmarg value="${ORM_TESTING}"/>
<jvmarg value="-XX:CompileCommandFile=../../jdk_hotspot_compiler"/>
<jvmarg value="-Declipselink.logging.level=${logging.level}"/>
<jvmarg value="-Ddb.driver=${db.driver}"/>
<jvmarg value="-Ddb.url=${DB_URL}"/>
<jvmarg value="-Ddb.user=${db.user}"/>
<jvmarg value="-Ddb.pwd=${db.pwd}"/>
<jvmarg value="${jvmarg.db.platform.class}"/>
<classpath>
<path refid="${RUN_PATH}"/>
<path refid="spring.path"/>
</classpath>
<formatter type="xml"/>
<test name="${TEST_CLASS}" haltonfailure="no" outfile="${report.dir}/${TEST_CLASS}-test-results">
</test>
</junit>
</target>
<target name="generate-report" depends="init-report-macro">
<generate-report/>
</target>
<target name="init-weaver">
<!-- define weaving ant task-->
<taskdef name="weave" classpathref="run.weaver.path"
classname="org.eclipse.persistence.tools.weaving.jpa.StaticWeaveAntTask"/>
<macrodef name="run-weaver">
<attribute name="model"/>
<attribute name="dir" default="${jpatest.build.dir}"/>
<attribute name="persistenceinfo" default="@{model}.jar"/>
<attribute name="classpath" default="run.classpath"/>
<sequential>
<weave source="@{dir}/@{model}.jar" target ="@{dir}/woven-@{model}.jar"
persistenceinfo="@{dir}/@{persistenceinfo}" loglevel="${logging.level}">
<classpath>
<pathelement path="@{persistenceinfo}"/>
<path refid="@{classpath}"/>
</classpath>
</weave>
</sequential>
</macrodef>
</target>
<!-- Runs EclipseLink static weaving ant task on test jars. -->
<target name="run-weaver" depends="init-weaver">
<!-- process the weaving function-->
<run-weaver model="${eclipselink.annotation.model}"/>
<run-weaver model="${eclipselink.ddl.generation.model}"/>
<run-weaver model="${eclipselink.xml.only.model}"
persistenceinfo="${eclipselink.annotation.model}.jar"/>
<!--<run-weaver model="${eclipselink.jpa21.model}" classpath="run.jpa21.classpath"/>-->
<run-weaver model="${eclipselink.xml.extended.model}"
classpath="run.extended.classpath"/>
<run-weaver model="${eclipselink.xml.merge.model}"
persistenceinfo="${eclipselink.annotation.model}.jar"/>
<run-weaver model="${eclipselink.validation.failed.model}"/>
<run-weaver model="${eclipselink.cacheable.model}"/>
<run-weaver model="${eclipselink.advanced.field.access.model}"/>
<run-weaver model="${eclipselink.advanced.properties}"/>
<run-weaver model="${eclipselink.pu.with.spaces}"/>
<run-weaver model="${eclipselink.partitioned.model}"/>
<run-weaver model="${eclipselink.plsql.model}"/>
<run-weaver model="${eclipselink.cascade.deletes}"/>
<!--<run-weaver model="${eclipselink.pu.with.multibyte}"/>-->
<run-weaver model="${jpa.performance}"/>
<run-weaver model="${eclipselink.metamodel.model}"/>
<run-weaver model="${eclipselink.delimited.model}"/>
<run-weaver model="${eclipselink.extensibility.model}"/>
<run-weaver model="${eclipselink.beanvalidation.model}"/>
<run-weaver model="${eclipselink.beanvalidation.dynamic.model}"/>
<run-weaver model="${eclipselink.composite.advanced.model.member_1}"
persistenceinfo="${eclipselink.composite.advanced.model}.jar"/>
<run-weaver model="${eclipselink.composite.advanced.model.member_2}"
persistenceinfo="${eclipselink.composite.advanced.model}.jar"/>
<run-weaver model="${eclipselink.composite.advanced.model.member_3}"
persistenceinfo="${eclipselink.composite.advanced.model}.jar"/>
<!-- ${eclipselink.xml.composite.advanced.model.member_1}.jar may be used as a standalone persistence unit: -->
<!-- it does not specify <property name="eclipselink.composite-unit.member" value="true"/> in its persistence.xml -->
<!-- Therefore no persistenceinfo to its composite is required -->
<run-weaver model="${eclipselink.xml.composite.advanced.model.member_1}"/>
<run-weaver model="${eclipselink.xml.composite.advanced.model.member_2}"
persistenceinfo="${eclipselink.xml.composite.advanced.model}.jar"/>
<run-weaver model="${eclipselink.xml.composite.advanced.model.member_3}"
persistenceinfo="${eclipselink.xml.composite.advanced.model}.jar"/>
<!-- ${eclipselink.xml.extended.composite.advanced.model.member_1}.jar may be used as a standalone persistence unit: -->
<!-- it does not specify <property name="eclipselink.composite-unit.member" value="true"/> in its persistence.xml -->
<!-- Therefore no persistenceinfo to its composite is required -->
<run-weaver model="${eclipselink.xml.extended.composite.advanced.model.member_1}"
classpath="run.extended.classpath"/>
<run-weaver model="${eclipselink.xml.extended.composite.advanced.model.member_2}"
classpath="run.extended.classpath"
persistenceinfo="${eclipselink.xml.extended.composite.advanced.model}.jar"/>
<run-weaver model="${eclipselink.xml.extended.composite.advanced.model.member_3}"
classpath="run.extended.classpath"
persistenceinfo="${eclipselink.xml.extended.composite.advanced.model}.jar"/>
<run-weaver model="${eclipselink.remote}"
classpath="run.extended.classpath"/>
<run-weaver model="${eclipselink.xml.mapping.metadata.complete}"/>
</target>
<target name="server-install" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-install" inheritRefs="true"/>
</target>
<target name="server-setup" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-setup" inheritRefs="true"/>
</target>
<target name="server-reset" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-reset" inheritRefs="true"/>
</target>
<target name="server-start" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-start" inheritRefs="true"/>
</target>
<target name="server-stop" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-stop" inheritRefs="true"/>
</target>
<target name="server-restart" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-stop" inheritRefs="true"/>
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-start" inheritRefs="true"/>
</target>
<target name="server-deploy" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-deploy" inheritRefs="true">
<property name="ear.name" value="${ear.name}"/>
<property name="application.name" value="${application.name}"/>
</ant>
</target>
<target name="server-undeploy" depends="init-server">
<ant antfile="${jpatest.basedir}/${server.name}.xml" target="${server.name}-undeploy" inheritRefs="true">
<property name="application.name" value="${application.name}"/>
</ant>
</target>
<!-- Modify stage/META-INF/persistence.xml to add persistence properties for Metadata Cache -->
<target name="add-project-cache-properties" if="use.project.cache">
<echo message="basedir is ${basedir}"/>
<replaceregexp file="${jpatest.basedir}/stage/META-INF/persistence.xml"
match='&#60;/properties&#62;'
replace='&#60;property name="eclipselink.project-cache" value="java-serialization"/&#62;&#10;&#60;property name="eclipselink.project-cache.java-serialization.file-location" value="${basedir}&#47;${projectcache.dir}&#47;${EAR_NAME}&#47;MetadataCachingTestProject.file"/&#62;&#10;&#60;/properties&#62;&#10;'
flags="s"
byline="true"/>
</target>
<!-- Save project cache file MetadataCachingTestProject.file to ${jpatest.basedir}/pcfile/${EAR_NAME}, the file will be used in static weave and runtime in the second run of Metadata Cache Testing -->
<target name="store-project-cache-file" if="run.metadata.cache.test.suite">
<delete dir="${jpatest.basedir}/${projectcache.dir}/${EAR_NAME}"/>
<mkdir dir="${jpatest.basedir}/${projectcache.dir}/${EAR_NAME}"/>
<move file="${glassfish.home}/domains/domain1/config/MetadataCachingTestProject.file" todir="${jpatest.basedir}/${projectcache.dir}/${EAR_NAME}" overwrite="true"/>
</target>
<!-- Build server test ear file specific to grid -->
<target name="server-build-ear-grid" if="is.grid.testing">
<copy overwrite="true" file="./resource/server/application.xml" todir="${build.dir}/META-INF"/>
<copy overwrite="true" file="./resource/${MODEL_NAME}/server/grid/weblogic-application.xml" todir="${build.dir}/META-INF"/>
<replace dir="${build.dir}/META-INF" token="@modelname@" value="${MODEL_NAME}">
<include name="*.xml"/>
</replace>
<copy overwrite="true" file="./resource/${MODEL_NAME}/server/grid/grid.gar" todir="${build.dir}"/>
<ear destfile="${jpatest.basedir}/${build.dir}/${EAR_NAME}.ear" appxml="${build.dir}/META-INF/application.xml">
<fileset dir="${jpatest.basedir}/${build.dir}" includes="${MODEL_NAME}_ejb.jar, grid.gar, META-INF/weblogic-application.xml"/>
</ear>
<copy file="${jpatest.basedir}/${build.dir}/${EAR_NAME}.ear" todir="."/>
</target>
<!-- Build server test ear file specific to kryo or jgroups -->
<target name="server-build-ear-kryo" if="is.kryo.testing">
<copy overwrite="true" file="./resource/server/application.xml" todir="${build.dir}/META-INF"/>
<copy overwrite="true" file="../../../extension.lib.external/kryo-all.jar" todir="${build.dir}/APP-INF/lib"/>
<copy overwrite="true" file="../../../extension.lib.external/jgroups.jar" todir="${build.dir}/APP-INF/lib"/>
<copy overwrite="true" file="../../../extension.oracle.lib.external/toplink-exalogic.jar" todir="${build.dir}/APP-INF/lib"/>
<copy overwrite="true" todir="${build.dir}/APP-INF/lib">
<fileset dir="${jpatest.2.common.plugins.dir}" includes="org.eclipse.persistence.extension_*.jar"/>
</copy>
<copy overwrite="true" file="./resource/${MODEL_NAME}/server/kryo/META-INF/weblogic-application.xml" todir="${build.dir}/META-INF"/>
<replace dir="${build.dir}/META-INF" token="@modelname@" value="${MODEL_NAME}">
<include name="*.xml"/>
</replace>
<ear destfile="${jpatest.basedir}/${build.dir}/${EAR_NAME}.ear" appxml="${build.dir}/META-INF/application.xml">
<fileset dir="${jpatest.basedir}/${build.dir}">
<include name="META-INF/weblogic-application.xml"/>
<include name="${MODEL_NAME}_ejb.jar"/>
<include name="**/APP-INF/lib/*.jar"/>
</fileset>
</ear>
<copy file="${jpatest.basedir}/${build.dir}/${EAR_NAME}.ear" todir="."/>
</target>
<!-- Build server test ear file specific to JPA-RS -->
<target name="server-build-ear-jpars" if="is.jpars.testing">
<ant antfile="antbuild.xml" dir="${jpatest.basedir}/../eclipselink.jpars.test" target="create-jpars-war-file"/>
<copy overwrite="true" file="./resource/${MODEL_NAME}/server/application.xml" todir="${build.dir}/META-INF"/>
<copy file="${jpatest.basedir}/../eclipselink.jpars.test/eclipselink.jpars.test.war" todir="${jpatest.basedir}/${build.dir}"/>
<antcall target="replace-jpars-jar-with-toplink-dataservices-web-jar"/>
<ear destfile="${jpatest.basedir}/${build.dir}/${EAR_NAME}.ear" appxml="${build.dir}/META-INF/application.xml">
<fileset dir="${jpatest.basedir}/${build.dir}" includes ="eclipselink.jpars.test.war"/>
</ear>
<copy file="${jpatest.basedir}/${build.dir}/${EAR_NAME}.ear" todir="."/>
</target>
<!-- replace org.eclipse.persistence.jpars*.jar with toplink-dataservices-web.jar in generated eclipselink.jpars.test.war -->
<target name="replace-jpars-jar-with-toplink-dataservices-web-jar" if="test.jpars.on.toplink.dataservices">
<unzip src="${jpatest.basedir}/${build.dir}/eclipselink.jpars.test.war" dest="${jpatest.basedir}/${build.dir}"/>
<delete dir="${jpatest.basedir}/${build.dir}/WEB-INF/lib"/>
<mkdir dir="${jpatest.basedir}/${build.dir}/WEB-INF/lib"/>
<copy file="/ade_autofs/ade_generic/TOPLINK_12.1.2.0.0_GENERIC.rdd/LATEST/tldev/jlib/tl/toplink-dataservices-web.jar" todir="${jpatest.basedir}/${build.dir}/WEB-INF/lib"/>
<zip destfile="${jpatest.basedir}/${build.dir}/eclipselink.jpars.test.war" basedir="${jpatest.basedir}/${build.dir}"
includes="META-INF/MANIFEST.MF, WEB-INF/**"/>
</target>
<target name="server-test" description="Run LRG tests on server and generate the test report." depends="server-test-lrg">
<generate-report/>
</target>
<target name="server-test-jpa" description="Run JPA 2.1 specific tests on server." depends="server-test-jpa21-advanced, server-test-jpa21-sessionbean"/>
<target name="server-test-jpa22" description="Run JPA 2.2 specific tests on server." depends="server-test-jpa22-advanced, server-test-jpa22-sessionbean"/>
<!-- Testing Metadata Cache by running JPA tests in the server -->
<target name="server-test-project-cache" depends="server-test-advanced, server-test-advanced-multitenantEMF, server-test-advanced-multitenant123">
<!--antcall target="server-test-extensibility" inheritRefs="true"/-->
<generate-report/>
</target>
<!-- Oracle proxy authentication needs to be setup properly for server-test-proxy-authentication -->
<target name="server-test-oracle" description="Run Oracle DB specific tests on server"
depends="server-test-custom-features, server-test-jgeometry, server-test-oracle-timestamptz,
server-test-struct-converter, server-test-proxy-authentication"/>
<target name="server-test-lrg" description="Internal: Run LRG tests on server."
depends="clear-database, server-test-advanced, server-test-advanced-multitenant, server-test-beanvalidation,
server-test-cacheable, server-test-cascadedeletes, server-test-criteria, server-test-datatypes, server-test-datetime,
server-test-ddlgeneration, server-test-delimited, server-test-extensibility, server-test-fetchgroups,
server-test-fieldaccess-advanced, server-test-fieldaccess-fetchgroups, server-test-fieldaccess-relationships,
server-test-inheritance, server-test-inherited, server-test-jpaadvancedproperties, server-test-jpql, server-test-lob,
server-test-metamodel, server-test-nativeapitest, server-test-orphanremoval, server-test-plsql, server-test-privateowned,
server-test-relationships, server-test-sessionbean, server-test-validation, server-test-xml-mergeinherited,
server-test-xmltest, server-test-jpa, server-test-jpa22, server-test-oracle">
<!--
Not included:
server-test-advanced-multitenant123 and server-test-advanced-multitenantEMF (see server-test-project-cache)
server-test-composite-advanced, server-test-xml-composite-advanced and server-test-xml-extended-composite-advanced
server-test-concurrency
server-test-jpars, server-test-jpars-core and server-test-jpars-on-toplink-dataservices
server-test-mongo, server-test-mongotest, server-test-mongo-xml
server-test-partitioned-gridlink
server-test-performance
server-test-sessionbean-ha
weblogic-domain-test
-->
</target>
<target name="server-test-performance" depends="init-server-testing">
<build-ear dir="jpa/performance" puname="performance"
modelname="${jpa.performance}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.performance.JPAPerformanceServerTestSuite"
testname="${jpa.performance}"/>
</target>
<target name="server-test-advanced" depends="init-server-testing">
<build-ear dir="jpa/advanced"
modelname="eclipselink-advanced-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.advanced.AdvancedServerTestSuite"
testname="eclipselink-advanced-model"/>
</target>
<target name="server-test-advanced-multitenant" depends="init-server-testing">
<build-ear dir="jpa/advanced" morepus="true"
modelname="eclipselink-advanced-multitenant-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.advanced.multitenant.AdvancedMultiTenantServerTestSuite"
testname="eclipselink-advanced-multitenant-model"/>
</target>
<target name="server-test-jpa21-advanced" depends="init-server-testing">
<build-ear dir="jpa21/advanced" morepus="true"
modelname="${eclipselink.jpa21.model}">
<extra-model-resource>
<fileset dir="${jpatest.resource.dir}/${eclipselink.jpa21.model}">
<include name="*orm.xml"/>
<include name="*.jdbc"/>
</fileset>
</extra-model-resource>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa21.advanced.JPA21TestSuite"
testname="${eclipselink.jpa21.model}"/>
</target>
<target name="server-test-jpa22-advanced" depends="init-server-testing">
<build-ear dir="jpa22/advanced" morepus="true"
modelname="${eclipselink.jpa22.model}">
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa22/jta/*.java"/>
</extra-model-source>
<extra-model-resource>
<fileset dir="${jpatest.resource.dir}/${eclipselink.jpa22.model}">
<include name="*orm.xml"/>
<include name="*.jdbc"/>
</fileset>
</extra-model-resource>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa22.advanced.JPA22TestSuite"
testname="${eclipselink.jpa22.model}"/>
</target>
<target name="server-test-beanvalidation" depends="init-server-testing">
<build-ear dir="jpa/beanvalidation" puname="beanvalidation"
modelname="${eclipselink.beanvalidation.model}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.beanvalidation.BeanValidationJunitTest"
testname="${eclipselink.beanvalidation.model}"/>
<!--
<build-ear dir="jpa/beanvalidation" puname="beanvalidation-dynamic"
modeldir="org/eclipse/persistence/testing/models/jpa/beanvalidation-dynamic"
modelname="${eclipselink.beanvalidation.dynamic.model}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.beanvalidation.dynamic.BeanValidationDynamicEntityJunitTest"
testname="${eclipselink.beanvalidation.dynamic.model}"/>
-->
</target>
<target name="server-test-advanced-multitenantEMF" depends="init-server-testing">
<build-ear dir="jpa/advanced" morepus="true" earname="eclipselink-advanced-multitenant-model-EMF"
modelname="eclipselink-advanced-multitenant-projectcache-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.advanced.multitenant.AdvancedMultiTenantSharedEMFJunitTest"
earname="eclipselink-advanced-multitenant-model-EMF"
testname="eclipselink-advanced-multitenant-projectcache-model"/>
</target>
<target name="server-test-advanced-multitenant123" depends="init-server-testing">
<build-ear dir="jpa/advanced" morepus="true" earname="eclipselink-advanced-multitenant-model-123"
modelname="eclipselink-advanced-multitenant-projectcache-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.advanced.multitenant.AdvancedMultiTenant123JunitTest"
earname="eclipselink-advanced-multitenant-model-123"
testname="eclipselink-advanced-multitenant-projectcache-model"/>
</target>
<!--this model is only used for testing that setting eclipselink as default provider on weblogic domain-->
<target name="weblogic-domain-test" depends="init-server-testing">
<ant antfile="${jpatest.basedir}/weblogic.xml" target="weblogic-domain-setup" inheritRefs="true"/>
<build-ear dir="jpa/advanced"
modelname="eclipselink-domaintest-advanced-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.advanced.AdvancedServerTestSuite"
testname="eclipselink-domaintest-advanced-model"/>
<ant antfile="${jpatest.basedir}/weblogic.xml" target="weblogic-domain-reset" inheritRefs="true"/>
<generate-report/>
</target>
<target name="server-test-cacheable" depends="init-server-testing">
<build-ear dir="jpa/cacheable" morepus="true"
modelname="${eclipselink.cacheable.model}">
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa/xml/cacheable/*.java"/>
</extra-model-source>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.cacheable.CacheableServerTestSuite"
testname="${eclipselink.cacheable.model}"/>
</target>
<target name="server-test-cascadedeletes" depends="init-server-testing">
<build-ear dir="jpa/cascadedeletes" puname="cascade-deletes"
modelname="${eclipselink.cascade.deletes}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.cascadedeletes.CascadeDeletesJUnitTestSuite"
testname="${eclipselink.cascade.deletes}"/>
</target>
<target name="server-test-criteria" depends="init-server-testing">
<build-ear dir="jpa/criteria"
modeldir="org/eclipse/persistence/testing/models/jpa/advanced"
modelname="eclipselink-advanced-model-criteria"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.criteria.CriteriaServerTestSuite"
testname="eclipselink-advanced-model-criteria"/>
</target>
<target name="server-test-datatypes" depends="init-server-testing">
<build-ear dir="jpa/datatypes"
modelname="eclipselink-datatypes-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.datatypes.NullBindingJUnitTestCase"
testname="eclipselink-datatypes-model"/>
</target>
<target name="server-test-datetime" depends="init-server-testing">
<build-ear dir="jpa/datetime"
modelname="eclipselink-datetime-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.datetime.NullBindingJUnitTestCase"
testname="eclipselink-datetime-model"/>
</target>
<target name="server-test-ddlgeneration" depends="init-server-testing">
<build-ear dir="jpa/ddlgeneration" morepus="true"
modelname="${eclipselink.ddl.generation.model}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.ddlgeneration.DDLGenerationServerTestSuite"
testname="${eclipselink.ddl.generation.model}"/>
</target>
<target name="server-test-delimited" depends="init-server-testing">
<build-ear dir="jpa/delimited" puname="delimited"
modelname="${eclipselink.delimited.model}">
<extra-model-resource>
<fileset dir="${jpatest.resource.dir}/${eclipselink.delimited.model}">
<include name="orm.xml"/>
</fileset>
</extra-model-resource>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.delimited.DelimitedPUTestSuite"
testname="${eclipselink.delimited.model}"/>
</target>
<target name="server-test-extensibility" depends="init-server-testing">
<build-ear dir="jpa/extensibility" puname="extensibility"
modelname="${eclipselink.extensibility.model}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.extensibility.ExtensibilityTests"
testname="${eclipselink.extensibility.model}"/>
</target>
<target name="server-test-fetchgroups" depends="init-server-testing">
<build-ear dir="jpa/fetchgroups"
modeldir="org/eclipse/persistence/testing/models/jpa/advanced"
modelname="eclipselink-fetchgroups-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.fetchgroups.FetchGroupsServerTestSuite"
testname="eclipselink-fetchgroups-model"/>
</target>
<target name="server-test-fieldaccess-advanced" depends="init-server-testing">
<build-ear dir="jpa/fieldaccess/advanced" puname="fieldaccess"
modelname="${eclipselink.advanced.field.access.model}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.fieldaccess.advanced.FAServerTestSuite"
testname="${eclipselink.advanced.field.access.model}"/>
</target>
<target name="server-test-fieldaccess-fetchgroups" depends="init-server-testing">
<build-ear dir="jpa/fieldaccess/fetchgroups" puname="fieldaccess"
modeldir="org/eclipse/persistence/testing/models/jpa/fieldaccess/advanced"
modelname="eclipselink-fetchgroups-field-access-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.fieldaccess.fetchgroups.FAServerTestSuite"
testname="eclipselink-fetchgroups-field-access-model"/>
</target>
<target name="server-test-fieldaccess-relationships" depends="init-server-testing">
<build-ear dir="jpa/fieldaccess/relationships" puname="fieldaccess"
modelname="eclipselink-relationships-field-access-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.fieldaccess.relationships.FRServerTestSuite"
testname="eclipselink-relationships-field-access-model"/>
</target>
<target name="server-test-inheritance" depends="init-server-testing">
<build-ear dir="jpa/inheritance"
modelname="eclipselink-inheritance-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.inheritance.InheritanceServerTestSuite"
testname="eclipselink-inheritance-model"/>
</target>
<target name="server-test-inherited" depends="init-server-testing">
<build-ear dir="jpa/inherited"
modelname="eclipselink-inherited-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.inherited.InheritedServerTestSuite"
testname="eclipselink-inherited-model"/>
</target>
<target name="server-test-jpars" depends="clean-test" if="is.glassfish.or.weblogic">
<build-ear dir="jpa/inherited"
modelname="eclipselink-jpars-model"/>
<!--<antcall target="server-test-jpars-core" inheritRefs="true"/>-->
</target>
<target name="server-test-jpars-on-toplink-dataservices" depends="clean-test" if="is.glassfish.or.weblogic">
<property name="test.jpars.on.toplink.dataservices" value="true"/>
<antcall target="server-test-jpars-core" inheritRefs="true"/>
</target>
<!-- Since in nightly GlassFish 4 and WebLogic testing, the property is.JTA can't be passed to server, so we force isJTA() returns false in JUnitTestCase.java -->
<target name="server-test-jpars-core">
<echo message="jpars url is ${jpars.url}"/>
<copy file="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java" tofile="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java_original"/>
<copy file="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java_nonjtaDS" tofile="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java" overwrite="true"/>
<copy file="${jpatest.basedir}/../eclipselink.jpars.test/src/META-INF/persistence.xml" tofile="${jpatest.basedir}/../eclipselink.jpars.test/src/META-INF/persistence.xml.original" overwrite="true"/>
<replace file="${jpatest.basedir}/../eclipselink.jpars.test/src/META-INF/persistence.xml" token='Glassfish' value="${server.platform}"/>
<property name="MODEL_NAME" value="eclipselink-jpars-model"/>
<property name="EAR_NAME" value="${MODEL_NAME}"/>
<antcall target="server-build-ear-jpars" inheritRefs="true"/>
<antcall target="server-deploy" inheritRefs="true">
<param name="ear.name" value="${EAR_NAME}.ear"/>
<param name="application.name" value="${EAR_NAME}"/>
</antcall>
<ant antfile="antbuild.xml" dir="${jpatest.basedir}/../eclipselink.jpars.test" target="test" inheritAll="false">
<property name="SERVER_URL" value="${jpars.url}"/>
<property name="JPARS_VERSION" value="v1.0"/>
</ant>
<antcall target="server-undeploy" inheritRefs="true">
<param name="ear.name" value="${EAR_NAME}.ear"/>
<param name="application.name" value="${EAR_NAME}"/>
</antcall>
<copy todir="${jpatest.basedir}/${report.dir}">
<fileset dir="${jpatest.basedir}/../eclipselink.jpars.test/reports" includes="*.*"/>
</copy>
<move file="${jpatest.basedir}/../eclipselink.jpars.test/src/META-INF/persistence.xml.original" tofile="${jpatest.basedir}/../eclipselink.jpars.test/src/META-INF/persistence.xml" overwrite="true"/>
<move file="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java_original" tofile="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java" overwrite="true"/>
</target>
<target name="server-test-plsql" depends="init-server-testing">
<build-ear dir="jpa/plsql" puname="plsql"
modelname="${eclipselink.plsql.model}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.plsql.PLSQLTestSuite"
testname="${eclipselink.plsql.model}"/>
</target>
<target name="server-test-partitioned-gridlink" depends="init-server-testing">
<build-ear dir="jpa/partitioned" puname="partitioned"
modelname="${eclipselink.partitioned.model}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.partitioned.PartitionedTestSuite"
testname="${eclipselink.partitioned.model}"/>
</target>
<target name="server-test-jpaadvancedproperties" depends="init-server-testing">
<build-ear dir="jpa/jpaadvancedproperties" puname="JPAADVProperties"
modelname="${eclipselink.advanced.properties}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.jpaadvancedproperties.JPAAdvPropertiesJUnitTestCase"
testname="${eclipselink.advanced.properties}"/>
</target>
<target name="server-test-jpql" depends="init-server-testing">
<build-ear dir="jpa/jpql" morepus="true"
modeldir="org/eclipse/persistence/testing/models/jpa/advanced"
modelname="eclipselink-jpql-model">
<extra-model-resource>
<fileset dir="${jpatest.resource.dir}/${eclipselink.annotation.model}/">
<include name="case-sensitive-advanced-entity-mappings.xml"/>
</fileset>
</extra-model-resource>
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa/relationships/*.java"/>
</extra-model-source>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.jpql.JPQLServerTestSuite"
testname="eclipselink-jpql-model"/>
</target>
<target name="server-test-lob" depends="init-server-testing">
<build-ear dir="jpa/lob"
modelname="eclipselink-lob-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.lob.LobJUnitTestCase"
testname="eclipselink-lob-model"/>
</target>
<target name="server-test-metamodel" depends="init-server-testing">
<build-ear dir="jpa/metamodel"
modelname="eclipselink-metamodel-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.metamodel.MetamodelMetamodelTest"
testname="eclipselink-metamodel-model"/>
</target>
<target name="server-test-nativeapitest" depends="init-server-testing">
<build-ear dir="nativeapitest" puname="nativeapitest"
modelname="eclipselink-nativeapitest-model"/>
<server-test include="org.eclipse.persistence.testing.tests.nativeapitest.NativeAPITests"
testname="eclipselink-nativeapitest-model"/>
</target>
<target name="server-test-orphanremoval" depends="init-server-testing">
<build-ear dir="jpa/orphanremoval"
modelname="eclipselink-orphanremoval-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.orphanremoval.OrphanRemovalJUnitTestCase"
testname="eclipselink-orphanremoval-model"/>
</target>
<target name="server-test-privateowned" depends="init-server-testing">
<build-ear dir="jpa/privateowned"
modelname="eclipselink-privateowned-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.privateowned.PrivateOwnedJUnitTestCase"
testname="eclipselink-privateowned-model"/>
</target>
<target name="server-test-relationships" depends="init-server-testing">
<build-ear dir="jpa/relationships"
modelname="eclipselink-relationships-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.relationships.RelationshipsServerTestSuite"
testname="eclipselink-relationships-model"/>
</target>
<target name="server-test-sessionbean" depends="init-server-testing">
<build-ear dir="jpa/sessionbean" puname="sessionbean"
modelname="eclipselink-sessionbean-model">
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa/fieldaccess/advanced/*.java"/>
</extra-model-source>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.sessionbean.SessionBeanTests"
testname="eclipselink-sessionbean-model"/>
</target>
<!-- This target can only be called in an Oracle High Availability environment -
a WebLogic server configured with Multi Data Sources to connect to Oracle RAC database
-->
<target name="server-test-sessionbean-ha" depends="init-server-testing">
<build-ear dir="jpa/sessionbean" puname="sessionbean"
modelname="eclipselink-sessionbean-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.sessionbean.SessionBeanHATests"
testname="eclipselink-sessionbean-model"/>
<!--<param name="MODEL_DIR2" value="org/eclipse/persistence/testing/models/jpa/fieldaccess/advanced"/>-->
</target>
<target name="server-test-jpa21-sessionbean" depends="init-server-testing">
<build-ear dir="jpa21/sessionbean" puname="jpa21-sessionbean"
modelname="eclipselink-jpa21-sessionbean-model">
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa21/entitylistener/*.java"/>
</extra-model-source>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa21.sessionbean.EntityListenerInjectionTest"
testname="eclipselink-jpa21-sessionbean-model"/>
</target>
<target name="server-test-jpa22-sessionbean" depends="init-server-testing">
<build-ear dir="jpa22/sessionbean" puname="jpa22-sessionbean"
modelname="eclipselink-jpa22-sessionbean-model">
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa22/entitylistener/*.java"/>
</extra-model-source>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa22.sessionbean.EntityListenerInjectionTest"
testname="eclipselink-jpa22-sessionbean-model"/>
<build-ear dir="jpa22/sessionbean" puname="jpa22-sessionbean"
modelname="eclipselink-jpa22-sessionbean-model">
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa22/entitylistener/*.java"/>
</extra-model-source>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa22.sessionbean.AttributeConverterInjectionTest"
testname="eclipselink-jpa22-sessionbean-model"/>
</target>
<target name="server-test-validation" depends="init-server-testing">
<build-ear dir="jpa/validation"
modeldir="org/eclipse/persistence/testing/models/jpa/advanced"
modelname="eclipselink-validation-model"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.validation.CMP3ValidationTestModel"
testname="eclipselink-validation-model"/>
</target>
<target name="server-test-xml-mergeinherited" depends="init-server-testing">
<build-ear dir="jpa/xml/merge/inherited" puname="ddlGeneration"
modelname="eclipselink-xml-merge-inherited-model">
<extra-model-resource>
<fileset dir="${jpatest.resource.dir}/${eclipselink.ddl.generation.model}/server_merge-inherited">
<include name="*.xml"/>
</fileset>
<fileset dir="${jpatest.resource.dir}/${eclipselink.ddl.generation.model}">
<include name="merge-inherited-*.xml"/>
</fileset>
</extra-model-resource>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.xml.merge.inherited.EntityMappingsMergeInheritedJUnitTestCase"
testname="eclipselink-xml-merge-inherited-model"/>
</target>
<target name="server-test-xmltest" depends="init-server-testing">
<build-ear dir="jpa/xml" morepus="true" ejbjarexcludes="**/member_*/**/*"
modelname="eclipselink-xml-servertest-model">
<extra-model-resource>
<fileset dir="${jpatest.resource.dir}/${eclipselink.xml.merge.model}/">
<include name="*.xml"/>
</fileset>
<fileset dir="${jpatest.resource.dir}/${eclipselink.xml.only.model}/">
<include name="*.xml"/>
</fileset>
</extra-model-resource>
<extra-model-source>
<include name="org/eclipse/persistence/testing/models/jpa/advanced/*.java"/>
</extra-model-source>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.xml.EntityMappingsServerJUnitTestSuite"
testname="eclipselink-xml-servertest-model"/>
</target>
<target name="server-test-composite-advanced" depends="init-server-testing">
<build-ear dir="jpa/composite/advanced" puname="composite-advanced"
modelname="${eclipselink.composite.advanced.model}">
<extra-module>
<build-ejb modelname="eclipselink-composite-advanced-model-member_1" puname="composite-advanced-member_1"
dir="jpa/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/composite/advanced/member_1"
ejbjarincludes="META-INF/**,**/member_1/*,**/tests/jpa/composite/advanced/*">
</build-ejb>
<build-ejb modelname="eclipselink-composite-advanced-model-member_2" puname="composite-advanced-member_2"
dir="jpa/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/composite/advanced/member_2"
ejbjarincludes="META-INF/**,**/member_2/*,**/tests/jpa/composite/advanced/*">
</build-ejb>
<build-ejb modelname="eclipselink-composite-advanced-model-member_3" puname="composite-advanced-member_3"
dir="jpa/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/composite/advanced/member_3"
ejbjarincludes="META-INF/**,**/member_3/*,**/tests/jpa/composite/advanced/*">
</build-ejb>
</extra-module>
<extra-module-jar>
<fileset dir="${jpatest.server.build.dir}/eclipselink-composite-advanced-model-member_1" includes="eclipselink-composite-advanced-model-member_1_ejb.jar"/>
<fileset dir="${jpatest.server.build.dir}/eclipselink-composite-advanced-model-member_2" includes="eclipselink-composite-advanced-model-member_2_ejb.jar"/>
<fileset dir="${jpatest.server.build.dir}/eclipselink-composite-advanced-model-member_3" includes="eclipselink-composite-advanced-model-member_3_ejb.jar"/>
</extra-module-jar>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.composite.advanced.EntityManagerJUnitTestSuite"
testname="${eclipselink.composite.advanced.model}"/>
</target>
<target name="server-test-xml-composite-advanced" depends="init-server-testing">
<build-ear dir="jpa/xml/composite/advanced" puname="xml-composite-advanced"
modelname="${eclipselink.xml.composite.advanced.model}">
<extra-module>
<build-ejb modelname="eclipselink-xml-composite-advanced-model-member_1" puname="xml-composite-advanced-member_1"
dir="jpa/xml/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1"
ejbjarincludes="META-INF/**,**/member_1/*,**/tests/jpa/xml/composite/advanced/*">
<extra-ejb-model-resource>
<fileset dir="${jpatest.resource.dir}/eclipselink-xml-composite-advanced-model-member_1" includes="orm.xml"/>
</extra-ejb-model-resource>
</build-ejb>
<build-ejb modelname="eclipselink-xml-composite-advanced-model-member_2" puname="xml-composite-advanced-member_2"
dir="jpa/xml/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2"
ejbjarincludes="META-INF/**,**/member_2/*,**/tests/jpa/xml/composite/advanced/*">
<extra-ejb-model-resource>
<fileset dir="${jpatest.resource.dir}/eclipselink-xml-composite-advanced-model-member_2" includes="orm.xml"/>
</extra-ejb-model-resource>
</build-ejb>
<build-ejb modelname="eclipselink-xml-composite-advanced-model-member_3" puname="xml-composite-advanced-member_3"
dir="jpa/xml/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_3"
ejbjarincludes="META-INF/**,**/member_3/*,**/tests/jpa/xml/composite/advanced/*">
<extra-ejb-model-resource>
<fileset dir="${jpatest.resource.dir}/eclipselink-xml-composite-advanced-model-member_3" includes="orm.xml"/>
</extra-ejb-model-resource>
</build-ejb>
</extra-module>
<extra-module-jar>
<fileset dir="${jpatest.server.build.dir}/eclipselink-xml-composite-advanced-model-member_1" includes="eclipselink-xml-composite-advanced-model-member_1_ejb.jar"/>
<fileset dir="${jpatest.server.build.dir}/eclipselink-xml-composite-advanced-model-member_2" includes="eclipselink-xml-composite-advanced-model-member_2_ejb.jar"/>
<fileset dir="${jpatest.server.build.dir}/eclipselink-xml-composite-advanced-model-member_3" includes="eclipselink-xml-composite-advanced-model-member_3_ejb.jar"/>
</extra-module-jar>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.xml.composite.advanced.EntityMappingsAdvancedJUnitTestCase"
testname="${eclipselink.xml.composite.advanced.model}"/>
</target>
<target name="server-test-xml-extended-composite-advanced" depends="init-server-testing">
<build-ear dir="jpa/xml/composite" puname="xml-extended-composite-advanced"
modelname="${eclipselink.xml.extended.composite.advanced.model}" ejbjarincludes="**/*">
<extra-module>
<build-ejb modelname="eclipselink-xml-extended-composite-advanced-model-member_1" puname="xml-composite-advanced-member_1"
dir="jpa/xml/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_1"
ejbjarincludes="META-INF/**,**/member_1/*,**/tests/jpa/xml/composite/advanced/*">
<extra-ejb-model-resource>
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/eclipselink-xml-extended-composite-advanced-model-member_1" includes="*-orm.xml, advanced-extended-entity-mappings_*.xml"/>
</extra-ejb-model-resource>
</build-ejb>
<build-ejb modelname="eclipselink-xml-extended-composite-advanced-model-member_2" puname="xml-composite-advanced-member_2"
dir="jpa/xml/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_2"
ejbjarincludes="META-INF/**,**/member_2/*,**/tests/jpa/xml/composite/advanced/*">
<extra-ejb-model-resource>
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/eclipselink-xml-extended-composite-advanced-model-member_2" includes="*-orm.xml, advanced-extended-entity-mappings_*.xml"/>
</extra-ejb-model-resource>
</build-ejb>
<build-ejb modelname="eclipselink-xml-extended-composite-advanced-model-member_3" puname="xml-composite-advanced-member_3"
dir="jpa/xml/composite/advanced" modeldir="org/eclipse/persistence/testing/models/jpa/xml/composite/advanced/member_3"
ejbjarincludes="META-INF/**,**/member_3/*,**/tests/jpa/xml/composite/advanced/*">
<extra-ejb-model-resource>
<fileset dir="${jpatest.resource.dir}/eclipselinkorm/eclipselink-xml-extended-composite-advanced-model-member_3" includes="*-orm.xml, advanced-extended-entity-mappings_*.xml"/>
</extra-ejb-model-resource>
</build-ejb>
</extra-module>
<extra-module-jar>
<fileset dir="${jpatest.server.build.dir}/eclipselink-xml-extended-composite-advanced-model-member_1" includes="eclipselink-xml-extended-composite-advanced-model-member_1_ejb.jar"/>
<fileset dir="${jpatest.server.build.dir}/eclipselink-xml-extended-composite-advanced-model-member_2" includes="eclipselink-xml-extended-composite-advanced-model-member_2_ejb.jar"/>
<fileset dir="${jpatest.server.build.dir}/eclipselink-xml-extended-composite-advanced-model-member_3" includes="eclipselink-xml-extended-composite-advanced-model-member_3_ejb.jar"/>
</extra-module-jar>
</build-ear>
<server-test include="org.eclipse.persistence.testing.tests.jpa.xml.composite.advanced.EntityMappingsAdvancedJUnitTestCase"
testname="${eclipselink.xml.extended.composite.advanced.model}"/>
</target>
<!-- Tests from foundation/eclipselink.extension.oracle.test -->
<target name="server-test-oracle-timestamptz" depends="init-server-testing" if="is.oracle">
<build-ear dir="jpa/timestamptz" puname="timestamptz"
modelname="${eclipselink.timestamptz.model}"
sourceroot="${jpatest.2.oracletest.dir}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.timestamptz.TimeStampTZJUnitTestSuite"
testname="${eclipselink.timestamptz.model}"/>
</target>
<!--if="run.jpa.customfeatures.model"-->
<target name="server-test-custom-features" depends="init-server-testing" if="is.oracle">
<build-ear dir="jpa/customfeatures" puname="customfeatures"
modelname="${eclipselink.customfeatures.model}"
sourceroot="${jpatest.2.oracletest.dir}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.customfeatures.CustomFeaturesJUnitTestSuite"
testname="${eclipselink.customfeatures.model}"/>
</target>
<!--if="is.ready.for.proxy.authentication"-->
<target name="server-test-proxy-authentication" depends="init-server-testing" if="is.oracle">
<build-ear dir="jpa/proxyauthentication" puname="proxyauthentication"
modelname="${eclipselink.proxyauthentication.model}"
sourceroot="${jpatest.2.oracletest.dir}"/>
<ant dir="${jpatest.2.oracletest.dir}"
antfile="oracle-db-setup.xml" target="setup-proxy-authentication"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.proxyauthentication.ProxyAuthenticationServerTestSuite"
testname="${eclipselink.proxyauthentication.model}"/>
</target>
<!-- Tests from foundation/eclipselink.extension.oracle.spatial.test -->
<target name="server-test-jgeometry" depends="init-server-testing" if="is.oracle">
<build-ear dir="jpa/jgeometry" puname="structConverter"
modeldir="org/eclipse/persistence/testing/models/jpa/structconverter"
modelname="eclipselink-jgeometry-model"
classpath="oracle.spatial.path"
sourceroot="${jpatest.2.oracle.spatial.test.dir}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.jgeometry.SpatialJPQLTestSuite"
testname="eclipselink-jgeometry-model"
classpath="oracle.spatial.path"/>
</target>
<target name="server-test-struct-converter" depends="init-server-testing" if="is.oracle">
<echo message="Creating MY_GEOMETRY datatype for spatial tests: ${db.url}..."/>
<sql userid="${db.user}" password="${db.pwd}"
driver="${db.driver}"
url="${db.url}"
classpath="${jdbc.driver.jar}"
keepformat="true" delimiter=";"
onerror="continue">
CREATE OR REPLACE TYPE MY_GEOMETRY AS OBJECT (id NUMBER, geom MDSYS.SDO_GEOMETRY);
</sql>
<build-ear dir="jpa/structconverter" puname="structConverter"
modelname="${eclipselink.struct.converter.model}"
classpath="oracle.spatial.path"
sourceroot="${jpatest.2.oracle.spatial.test.dir}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.structconverter.StructConverterTestSuite"
testname="${eclipselink.struct.converter.model}"
classpath="oracle.spatial.path"/>
</target>
<!--Tests from foundation/eclipselink.extension.nosql.test -->
<!-- Since in nightly GlassFish 4 and WebLogic testing, the property is.JTA can't be passed to server, so we force isJTA() returns false in JUnitTestCase.java -->
<target name="server-test-mongotest" depends="init-server-testing" if="is.glassfish.or.weblogic">
<copy file="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java" tofile="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java_original"/>
<copy file="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java_nonjtaDS" tofile="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java" overwrite="true"/>
<antcall target="server-test-mongo-xml" inheritRefs="true"/>
<antcall target="server-test-mongo" inheritRefs="true"/>
<move file="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java_original" tofile="${jpatest.src.dir}/org/eclipse/persistence/testing/framework/junit/JUnitTestCase.java" overwrite="true"/>
<antcall target="generate-report" inheritRefs="true"/>
</target>
<target name="server-test-mongo" depends="init-server-testing">
<build-ear dir="jpa/mongo" puname="mongo"
modelname="eclipselink-mongo-model"
sourceroot="${jpatest.2.nosqltest.dir}"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.mongo.MongoTestSuite"
testname="eclipselink-mongo-model"/>
</target>
<target name="server-test-mongo-xml" depends="init-server-testing" if="is.glassfish.or.weblogic">
<copy file="./../../foundation/eclipselink.extension.nosql.test/resource/mongo/mongo-orm.xml" todir="${jpatest.resource.dir}/eclipselink-mongo-model-xml/server"/>
<build-ear dir="jpa/mongo" puname="mongo-xml"
modelname="eclipselink-mongo-model-xml"/>
<server-test include="org.eclipse.persistence.testing.tests.jpa.mongo.MongoXMLTestSuite"
testname="eclipselink-mongo-model-xml"/>
<!--<param name="eclipselink.jpa.test.dir" value="./../../foundation/eclipselink.extension.nosql.test"/>-->
<delete file="/eclipselink-mongo-model-xml/server/mongo-orm.xml" failonerror="false"/>
</target>
<!-- *********** CacheCoordination Test Targets -->
<target name="server-start-cachecoordination" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-start-cachecoordination" inheritRefs="true"/>
</target>
<target name="server-start-admin" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-start-admin" inheritRefs="true"/>
</target>
<target name="server-start-cachecoordination-1" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-start-cachecoordination-1" inheritRefs="true"/>
</target>
<target name="server-start-cachecoordination-2" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-start-cachecoordination-2" inheritRefs="true"/>
</target>
<target name="server-start-cachecoordination-3" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-start-cachecoordination-3" inheritRefs="true"/>
</target>
<target name="server-start-cachecoordination-jms" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-start-cachecoordination-jms" inheritRefs="true"/>
</target>
<target name="server-stop-cachecoordination" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination_${server.name}.xml" target="${server.name}-stop-cachecoordination" inheritRefs="true"/>
</target>
<target name="server-run-test-cachecoordination" depends="clean-test,config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination-cluster.xml" target="${server.name}-run-test-cachecoordination" inheritRefs="true"/>
</target>
<target name="server-deploy-concurrency" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination-cluster.xml" target="${server.name}-build-deploy-concurrency" inheritRefs="true"/>
</target>
<target name="server-undeploy-concurrency" depends="config-classpath">
<ant antfile="${jpatest.basedir}/cachecoordination-cluster.xml" target="${server.name}-undeploy-concurrency" inheritRefs="true"/>
</target>
</project>