<?xml version="1.0"?>
<!--

    Copyright (c) 2018, 2021 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:
      bdoughan   - initial API and implementation
      dtwelves   - Sep 2008 - add in MOXy SRG testing
      egwin      - Nov 2008 - remove compile of MOXY (add dep check instead)
      rbarkhouse - 06 Apr 2011 - Separate JavadocAnnotationExamples from JAXBTestSuite
      dmahar     - Jan 2012 - remove update-package-names targets
      bdoughan   - Sep 2012 - Added RESTful tests and necessary dependencies
      mvalovy    - Mar-Jul 2014 - Added Bean Validation support, JAXBBeanValidationTestSuite
      mvalovy    - Mar 2015 - OSGi Tests
-->
<!--
*   Ant naming conventions:
*   - regardless of the actual OS platform,'/' is the directory separator
*     (Ant will convert as appropriate).
*   - multi-word properties use periods '.'
*     - properties ending in .jar define jarfile names only (no path)
*     - properties ending in .lib are fully qualified jars (path and filename)
*     - properties ending in .dir are directory paths
*     - properties ending in .path are path refid names or explicit classpath fragments
*   - multi-word targets use hyphens '-'
*     - targets beginning with test- are reserved for high level test targets,
*       and are used in test results parsing
*     - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip)
*   - multi-word macros use underscores '_'
*   - multi-word macro attributes are concatenated
*     e.g. 'runpathref'
*   - multi-word tasks (taskdef) names are concatenated
*     e.g. 'validateconnection'
*   - OS environment variables are in ALLCAPS and have 'env' as a prefix
*     e.g. ${env.XXX}.
*   - Ant properties are lower case.
-->
<project name="eclipselink.moxy.test" default="test" basedir=".">
    <available file="../${ant.project.name}" type="dir" property="moxytest.is.local"/>
    <fail message="Not running from '${ant.project.name}' directory" unless="moxytest.is.local"/>

    <dirname property="moxytest.build.location_temp" file="${ant.file.eclipselink.moxy.test}"/>
    <pathconvert targetos="unix" property="moxytest.build.location">
        <path>
            <pathelement location="${moxytest.build.location_temp}"/>
        </path>
    </pathconvert>
    <echo message="moxytest.build.location = '${moxytest.build.location}'"/>
    <condition property="moxytest.2.trunk.dir" value="../.." else="..">
        <contains string="${moxytest.build.location}" substring="moxy/${ant.project.name}"/>
    </condition>
    <echo message="moxytest.2.trunk.dir = '${moxytest.2.trunk.dir}'"/>
    <property name="moxytest.2.common.plugins.dir" value="${moxytest.2.trunk.dir}/plugins"/>
    <property name="moxytest.2.moxy.dir" value="${moxytest.2.trunk.dir}/moxy/org.eclipse.persistence.moxy"/>
    <property name="moxytest.2.core.dir" value="${moxytest.2.trunk.dir}/foundation/org.eclipse.persistence.core"/>
    <property name="moxytest.2.dynamic.dir"
              value="${moxytest.2.trunk.dir}/moxy/org.eclipse.persistence.moxy.dynamicxjc"/>
    <property name="moxytest.2.buildsys.dir" value="${moxytest.2.trunk.dir}/buildsystem"/>
    <property name="moxytest.plugins.dir" value="../plugins"/>
    <!-- Temporary until eclipselink.jar property is globally renamed -->
    <property name="eclipselink.jar" value="eclipselink.jar"/>

    <!-- Allows a user to override certain user specific properties. -->
    <property file="${user.home}/build.properties"/>
    <property file="${moxytest.build.location}/antbuild.properties"/>
    <propertyset id="parser.properties">
        <propertyref prefix="javax.xml"/>
    </propertyset>

    <property name="custom.tasks.lib" value="${moxytest.2.buildsys.dir}/ant_customizations.jar"/>
    <property name="custom.selectbundle.task.class"
              value="org.eclipse.persistence.buildtools.ant.taskdefs.SelectBundle"/>
    <taskdef name="selectbundle" classname="${custom.selectbundle.task.class}" classpath="${custom.tasks.lib}"/>

    <selectbundle basename="org.eclipse.persistence.nosql"
                  directory="${moxytest.build.location}/${moxytest.2.common.plugins.dir}" separator="_"
                  criterion="[2.0.0,9.0.0)" property="oep.nosql.lib" includepath="true"
            />
    <echo message="oep.nosql.lib ='${oep.nosql.lib}'"/>

    <property name="eclipselink.lib" value="${moxytest.2.trunk.dir}/${eclipselink.jar}"/>
    <property name="jaxb-api.lib" value="${moxytest.2.common.plugins.dir}/${jaxb-api.jar}"/>
    <property name="jaxb-impl.lib" value="${moxytest.2.common.plugins.dir}/${jaxb-impl.jar}"/>
    <property name="jakarta.validation.lib" value="${moxytest.2.common.plugins.dir}/${jakarta.validation.jar}"/>
    <property name="validation-impl.lib" value="${extensions.depend.dir}/${validation-impl.jar}"/>
    <property name="jboss-logging.lib" value="${extensions.depend.dir}/${jboss-logging.jar}"/>
    <property name="javax.el.lib" value="${extensions.depend.dir}/${javax.el.jar}"/>
    <property name="classmate.lib" value="${extensions.depend.dir}/${classmate.jar}"/>
    <property name="jacocoagent.lib" value="${extensions.depend.dir}/${jacocoagent.jar}"/>

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

    <!-- 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"/>

    <!-- JVM specific settings -->
    <condition property="test.junit.jvm.modules.prop" value="-Dignore.modules=true" else="${test.junit.jvm.modules}">
        <matches pattern='"[1-8]\..*"' string="${test.junit.jdk.JAVA_VERSION}"/>
    </condition>

    <path id="xml.parser.path">
        <fileset
                dir="${xml.parser.jar.dir}"
                includes="${xml.parser.jar}"/>
    </path>
    <!-- Compile/run paths -->
    <path id="jaxb.compile.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${jaxb-api.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-api.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${resource.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${ejb.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jms.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${transaction.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jaxrs.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${asm.jar}"/>
        <pathelement path="${oep.nosql.lib}"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${moxytest.2.moxy.dir}/target/${classes.dir}"/>
        <pathelement path="${moxytest.2.core.dir}/target/${classes.dir}"/>
        <pathelement path="${jaxb-impl.lib}"/>
        <pathelement path="${jaxb-core.lib}"/>
        <pathelement path="${jakarta.validation.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>
    <path id="jaxb.run.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${jaxb-api.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-api.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-impl.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jaxrs.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${asm.jar}"/>
        <pathelement path="${moxytest.2.moxy.dir}/target/${classes.dir}"/>
        <pathelement path="${moxytest.2.moxy.dir}/${resource.dir}"/>
        <pathelement path="${moxytest.2.dynamic.dir}/${classes.dir}"/>
        <pathelement path="${moxytest.2.core.dir}/target/${classes.dir}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/org.eclipse.persistence.asm"/>
        <pathelement path="${build.dir}/${classes.dir}"/>
        <pathelement path="${jaxb-core.lib}"/>
        <pathelement path="${jacocoagent.lib}"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${validation-impl.lib}"/>
        <pathelement path="${jboss-logging.lib}"/>
        <pathelement path="${javax.el.lib}"/>
        <pathelement path="${classmate.lib}"/>
        <pathelement path="${jakarta.validation.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>
    <path id="oxm.compile.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${jaxb-api.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${resource.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${ejb.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jms.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${transaction.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${oep.nosql.lib}"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${moxytest.2.moxy.dir}/target/${classes.dir}"/>
        <pathelement path="${moxytest.2.core.dir}/target/${classes.dir}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>
    <path id="oxm.run.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${resource.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${ejb.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jms.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${transaction.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${asm.jar}"/>
        <pathelement path="${moxytest.2.moxy.dir}/target/${classes.dir}"/>
        <pathelement path="${build.dir}/${classes.dir}"/>
        <pathelement path="${moxytest.2.core.dir}/target/${classes.dir}"/>
        <pathelement path="${jacocoagent.lib}"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>

    <!-- The following compile/run paths reference eclipselink.jar for non-test classes and resources -->
    <path id="jaxb.compile.against.jar.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${jaxb-api.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-api.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${resource.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${ejb.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jms.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${transaction.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jaxrs.jar}"/>
        <pathelement path="${oep.nosql.lib}"/>
        <pathelement path="${eclipselink.lib}"/>
        <pathelement path="${jaxb-impl.lib}"/>
        <pathelement path="${jaxb-core.lib}"/>
        <pathelement path="${jakarta.validation.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>
    <path id="jaxb.run.against.jar.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${jacocoagent.lib}"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${jaxb-api.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-api.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-impl.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jaxrs.jar}"/>
        <pathelement path="${oep.nosql.lib}"/>
        <pathelement path="${build.dir}/${classes.dir}"/>
        <pathelement path="${eclipselink.lib}"/>
        <pathelement path="${jaxb-impl.lib}"/>
        <pathelement path="${jaxb-core.lib}"/>
        <pathelement path="${jakarta.validation.lib}"/>
        <pathelement path="${validation-impl.lib}"/>
        <pathelement path="${jboss-logging.lib}"/>
        <pathelement path="${javax.el.lib}"/>
        <pathelement path="${classmate.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>
    <path id="oxm.compile.against.jar.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${jaxb-api.lib}"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${resource.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${ejb.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jms.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${transaction.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${oep.nosql.lib}"/>
        <pathelement path="${eclipselink.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>
    <path id="oxm.run.against.jar.path">
        <path refid="xml.parser.path"/>
        <pathelement path="${jacocoagent.lib}"/>
        <pathelement path="${junit.lib}"/>
        <pathelement path="${jaxb-api.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-api.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${json-impl.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${resource.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${ejb.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${jms.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${transaction.jar}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${mail.jar}"/>
        <pathelement path="${oep.nosql.lib}"/>
        <pathelement path="${build.dir}/${classes.dir}"/>
        <pathelement path="${eclipselink.lib}"/>
        <pathelement path="${moxytest.2.common.plugins.dir}/${activation.jar}"/>
    </path>

    <mkdir dir="${build.dir}"/>

    <!-- Test targets -->
    <target name="test" depends="clean-reports, compile-and-run-tests, moxy-junit-report"
            description="run moxy tests and generate junit report"/>
    <target name="test-jaxb" depends="clean-jaxb-reports, compile-and-run-jaxb-tests, jaxb-junit-report"
            description="build and run moxy (jaxb) tests and generate junit report"/>
    <target name="test-oxm" depends="clean-oxm-reports, compile-and-run-oxm-tests, oxm-junit-report"
            description="build and run moxy (oxm) tests and generate junit report"/>
    <target name="test-tl-deploymentxml"
            depends="clean-oxm-reports, compile-and-run-oxm-deploymentxml-tl-tests, oxm-junit-report"
            description="build and run moxy (oxm) tl deployment xml tests and generate junit report"/>
    <target name="test-package-installer-zip"
            depends="clean-installer-reports, compile-tests, run-installer-tests, installer-junit-report"
            description="build and run moxy (installer) tests and generate junit report"/>
    <target name="test-osgi"
            depends="init-osgi, check-osgi, compile-and-run-osgi-tests"
            description="build and run moxy and moxy-core osgi tests"/>

    <!-- The following tests build and run against eclipselink.jar -->
    <target name="test-against-jar" depends="clean-reports, compile-and-run-tests-against-jar, moxy-junit-report"
            description="run moxy tests against eclipselink.jar and generate junit report"/>
    <target name="test-srg-against-jar" depends="compile-and-run-srg-tests-against-jar, moxy-srg-junit-report"
            description="run moxy srg tests against eclipselink.jar and generate junit report"/>
    <target name="test-jaxb-against-jar"
            depends="clean-jaxb-reports, compile-and-run-jaxb-tests-against-jar, jaxb-junit-report"
            description="build and run moxy (jaxb) tests against eclipselink.jar and generate junit report"/>
    <target name="test-oxm-against-jar"
            depends="clean-oxm-reports, compile-and-run-oxm-tests-against-jar, oxm-junit-report"
            description="build and run moxy (oxm) tests against eclipselink.jar and generate junit report"/>

    <!-- Build targets -->
    <target name="compile-tests" depends="clean" description="build moxy test classes">
        <available file="${moxytest.2.common.plugins.dir}/org.eclipse.persistence.moxy_${version.string}.jar"
                   property="moxy.bundle.exist"/>
        <!-- fail message="Cannot find MOXY: '${moxytest.2.common.plugins.dir}/org.eclipse.persistence.moxy_${version.string}.jar'." unless="moxy.bundle.exist"/ -->
        <compile_moxy_tests subcomponent="oxm" compilepathref="oxm.compile.path"/>
        <compile_moxy_tests subcomponent="jaxb" compilepathref="jaxb.compile.path"/>
        <compile_moxy_tests subcomponent="moxy" compilepathref="jaxb.compile.path"/>
    </target>
    <target name="compile-tests-against-jar" depends="clean"
            description="build moxy test classes against eclipselink.jar">
        <echo message="Compiling OXM tests..."/>
        <compile_moxy_tests subcomponent="oxm" compilepathref="oxm.compile.against.jar.path"/>
        <echo message=""/>
        <echo message="Compiling JAXB tests..."/>
        <compile_moxy_tests subcomponent="jaxb" compilepathref="jaxb.compile.against.jar.path"/>
    <echo message="Compiling MOXy unit tests..."/>
    <compile_moxy_tests subcomponent="moxy" compilepathref="jaxb.compile.against.jar.path"/>
    </target>

    <!-- Build & Run targets -->
    <target name="compile-and-run-tests" depends="compile-tests" description="build and run moxy tests">
        <run_jaxb_tests runpathref="jaxb.run.path"/>
        <run_oxm_tests runpathref="oxm.run.path"/>
        <run_oxm_dom_tests runpathref="oxm.run.path"/>
        <run_oxm_deploymentxml_tests runpathref="oxm.run.path"/>
        <run_oxm_docpres_tests runpathref="oxm.run.path"/>
    </target>
    <target name="compile-and-run-jaxb-tests" depends="compile-tests" description="build and run moxy (oxm) tests">
        <run_jaxb_tests runpathref="jaxb.run.path"/>
    </target>
    <target name="compile-and-run-oxm-tests" depends="compile-tests" description="build and run moxy (oxm) tests">
        <run_oxm_tests runpathref="oxm.run.path"/>
        <run_oxm_dom_tests runpathref="oxm.run.path"/>
        <run_oxm_deploymentxml_tests runpathref="oxm.run.path"/>
        <run_oxm_docpres_tests runpathref="oxm.run.path"/>
    </target>
    <target name="compile-and-run-oxm-deploymentxml-tl-tests" depends="compile-tests"
            description="build and run moxy (oxm) tl deployment xml tests">
        <run_oxm_deploymentxml_tl_tests runpathref="oxm.run.path"/>
    </target>

    <target name="init-osgi">
        <property environment="env"/>
        <condition property="m2.home.exists" value="true">
            <isset property="env.M2_HOME"/>
        </condition>
        <condition property="M2_HOME" value="${env.M2_HOME}">
            <isset property="m2.home.exists"/>
        </condition>
    </target>
    <target name="check-osgi" unless="m2.home.exists">
        <echo message="Skipping OSGi Tests. M2_HOME is not set."/>
    </target>
    <target name="compile-and-run-osgi-tests">
        <condition property="version.qualifier" value="${version.qualifier}" else="qualifier">
            <isset property="version.qualifier"/>
        </condition>
        <echo message="Launching Maven build with the following parameters:"/>
        <echo message="    -Dclassworlds.conf=${M2_HOME}/bin/m2.conf"/>
        <echo message="    -Dmaven.home=${M2_HOME}"/>
        <echo message="    -Dbuild.qualifier=${version.qualifier}"/>
        <echo message="    -Drelease.version=${release.version}"/>
        <java jvm="${test.junit.jvm.exec}" dir="${basedir}" fork="true" failonerror="true" classname="org.codehaus.plexus.classworlds.launcher.Launcher">
            <jvmarg value="-Dclassworlds.conf=${M2_HOME}/bin/m2.conf"/>
            <jvmarg value="-Dmaven.home=${M2_HOME}"/>
            <jvmarg value="-Dmaven.multiModuleProjectDirectory=${basedir}"/>
            <!--<arg line="-Dmaven.surefire.debug clean install"/>-->
            <arg line="clean test"/>
            <arg line="-Dmoxytest.2.common.plugins.dir=${basedir}/../../plugins/"/>
            <arg line="-Djakarta.validation.lib=${basedir}/${jakarta.validation.lib}"/>
            <arg line="-Dbuild.qualifier=${version.qualifier}"/>
            <arg line="-Drelease.version=${release.version}"/>
            <arg line="-Djaxb-api.jar=${jaxb-api.jar}"/>
            <arg line="-Djaxrs.jar=${jaxrs.jar}"/>
            <arg line="-Dasm.jar=${asm.jar}"/>
            <arg line="-Dasm.version=${asm.version}"/>
            <arg line="-Dtest.junit.jvm=${test.junit.jvm}"/>
            <classpath>
                <fileset dir="${M2_HOME}/boot">
                    <include name="plexus-classworlds-*.jar"/>
                </fileset>
            </classpath>
        </java>
    </target>

    <target name="run-installer-tests">
        <tempfile property="unzip.temp.file" destDir="${java.io.tmpdir}" prefix="build"/>
        <mkdir dir="${unzip.temp.file}"/>
        <echo>${unzip.temp.file}</echo>
        <unzip src="${moxytest.2.trunk.dir}/${eclipselink.zip.file}" dest="${unzip.temp.file}"/>
        <chmod dir="${unzip.temp.file}/eclipselink/bin" perm="+x" includes="**/*"/>

        <delete dir="${report.dir}/installer" failonerror="false"/>
        <mkdir dir="${report.dir}/installer"/>
        <mkdir dir="${build.dir}/${test.dir}"/>
        <junit jvm="${test.junit.jvm.exec}" printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
            <env key="ECLIPSELINK_UNZIP_DIR" value="${unzip.temp.file}"/>
            <batchtest todir="${report.dir}/installer">
                <fileset dir="${src.dir}">
                    <include name="org/eclipse/persistence/testing/jaxb/installer/InstallerTestSuite.java"/>
                </fileset>
                <formatter type="xml"/>
            </batchtest>
            <classpath>
                <path refid="jaxb.run.path"/>
            </classpath>
        </junit>
        <delete dir="${unzip.temp.file}" failonerror="false"/>
    </target>
    <!-- The following targets build and run against eclipselink.jar -->
    <target name="compile-and-run-tests-against-jar" depends="compile-tests-against-jar"
            description="build and run moxy tests against eclipselink.jar">
        <run_jaxb_tests runpathref="jaxb.run.against.jar.path"/>
        <run_oxm_tests runpathref="oxm.run.against.jar.path"/>
        <run_oxm_dom_tests runpathref="oxm.run.against.jar.path"/>
        <run_oxm_deploymentxml_tests runpathref="oxm.run.against.jar.path"/>
        <run_oxm_docpres_tests runpathref="oxm.run.against.jar.path"/>
    </target>
    <target name="compile-and-run-srg-tests-against-jar" depends="compile-tests-against-jar"
            description="build and run moxy srg tests against eclipselink.jar">
        <run_jaxb_srg_tests runpathref="jaxb.run.against.jar.path"/>
        <run_oxm_srg_tests runpathref="oxm.run.against.jar.path"/>
    </target>
    <target name="compile-and-run-jaxb-tests-against-jar" depends="compile-tests-against-jar"
            description="build and run moxy (oxm) tests against eclipselink.jar">
        <run_jaxb_tests runpathref="jaxb.run.against.jar.path"/>
    </target>
    <target name="compile-and-run-oxm-tests-against-jar" depends="compile-tests-against-jar"
            description="build and run moxy (oxm) tests against eclipselink.jar">
        <run_oxm_tests runpathref="oxm.run.against.jar.path"/>
        <run_oxm_dom_tests runpathref="oxm.run.against.jar.path"/>
        <run_oxm_deploymentxml_tests runpathref="oxm.run.against.jar.path"/>
        <run_oxm_docpres_tests runpathref="oxm.run.against.jar.path"/>
    </target>

    <!-- JUnit report targets -->
    <target name="moxy-junit-report" depends="jaxb-junit-report, oxm-junit-report"
            description="create moxy junit report"/>
    <target name="jaxb-junit-report" description="create jaxb junit report">
        <junitreport todir="${report.dir}/jaxb">
            <fileset dir="${report.dir}/jaxb">
                <include name="**/*.xml"/>
            </fileset>
            <report format="noframes" todir="${report.dir}/jaxb"/>
        </junitreport>
    </target>
    <target name="oxm-junit-report" description="create oxm junit report">
        <junitreport todir="${report.dir}/oxm">
            <fileset dir="${report.dir}/oxm">
                <include name="**/*.xml"/>
            </fileset>
            <report format="noframes" todir="${report.dir}/oxm"/>
        </junitreport>
    </target>
    <target name="installer-junit-report" description="create installer junit report">
        <junitreport todir="${report.dir}/installer">
            <fileset dir="${report.dir}/installer">
                <include name="**/*.xml"/>
            </fileset>
            <report format="noframes" todir="${report.dir}/installer"/>
        </junitreport>
    </target>

    <target name="moxy-srg-junit-report" description="create moxy srg junit report">
        <junitreport todir="${report.dir}/srg">
            <fileset dir="${report.dir}/srg">
                <include name="**/*.xml"/>
            </fileset>
            <report format="noframes" todir="${report.dir}/srg"/>
        </junitreport>
    </target>


    <!-- Clean targets -->
    <target name="clean-reports" depends="clean-oxm-reports, clean-jaxb-reports"
            description="clean moxy junit report directory">
        <delete dir="${report.dir}/jaxb" failonerror="false"/>
        <delete dir="${report.dir}/oxm" failonerror="false"/>
        <mkdir dir="${report.dir}/jaxb"/>
        <mkdir dir="${report.dir}/oxm"/>
        <mkdir dir="${report.dir}/installer"/>
    </target>
    <target name="clean-oxm-reports" description="clean moxy (oxm) junit report directory">
        <delete dir="${report.dir}/oxm" failonerror="false"/>
        <mkdir dir="${report.dir}/oxm"/>
    </target>
    <target name="clean-jaxb-reports" description="clean moxy (jaxb) junit report directory">
        <delete dir="${report.dir}/jaxb" failonerror="false"/>
        <mkdir dir="${report.dir}/jaxb"/>
    </target>
    <target name="clean-installer-reports" description="clean moxy (installer) junit report directory">
        <delete dir="${report.dir}/installer" failonerror="false"/>
        <mkdir dir="${report.dir}/installer"/>
    </target>
    <target name="clean" description="clean the build">
        <delete dir="${build.dir}" failonerror="false"/>
    </target>

    <!-- Test run macros -->
    <macrodef name="run_jaxb_tests">
        <attribute name="runpathref"/>
        <sequential>
            <echo message="Bean Validation jars found: ${validate.jar.exists}."/>
            <delete dir="${report.dir}/jaxb" failonerror="false"/>
            <mkdir dir="${report.dir}/jaxb"/>
            <mkdir dir="${build.dir}/${test.dir}/${tmp.dir}"/>
            <!-- Can be set e.g. in test.properties to add VM options for a particular platform/driver  -->
            <property name="additional.jvmargs" value="-Ddummy2=dummy"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.jaxb" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <!--<jvmarg value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005"/>-->
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <env key="T_WORK" value="${tmp.dir}"/>
                <sysproperty key="platformType" value="SAX"/>
                <sysproperty key="metadataType" value="JAVA"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/jaxb">
                    <fileset dir="${src.dir}">
                        <include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite2.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite3.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/JAXBTestSuite4.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/JAXBBeanValidationTestSuite.java"
                                 if="validate.jar.exists"/>
                        <include name="org/eclipse/persistence/testing/jaxb/beanvalidation/BeanValidationHelperTestCase.java"
                                 if="validate.jar.exists"/>
                        <include name="org/eclipse/persistence/testing/jaxb/listofobjects/JAXBListOfObjectsSuite.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/annotations/AnnotationsTestSuite.java"/>
                        <include
                                name="org/eclipse/persistence/testing/jaxb/externalizedmetadata/ExternalizedMetadataTestSuite.java"/>
                        <include
                                name="org/eclipse/persistence/testing/jaxb/javadoc/JavadocAnnotationExamplesTestSuite.java"/>
                        <include
                                name="org/eclipse/persistence/testing/jaxb/typemappinginfo/TypeMappingInfoTestSuite.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/schemagen/SchemaGenTestSuite.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/xmladapter/XmlAdapterTestSuite.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/dynamic/DynamicJAXBTestSuite.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/json/JSONTestSuite.java"/>
                        <include name="org/eclipse/persistence/testing/jaxb/rs/RESTfulTestSuite.java"/>
                        <include name="org/eclipse/persistence/testing/moxy/unit/**/*TestCase.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <test name="org.eclipse.persistence.testing.jaxb.annotations.xmlidref.XmlIdSystemPropertyTestCase" todir="${report.dir}/jaxb">
                    <formatter type="xml"/>
                </test>
                <test name="org.eclipse.persistence.testing.jaxb.annotations.xmlidref.XmlIdSystemPropertyNotSetTestCase" todir="${report.dir}/jaxb">
                    <formatter type="xml"/>
                </test>
                <test name="org.eclipse.persistence.testing.jaxb.annotations.xmlvalue.XmlValueSystemPropertyNotSetTestCase" todir="${report.dir}/jaxb">
                    <formatter type="xml"/>
                </test>
                <test name="org.eclipse.persistence.testing.jaxb.annotations.xmlvalue.XmlValueSystemPropertyTestCase" todir="${report.dir}/jaxb">
                    <formatter type="xml"/>
                </test>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.jaxb"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>
    <macrodef name="run_jaxb_srg_tests">
        <attribute name="runpathref"/>
        <sequential>
            <delete dir="${report.dir}/srg/jaxb" failonerror="false"/>
            <mkdir dir="${report.dir}/srg/jaxb"/>
            <mkdir dir="${build.dir}/${test.dir}/${tmp.dir}"/>
            <!-- Can be set e.g. in test.properties to add VM options for a particular platform/driver  -->
            <property name="additional.jvmargs" value="-Ddummy2=dummy"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.jaxb_srg" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <env key="T_WORK" value="${tmp.dir}"/>
                <sysproperty key="platformType" value="SAX"/>
                <sysproperty key="metadataType" value="JAVA"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/srg/jaxb">
                    <fileset dir="${src.dir}">
                        <include name="org/eclipse/persistence/testing/jaxb/JAXBSRGTestSuite.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.jaxb_srg"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>
    <macrodef name="run_oxm_srg_tests">
        <attribute name="runpathref"/>
        <sequential>
            <delete dir="${report.dir}/srg/oxm" failonerror="false"/>
            <mkdir dir="${report.dir}/srg/oxm/default"/>
            <mkdir dir="${build.dir}/${test.dir}"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.oxm_srg" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/srg/oxm/default">
                    <fileset dir="${src.dir}">
                        <include name="org/eclipse/persistence/testing/oxm/OXMSRGTestSuite.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.oxm_srg"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>
    <macrodef name="run_oxm_tests">
        <attribute name="runpathref"/>
        <sequential>
            <delete dir="${report.dir}/oxm/default" failonerror="false"/>
            <mkdir dir="${report.dir}/oxm/default"/>
            <mkdir dir="${build.dir}/${test.dir}"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.oxm" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/oxm/default">
                    <fileset dir="${src.dir}">
                        <include name="**/ContainerAccessorTestSuite.java"/>
                        <include name="**/*MappingTestSuite.java"/>
                        <include name="**/RootElementTestSuite.java"/>
                        <include name="**/InheritanceTestSuite.java"/>
                        <include name="**/XMLMarshalTestCases.java"/>
                        <include name="**/XMLMarshalFragmentTestCases.java"/>
                        <include name="**/XMLUnmarshalTestCases.java"/>
                        <include name="**/XMLMarshallerValidationModeTestCases.java"/>
                        <include name="**/*amespaceTestSuite.java"/>
                        <include name="**/ClassLoaderTestCases.java"/>
                        <include name="**/MappingClassLoaderTestCases.java"/>
                        <exclude name="**/MappingTestSuite.java"/>
                        <exclude name="**/OneTo*TestSuite.java"/>
                        <exclude name="**/DeploymentXMLMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/jaxb/**/*.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/DocPresMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/anyobjectandanycollection/XMLAnyObjectAndAnyCollectionMappingTestSuite.java"/>
                        <exclude name="**/SAXMappingTestSuite.java"/>
                        <include
                                name="org/eclipse/persistence/testing/oxm/mappings/directcollection/nillable/DirectCollectionMappingNillableTestSuite.java"/>
                        <include
                                name="org/eclipse/persistence/testing/oxm/mappings/keybased/multipletargets/compositekey/CompositeKeyTestCases.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.oxm"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>
    <macrodef name="run_oxm_dom_tests">
        <attribute name="runpathref"/>
        <sequential>
            <delete dir="${report.dir}/oxm/dom" failonerror="false"/>
            <mkdir dir="${report.dir}/oxm/dom"/>
            <mkdir dir="${build.dir}/${test.dir}"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.oxm_dom" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <sysproperty key="platformType" value="DOM"/>
                <sysproperty key="metadataType" value="JAVA"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/oxm/dom">
                    <fileset dir="${src.dir}">
                        <include name="**/*TestSuite.java"/>
                        <include name="**/ClassLoaderTestCases.java"/>
                        <include name="**/MappingClassLoaderTestCases.java"/>
                        <include name="**/advancedxpath/**/*TestCases.java"/>
                        <exclude name="**/OXTestSuite.java"/>
                        <exclude name="**/OXMSRGTestSuite.java"/>
                        <exclude name="**/DeploymentXMLOXTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/jaxb/**/*.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/MappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/DeploymentXMLMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/DocPresMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/SAXMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/anyobjectandanycollection/XMLAnyObjectAndAnyCollectionMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/keybased/compositekeyclass/CompositeKeyClassMappingTestSuite.java"/>
                        <!--
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/choice/XMLChoiceMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/choicecollection/XMLChoiceCollectionMappingTestSuite.java"/>
                        -->
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/sequenced/SequencedMappingTestSuite.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.oxm_dom"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>
    <macrodef name="run_oxm_deploymentxml_tests">
        <attribute name="runpathref"/>
        <sequential>
            <delete dir="${report.dir}/oxm/deploymentxml" failonerror="false"/>
            <mkdir dir="${report.dir}/oxm/deploymentxml"/>
            <mkdir dir="${build.dir}/${test.dir}"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.oxm_deploymentxml" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <sysproperty key="platformType" value="DOM"/>
                <sysproperty key="metadataType" value="XML_ECLIPSELINK"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/oxm/deploymentxml">
                    <fileset dir="${src.dir}">
                        <include name="**/DocumentPreservationTestSuite.java"/>
                        <include name="**/RootElementTestSuite.java"/>
                        <include name="**/XMLRootTestSuite.java"/>
                        <include name="**/XMLMarshalTestCases.java"/>
                        <include name="**/XMLMarshalFragmentTestCases.java"/>
                        <include name="**/XMLUnmarshalTestCases.java"/>
                        <include name="**/ReadOnlyTestSuite.java"/>
                        <include name="**/InheritanceTestSuite.java"/>
                        <include name="**/ConverterTestSuite.java"/>
                        <include name="**/*MappingTestSuite.java"/>
                        <include name="**/ClassLoaderTestCases.java"/>
                        <include name="**/MappingClassLoaderTestCases.java"/>
                        <include name="**/*amespaceTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/jaxb/**/*.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/MappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/DeploymentXMLMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/DocPresMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/SAXMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/anyobjectandanycollection/XMLAnyObjectAndAnyCollectionMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/choice/XMLChoiceMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/choicecollection/XMLChoiceCollectionMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/choicecollection/converter/ConverterTestCases.java"/>
                        <!--
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/binarydata/XMLBinaryDataMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/binarydatacollection/XMLBinaryDataCollectionMappingTestSuite.java"/>
                        -->
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/sequenced/SequencedMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/directtofield/converter/DirectToFieldConverterTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/compositeobject/self/converter/CompositeObjectSelfConverterTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/keybased/compositekeyclass/CompositeKeyClassMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/containeracessor/ContainerAccessorTestSuite.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.oxm_deploymentxml"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>
    <macrodef name="run_oxm_deploymentxml_tl_tests">
        <attribute name="runpathref"/>
        <sequential>
            <delete dir="${report.dir}/oxm/deploymentxml-tl" failonerror="false"/>
            <mkdir dir="${report.dir}/oxm/deploymentxml-tl"/>
            <mkdir dir="${build.dir}/${test.dir}"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.oxm_deploymentxml_tl" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <sysproperty key="platformType" value="DOM"/>
                <sysproperty key="metadataType" value="XML_TOPLINK"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/oxm/deploymentxml-tl">
                    <fileset dir="${src.dir}">
                        <include name="**/DocumentPreservationTestSuite.java"/>
                        <include name="**/RootElementTestSuite.java"/>
                        <include name="**/XMLRootTestSuite.java"/>
                        <include name="**/XMLMarshalTestCases.java"/>
                        <include name="**/XMLMarshalFragmentTestCases.java"/>
                        <include name="**/XMLUnmarshalTestCases.java"/>
                        <include name="**/ReadOnlyTestSuite.java"/>
                        <include name="**/InheritanceTestSuite.java"/>
                        <include name="**/ConverterTestSuite.java"/>
                        <include name="**/*MappingTestSuite.java"/>
                        <include name="**/ClassLoaderTestCases.java"/>
                        <include name="**/MappingClassLoaderTestCases.java"/>
                        <include name="**/*amespaceTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/jaxb/**/*.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/MappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/DeploymentXMLMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/DocPresMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/SAXMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/anyobjectandanycollection/XMLAnyObjectAndAnyCollectionMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/binarydata/XMLBinaryDataMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/binarydatacollection/XMLBinaryDataCollectionMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/choice/XMLChoiceMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/choicecollection/XMLChoiceCollectionMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/sequenced/SequencedMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/compositeobject/self/converter/CompositeObjectSelfConverterTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/keybased/compositekeyclass/CompositeKeyClassMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/containeracessor/ContainerAccessorTestSuite.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.oxm_deploymentxml_tl"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>
    <macrodef name="run_oxm_docpres_tests">
        <attribute name="runpathref"/>
        <sequential>
            <delete dir="${report.dir}/oxm/docpres" failonerror="false"/>
            <mkdir dir="${report.dir}/oxm/docpres"/>
            <mkdir dir="${build.dir}/${test.dir}"/>
            <junit jvm="${test.junit.jvm.exec}" failureproperty="junit.failed.oxm_docpres" logfailedtests="true"
                   printsummary="yes" fork="true" dir="${build.dir}/${test.dir}" tempdir="${build.dir}/${test.dir}" showoutput="yes" maxmemory="512m">
                <jvmarg value="-ea"/>
                <jvmarg line="${test.junit.jvm.modules.prop}"/>
                <jvmarg line="${additional.jvmargs}"/>
                <sysproperty key="platformType" value="DOC_PRES"/>
                <sysproperty key="metadataType" value="JAVA"/>
                <sysproperty key="useLogging" value="false"/>
                <sysproperty key="eclipselink.xml.platform" value="${xml.platform}"/>
                <sysproperty key="parser" value="${parser}"/>
                <syspropertyset refid="parser.properties"/>
                <batchtest todir="${report.dir}/oxm/docpres">
                    <fileset dir="${src.dir}">
                        <include name="**/*TestSuite.java"/>
                        <include name="**/ClassLoaderTestCases.java"/>
                        <include name="**/MappingClassLoaderTestCases.java"/>
                        <exclude name="**/ReadOnlyTestSuite.java"/>
                        <exclude name="**/OXTestSuite.java"/>
                        <exclude name="**/OXMSRGTestSuite.java"/>
                        <exclude name="**/OneTo*TestSuite.java"/>
                        <exclude name="**/DeploymentXMLOXTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/jaxb/**/*.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/MappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/DeploymentXMLMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/DocPresMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/SAXMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/anyobjectandanycollection/XMLAnyObjectAndAnyCollectionMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/keybased/KeyBasedMappingTestSuite.java"/>
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/keybased/compositekeyclass/CompositeKeyClassMappingTestSuite.java"/>
                        <!--
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/choice/XMLChoiceMappingTestSuite.java"/>
                        <exclude name="org/eclipse/persistence/testing/oxm/mappings/choicecollection/XMLChoiceCollectionMappingTestSuite.java"/>
                        -->
                        <exclude
                                name="org/eclipse/persistence/testing/oxm/mappings/sequenced/SequencedMappingTestSuite.java"/>
                    </fileset>
                    <formatter type="xml"/>
                </batchtest>
                <classpath>
                    <path refid="@{runpathref}"/>
                </classpath>
            </junit>
            <fail message="TESTS FAILED !">
                <condition>
                    <and>
                        <isset property="junit.failed.oxm_docpres"/>
                        <istrue value="${test.fail.fast}"/>
                    </and>
                </condition>
            </fail>
        </sequential>
    </macrodef>

    <!-- Compile macros -->
    <macrodef name="compile_moxy_tests">
        <attribute name="subcomponent"/>
        <attribute name="compilepathref"/>
        <sequential>
            <mkdir dir="${build.dir}/${classes.dir}"/>
            <property name="moxy.test.dir" location="${build.dir}/.."/>
            <javac srcdir="${src.dir}"
                   destdir="${build.dir}/${classes.dir}"
                   debug="${javac.debug}"
                   debuglevel="${javac.debuglevel}"
                   encoding="UTF-8"
                   optimize="${javac.optimize}"
                   source="${javac.version}"
                   deprecation="${javac.deprecation}"
                   failonerror="${fail.on.error}"
                   includes="org/eclipse/persistence/testing/@{subcomponent}/**/*.java">
                <classpath>
                    <path refid="@{compilepathref}"/>
                </classpath>
            </javac>
            <copy todir="${build.dir}/${classes.dir}">
                <fileset dir="${moxy.test.dir}/${resource.dir}" includes="org/eclipse/persistence/testing/@{subcomponent}/**"/>
                <file name="${moxy.test.dir}/${resource.dir}/sessions.xml"/>
            </copy>
        </sequential>
    </macrodef>
</project>
