<!--/*******************************************************************************
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
*   Ant naming conventions:
*   - regardless of the actual OS platform,'/' is the directory separator
*     (Ant will convert as appropriate).
*   - multi-word properties use periods '.'
*     - properties ending in .jar define jarfile names only (no path)
*     - properties ending in .lib are fully qualified jars (path and filename)
*     - properties ending in .dir are directory paths
*     - properties ending in .path are path refid names (classpath fragments)
*   - multi-word targets use hyphens '-'
*     - targets beginning with test- are reserved for high level test targets,
*       and are used in test results parsing
*     - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip)
*   - multi-word macros use underscores '_'
*   - multi-word macro attributes are concatinated
*     e.g. 'runpathref'
*   - multi-word tasks (taskdef) names are concatinated
*     e.g. 'validateconnection'
*   - OS environment variables are in ALLCAPS and have 'env' as a prefix
*     e.g. ${env.XXX}.
*   - Ant properties are lower case.
*
* Contributors:
*     tware  - initial API and implementation
*     pkrogh - javadocs
*     egwin  - rework to follow ant conventions.
*     dtwelves - Add SDO, MOXy SRG targets
*     egwin  - rework to incorporate new versioning standards and revision info.
*     egwin  - add jpa 2.0 jar creation, and JPA 1.1/2.0 concurrent development
               strategy. Also includes fixes to eclipselink.jar creation.
*     egwin  - rework to standardize antcall conventions and fix multiple target builds.
#******************************************************************************/-->
<!-- =============================================================================
*  General Comments
*  This buildfile contains:
*        - calls to the component builds to clean, compile, package and test thier bits
*        - calls to initiate component tests
*        - targets to package the eclipselink jar
*        - targets to generate the eclipselink installer
*        - targets to generate the javadocs
*  Used standalone it can generate Developer Builds of the entire product or subsets
*        of the product.
*  When called by autobuild it generates Nightly and Milestone builds
*================================================================================= -->
<!-- This ant project includes the following tasks:
        - build (default) : compiles all components and tests (excluding Oracle extensions)
        - build.all : compiles all components and tests, including Oracle extensions
        - build-eclipselink-jar : compiles all components except tests, packages eclipselink.jar
        - clean : removes all build generated files
        - clean-runtime : removes all runtime specific (product) build generated files (calls both clean-runtime-checkedin and clean-runtime-built)
        - clean-runtime-checkedin : removes all runtime specific (product) build generated files, that are part of the svn repository (checked in with build)
        - clean-runtime-built : removes all runtime specific (product) files generated during the build, but that are NOT checked in
        - clean-testing : removes all testing specific build generated files
        - build-distribution : compiles and packages all jars, javadocs, installer
        - build-core : compiles all components, excluding tests, utilities, and Oracle extensions
        - build-oracle : compiles Oracle extensions and tests
        - build-test : compiles all tests, excluding Oracle extensions
        - build-workbench-test : compiles the workbench tests
        - package-eclipselink-jar : packages eclipselink.jar
        - jar : packages eclipselink.jar
        - package-src-jar : packages source jar
        - build-javadocs : generates Javadocs
        - package-installer-zip : builds installer
        - package-package-renamer.jar : builds packages renamer jar
        - test-srg : runs all Short ReGression test suites
        - test-lrg : runs all Long ReGression test suites
        - test-core : runs core tests
        - test-core-srg : runs core SRG
        - test-jpa : runs JPA tests
        - test-moxy : runs MOXY tests
        - test-moxy-srg : runs MOXY SRG
        - test-jaxb : runs MOXY jaxb tests
        - test-oxm : runs MOXY oxm tests
        - test-sdo : runs SDO tests
        - test-sdo-srg : runs SDO SRG

        It may require some configuration of the build.properties to run.
    -->
<project name="trunk" default="build" basedir=".">

    <dirname  property="trunk.build.location_temp" file="${ant.file.trunk}"/>
    <pathconvert targetos="unix" property="trunk.build.location">
        <path>
            <pathelement location="${trunk.build.location_temp}"/>
        </path>
    </pathconvert>
    <echo message="trunk.build.location = '${trunk.build.location}'"/>
    <property environment="env"/>
    <echo message="env.CLASSPATH        = '${env.CLASSPATH}'"/>
    <echo message="java.class.path      = '${java.class.path}'"/>
    <!-- Allows a user to overide certain user specific properties. -->
    <echo message="user.home            = '${user.home}'"/>
    <echo message="Loading user properties from: '${user.home}/build.properties'"/>
    <property file="${user.home}/build.properties"/>
    <!-- Sets default junit.lib and all extensions.depend dir locations to static paths -->
    <!-- temporary until all build files reworked -->
    <property name="oracle.extensions.depend.dir" value="${trunk.build.location}/../extension.oracle.lib.external"/>
    <echo message="oracle.extensions.depend.dir = '${oracle.extensions.depend.dir}'"/>
    <!-- This HAS to be defined after allowing user redefinitions (which will cause the condition not to set anything) -->
    <!-- This tests to make sure the extensions dir exists, if not sets to a existant dummy location -->
    <condition property="extensions.depend.dir" value="${trunk.build.location}/../extension.lib.external"
                                                else="${trunk.build.location}">
        <available file="${trunk.build.location}/../extension.lib.external" type="dir"/>
    </condition>
    <echo message="extensions.depend.dir        = '${extensions.depend.dir}'"/>
    <condition property="junit.lib" value="${extensions.depend.dir}/junit.jar">
         <available file="${extensions.depend.dir}/junit.jar"/>
    </condition>
    <echo message="junit.lib = '${junit.lib}' (if not set tests may not compile; let alone run)"/>
    <echo message="Loading default properties from: '${trunk.build.location}/build.properties'"/>
    <!-- The default for junit.lib is still "junit.jar", even though we now depend upon junit 4.5  -->
    <property file="${trunk.build.location}/build.properties"/>

    <!-- Needed because some buildfiles depend upon JDK6 -->
    <condition property="java_is_v5" value="true">
        <contains string="${java.version}" substring="1.5"/>
    </condition>
    <!-- Sets the warning message appropriately -->
    <condition property="jdk_message" value="Warning: Minimum of JDK6 is required for some components to build." else="java.version='${java.version}'">
        <contains string="${java.version}" substring="1.5"/>
    </condition>
    <echo message="${jdk_message}"/>
    <echo message="jdbc.driver.jar='${jdbc.driver.jar}'"/>

    <!-- versioning -->
    <!-- These variables  are set in autobuild.xml. A manual build gets defaults -->
    <tstamp>
       <format property="build.date" pattern="yyyyMMdd"/>
       <format property="build.time" pattern="HHmm"/>
    </tstamp>
    <property name="build.type" value="SNAPSHOT"/>
    <property name="svn.revision" value="NA"/>
    <condition property="version.qualifier" value="qualifier"
                                            else="v${build.date}-r${svn.revision}">
        <equals arg1="${svn.revision}" arg2="NA"/>
    </condition>
    <property name="version.string"      value="${release.version}.${version.qualifier}"/>
    <property name="release.designation" value="EclipseLink DeveloperBuild"/>

    <property name="modelgen.processor.jar" value="${eclipselink.modelgen.processor.prefix}_${version.string}.jar"/>

    <path id="javadoc.path">
        <pathelement path="${eclipselink.jar}"/>
        <pathelement path="${eclipselink.sdo.plugins}/${commonj.sdo.jar}"/>
        <pathelement path="${eclipselink.plugins}/${antlr}"/>
        <pathelement path="${eclipselink.plugins}/${asm}"/>
        <pathelement path="${eclipselink.plugins}/${jaxb-api.jar}"/>
        <pathelement path="${eclipselink.plugins}/${persistence10.jar}"/>
        <fileset
            dir="${eclipselink.plugins}"
            includes="${eclipselink.core.depend}"/>
    </path>

<!-- ================================================================================= -->
    <!-- *** Convienience and Compatability targets *** -->

    <!-- Short alias for building the jar. -->
    <target name="jar" depends="build-eclipselink-jar"/>

    <!-- Short alias for building the jar. -->
    <target name="package-core" depends="dev-package-bundles, package-eclipselink-jar" description="package eclipselink without recompiling (*** dev use only ***)"/>

<!-- ================================================================================= -->

    <!-- "top-level" target for creating the distribution archives. -->
    <target name="package-all" depends="package-eclipselink-bundles, package-src-jar, package-example-jar, package-tst-src-zip, package-javadoc-zip, package-installer-zip"/>

    <!-- Compiles all components except tests, builds eclipselink.jar. -->
    <target name="build-eclipselink-jar" depends="build-core, package-eclipselink-jar" description="build all EclipseLink distribution files except docs and tests"/>

    <!-- compiles and builds all components, packages eclipselink.jar and src zip. -->
    <target name="build-src" depends="build-eclipselink-jar, package-src-jar" description="build EclipseLink jar and source zip"/>

    <!-- Default ant target, compiles all components and tests, builds eclipselink.jar. -->
    <target name="build" depends="build-eclipselink-jar, build-core-test" description="build all EclipseLink distribution files except docs"/>

    <!-- Compiles all components and tests (excluding extensions). -->
    <target name="build-all-but-ext" depends="build, build-util, build-util-test"/>

    <!-- Compiles core components, tests and extensions (excluding utilities). -->
    <target name="build-oracle" depends="build-oracle-extension, build-oracle-extension-test"/>

    <!-- Builds and packages all jars, javadoc, and builds installer. -->
    <target name="build-distribution" depends="build-all-but-ext, package-all"/>

<!-- ================================================================================= -->

    <!-- Cleans all build generated files. -->
    <target name="clean" depends="clean-runtime,clean-testing" description="Clean the build"/>

    <target name="clean-runtime" depends="clean-runtime-checkedin, clean-runtime-built" description="Clean the runtime projects"/>
    <!--   This allows testing to call a specific target that won't remove the default
           (or dropped-in copy of) eclipselink and the persistence jar, while still
           allowing unchanged operation by developers and users to clean all built artifacts. -->
    <target name="clean-runtime-checkedin" description="Clean the runtime projects">
        <ant antfile="build.xml" dir="${jpa.prototype}"                target="clean"/>
        <!-- Remove Build artifacts, and potential "confict" files  from check-out -->
        <delete failonerror="false">
            <fileset dir="${trunk.build.location}" includes="${eclipselink.jar}*"/>
        </delete>
        <delete failonerror="false">
            <fileset dir="${trunk.build.location}" includes="${eclipselink.src.install.prefix}${eclipselink.zip.suffix}*"/>
        </delete>
         <delete failonerror="false">
            <fileset dir="${eclipselink.util.rename}" includes="${package-rename.jar}*"/>
        </delete>
    </target>
    <target name="clean-runtime-built" description="Clean the runtime projects">
        <ant antfile="build.xml" dir="${eclipselink.antlr}"            target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.asm}"              target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.core}"             target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.extension.oracle}" target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.dbws}"             target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.jpa}"              target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.osgi}"             target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.modelgen}"         target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.weaving}"          target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.equinox}"          target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.moxy}"             target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.moxy.dynamic}"     target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.util.jaxb}"        target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.sdo}"              target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.util.dbws}"        target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.util.rename}"      target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.util.workbench}"   target="clean"/>
        <delete file="${eclipselink.plugins.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <delete file="${eclipselink.javadoc.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <delete file="${eclipselink.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
    </target>

    <target name="clean-testing" description="Clean the testing projects">
        <ant antfile="build.xml" dir="${eclipselink.core.test}"        target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.jpa.test}"         target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.moxy.test}"        target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.sdo.test}"         target="clean"/>
        <ant antfile="build.xml" dir="${eclipselink.util.workbench.test}" target="clean"/>
        <delete file="${eclipselink.tst.src.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
    </target>

    <!-- Compiles all runtime components (excluding Tests, Oracle extensions). -->
    <target name="build-core" depends="clean-runtime-checkedin">
        <ant antfile="build.xml" dir="${eclipselink.asm}"              target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.antlr}"            target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.core}"             target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.extension.oracle}" target="repackage"/>
        <ant antfile="build.xml" dir="${eclipselink.jpa}"              target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.osgi}"             target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.modelgen}"         target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.weaving}"          target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.equinox}"          target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.moxy}"             target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.moxy.dynamic}"     target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.util.jaxb}"        target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.sdo}"              target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.dbws}"             target="build"/>
    </target>

    <!--      *** intended for dev use only ***
    *    Create runtime components (excluding Tests) from existing classes in project heirarchy.
    *    note: oracle extension tries to be tricksy and either jars from classes like others,
    *          or "rejars" from prebuilt bundle if classes dir doesn't exist.
    * -->
    <target name="dev-package-bundles" depends="clean-runtime-checkedin">
        <ant antfile="build.xml" dir="${eclipselink.asm}"              target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.antlr}"            target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.core}"             target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.extension.oracle}" target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.jpa}"              target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.osgi}"             target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.modelgen}"         target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.weaving}"          target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.equinox}"          target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.moxy}"             target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.sdo}"              target="jar"/>
        <ant antfile="build.xml" dir="${eclipselink.dbws}"             target="jar"/>
    </target>

    <target name="build-persistence20">
        <ant antfile="build.xml" dir="${jpa.prototype}" target="build"/>
    </target>

    <!-- Compiles all utils components. -->
    <target name="build-util" depends="build-dbws-util, build-mw-and-rename"/>

    <target name="build-dbws-util" unless="java_is_v5">
        <ant antfile="build.xml" dir="${eclipselink.util.dbws}"      target="build"/>
    </target>
    <target name="build-mw-and-rename">
        <ant antfile="build.xml" dir="${eclipselink.util.rename}"    target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.util.workbench}" target="all"/>
    </target>

    <!-- Compiles Oracle extensions and tests. -->
    <target name="build-oracle-extension">
        <ant antfile="build.xml" dir="${eclipselink.asm}"              target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.antlr}"            target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.core}"             target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.extension.oracle}" target="build"/>
    </target>

    <target name="build-oracle-extension-test">
        <ant antfile="build.xml" dir="${eclipselink.core.test}"             target="build"/>
        <ant antfile="build.xml" dir="${eclipselink.extension.oracle.test}" target="build"/>
    </target>

    <!-- Compiles tests (excluding workbench, dbws-util and Oracle extensions). -->
    <target name="build-core-test" depends="build-all-core-except-dbws-test, build-dbws-test"/>

    <target name="build-all-core-except-dbws-test">
        <ant antfile="build.xml" dir="${eclipselink.core.test}"    target="build"/>
        <ant antfile="${eclipselink.jpa.test}/build.xml"           target="all"/>
        <ant antfile="build.xml" dir="${eclipselink.jpa.wdf.test}" target="build-against-jar"/>
        <ant antfile="build.xml" dir="${eclipselink.moxy.test}"    target="compile-tests-against-jar"/>
        <ant antfile="build.xml" dir="${eclipselink.sdo.test}"     target="compile-sdo-tests-against-jar"/>
    </target>

    <target name="build-dbws-test" unless="java_is_v5">
        <!-- Compiling dbws tests requires JDK 1.6 -->
        <ant antfile="build.xml" dir="${eclipselink.dbws.test}" target="build"/>
    </target>

    <!-- Compiles all tests (excluding Oracle extensions) -->
    <target name="build-util-test"  depends="build-workbench-test, build-dbws-util-test"/>

    <target name="build-workbench-test">
        <ant antfile="build.xml" dir="${eclipselink.util.workbench.test}" target="all"/>
    </target>

    <target name="build-dbws-util-test"  unless="java_is_v5">
        <!-- Compiling dbws tests requires JDK 1.6 -->
        <ant antfile="build.xml" dir="${eclipselink.util.dbws.test}" target="build"/>
    </target>

    <target name="test-host" description="verify host is defined">
        <condition property="host.is.Eclipse" value="true">
            <and>
                <equals arg1="${host}" arg2="Eclipse"/>
                <isset property="_Unix"/>
            </and>
        </condition>
    </target>
    <target name="init-default-testconfig" if="host.is.Eclipse" depends="test-host" description="initialize to Eclipse build config details">
        <property name="host"              value="Eclipse"/>
        <property name="platform.string"   value="SUSE Linux Enterprise Server 11 SP1 (Kernal: 2.6.32.19-0.3-default) (x86_64)"/>
        <property name="jvm.string"        value="Sun Java 6 64-bit ${java.version}"/>
        <property name="junit.string"      value="1.4.5"/>
        <property name="dbplat.string"     value="MySql 5.1"/>
        <property name="jdbcdriver.string" value="MySQL 5.0.8"/>
        <property name="GTC.ready"         value="true"/>
    </target>
    <target name="init-testconfig" depends="init-default-testconfig" description="initialize to Eclipse build config details">
        <condition property="GTC.ready" value="true">
            <and>
                <isset property="host"/>
                <isset property="platform.string"/>
                <isset property="jvm.string"/>
                <isset property="junit.string"/>
                <isset property="dbplat.string"/>
                <isset property="jdbcdriver.string"/>
            </and>
        </condition>
        <echo message="host:              '${host}'"/>
        <echo message="platform.string:   '${platform.string}'"/>
        <echo message="jvm.string:        '${jvm.string}'"/>
        <echo message="junit.string:      '${junit.string}'"/>
        <echo message="dbplat.string:     '${dbplat.string}'"/>
        <echo message="jdbcdriver.string: '${jdbcdriver.string}'"/>
        <fail message="'generate-testconfig' cannot proceed. Missing configuration information." unless="GTC.ready"/>
    </target>
    <target name="generate-testconfig" if="GTC.ready" depends="init-testconfig" description="generate a 'TestConfig.html' file for test publishing">
        <echo message="&lt;html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en' dir='ltr'&gt;" file="${trunk.build.location}/TestConfig.html" append="false"/>
        <echo message="&lt;head&gt;&lt;title&gt;EclipseLink Project: '${host}' hosted Test Environment Details&lt;/title&gt;&lt;/head&gt;" file="${trunk.build.location}/TestConfig.html" append="false"/>
        <echo message="&lt;body&gt;&lt;h3&gt;EclipseLink Project: '${host}' hosted Test Environment Details&lt;/h3&gt;&lt;table&gt;" file="${trunk.build.location}/TestConfig.html" append="true"/>
        <echo message="&lt;tr&gt;&lt;td&gt;&lt;i&gt;Platform:&lt;/i&gt;&lt;/td&gt;&lt;td&gt; ${platform.string} &lt;/td&gt;&lt;/tr&gt;" file="${trunk.build.location}/TestConfig.html" append="true"/>
        <echo message="&lt;tr&gt;&lt;td&gt;&lt;i&gt;JVM:&lt;/i&gt;&lt;/td&gt;&lt;td&gt; ${jvm.string} &lt;/td&gt;&lt;/tr&gt;" file="${trunk.build.location}/TestConfig.html" append="true"/>
        <echo message="&lt;tr&gt;&lt;td&gt;&lt;i&gt;JUnit:&lt;/i&gt;&lt;/td&gt;&lt;td&gt; ${junit.string} &lt;/td&gt;&lt;/tr&gt;" file="${trunk.build.location}/TestConfig.html" append="true"/>
        <echo message="&lt;tr&gt;&lt;td&gt;&lt;i&gt;Db:&lt;/i&gt;&lt;/td&gt;&lt;td&gt; ${dbplat.string} &lt;/td&gt;&lt;/tr&gt;" file="${trunk.build.location}/TestConfig.html" append="true"/>
        <echo message="&lt;tr&gt;&lt;td&gt;&lt;i&gt;JDBC Driver:&lt;/i&gt;&lt;/td&gt;&lt;td&gt; ${jdbcdriver.string} &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;" file="${trunk.build.location}/TestConfig.html" append="true"/>
        <echo message="&lt;/body&gt;&lt;/html&gt;" file="${trunk.build.location}/TestConfig.html" append="true"/>
    </target>

    <!-- Packages the eclipselink.jar. -->
    <target name="package-eclipselink-jar" description="build EclipseLink jar">
        <delete file="${eclipselink.jar}"/>
        <echo message="Implementation-Version: ${version.string}"/>
        <mkdir dir="${eclipselink.jpa.plugins}/javax.persistence/${classes.dir}"/>
        <unzip src="${eclipselink.jpa.plugins}/${persistence20.jar}" dest="${eclipselink.jpa.plugins}/javax.persistence/${classes.dir}"/>
        <jar jarfile="${eclipselink.jar}" duplicate="preserve">
             <manifest>
                <attribute name="Specification-Title"    value="${eclipselink.specification.title}"/>
                <attribute name="Specification-Vendor"   value="${specification.vendor}"/>
                <attribute name="Specification-Version"  value="${release.version}"/>
                <attribute name="Implementation-Title"   value="${eclipselink.implementation.title}"/>
                <attribute name="Implementation-Vendor"  value="${implementation.vendor}"/>
                <attribute name="Implementation-Version" value="${version.string}"/>
                <attribute name="Release-Designation"    value="${release.designation}"/>
                <attribute name="Premain-Class"          value="${eclipselink.premain.class}"/>
                <attribute name="Main-Class"             value="${eclipselink.main.class}"/>
            </manifest>
            <zipgroupfileset dir="${eclipselink.plugins}">
                <include name="${asm}_${version.string}.jar"/>
                <include name="${antlr}_${version.string}.jar"/>
                <include name="org.eclipse.persistence*.jar"/>
                <exclude name="*source*.jar"/>
                <exclude name="*equinox*.jar"/>
            </zipgroupfileset>
            <!-- JPA 1.1/2.0 concurrent dev solution: New classes from javax.persistence 2.0 -->
            <fileset
                dir="${eclipselink.jpa.plugins}/javax.persistence/${classes.dir}"
                includes="
                    javax/persistence/Access.class,
                    javax/persistence/AccessType.class,
                    javax/persistence/Cache.class,
                    javax/persistence/Cacheable.class,
                    javax/persistence/CacheStoreMode.class,
                    javax/persistence/CacheRetrieveMode.class,
                    javax/persistence/LockModeType.class,
                    javax/persistence/LockTimeoutException.class,
                    javax/persistence/PessimisticLockException.class,
                    javax/persistence/PessimisticLockScope.class,
                    javax/persistence/NamedQuery.class,
                    javax/persistence/ElementCollection.class,
                    javax/persistence/CollectionTable.class,
                    javax/persistence/MapKey.class,
                    javax/persistence/MapKeyClass.class,
                    javax/persistence/MapKeyColumn.class,
                    javax/persistence/MapKeyEnumerated.class,
                    javax/persistence/MapKeyTemporal.class,
                    javax/persistence/OrderColumn.class,
                    javax/persistence/CaseExpression.class,
                    javax/persistence/Parameter.class,
                    javax/persistence/Aggregate.class,
                    javax/persistence/TrimSpec.class,
                    javax/persistence/CollectionTable.class,
                    javax/persistence/MapKeyJoinColumns.class,
                    javax/persistence/MapsId.class,
                    javax/persistence/MapKeyJoinColumn.class,
                    javax/persistence/DomainObject.class,
                    javax/persistence/Predicate.class,
                    javax/persistence/FetchJoinObject.class,
                    javax/persistence/OrderByItem.class,
                    javax/persistence/Expression.class,
                    javax/persistence/QueryDefinition.class,
                    javax/persistence/SelectItem.class,
                    javax/persistence/criteria/CriteriaBuilder.class,
                    javax/persistence/TypedQuery.class,
                    javax/persistence/ValidationMode.class,
                    javax/persistence/criteria/CriteriaBuilder$Trimspec.class,
                    javax/persistence/criteria/CriteriaBuilder$SimpleCase.class,
                    javax/persistence/criteria/CriteriaBuilder$Coalesce.class,
                    javax/persistence/criteria/CriteriaBuilder$In.class,
                    javax/persistence/criteria/CriteriaBuilder$Case.class,
                    javax/persistence/PredicateOperand.class,
                    javax/persistence/PathExpression.class,
                    javax/persistence/PersistenceUtil.class,
                    javax/persistence/PersistenceUnitUtil.class,
                    javax/persistence/Tuple.class,
                    javax/persistence/QueryTimeoutException.class,
                    javax/persistence/TupleElement.class,
                    javax/persistence/SharedCacheMode.class,
                    javax/persistence/spi/LoadState.class
                    javax/persistence/spi/ProviderUtil.class,
                    javax/persistence/metamodel/Attribute.class,
                    javax/persistence/metamodel/Type$PersistenceType.class,
                    javax/persistence/criteria/Predicate$BooleanOperator.class,
                    javax/persistence/metamodel/Attribute$PersistentAttributeType.class,
                    javax/persistence/metamodel/BasicType.class,
                    javax/persistence/metamodel/Bindable.class,
                    javax/persistence/metamodel/Bindable$BindableType.class,
                    javax/persistence/metamodel/CollectionAttribute.class,
                    javax/persistence/metamodel/EmbeddableType.class,
                    javax/persistence/metamodel/EntityType.class,
                    javax/persistence/metamodel/IdentifiableType.class,
                    javax/persistence/metamodel/ListAttribute.class,
                    javax/persistence/metamodel/ManagedType.class,
                    javax/persistence/metamodel/MapAttribute.class,
                    javax/persistence/metamodel/MappedSuperclassType.class,
                    javax/persistence/metamodel/Metamodel.class,
                    javax/persistence/metamodel/PluralAttribute.class,
                    javax/persistence/metamodel/PluralAttribute$CollectionType.class,
                    javax/persistence/metamodel/SetAttribute.class,
                    javax/persistence/metamodel/SingularAttribute.class,
                    javax/persistence/metamodel/StaticMetamodel.class,
                    javax/persistence/metamodel/Type.class,
                    javax/persistence/criteria/AbstractQuery.class,
                    javax/persistence/criteria/CollectionJoin.class,
                    javax/persistence/criteria/CriteriaQuery.class,
                    javax/persistence/criteria/Expression.class,
                    javax/persistence/criteria/Fetch.class,
                    javax/persistence/criteria/FetchParent.class,
                    javax/persistence/criteria/From.class,
                    javax/persistence/criteria/Join.class,
                    javax/persistence/criteria/JoinType.class,
                    javax/persistence/criteria/ListJoin.class,
                    javax/persistence/criteria/MapJoin.class,
                    javax/persistence/criteria/Order.class,
                    javax/persistnece/criteria/ParameterExpression,
                    javax/persistence/criteria/Path.class,
                    javax/persistence/criteria/PluralJoin.class,
                    javax/persistence/criteria/Predicate.class,
                    javax/persistence/criteria/Root.class,
                    javax/persistence/criteria/Selection.class,
                    javax/persistence/criteria/SetJoin.class,
                    javax/persistence/criteria/Subquery.class
            "/>
            <fileset
                dir="${eclipselink.moxy.dynamic}/${classes.dir}"
                includes="**/*.class,"/>
            <fileset
                dir="${eclipselink.util.jaxb}/${classes.dir}"
                includes="**/*.class,"/>
            <fileset
                dir="${eclipselink.util.jaxb}/${resource.dir}"
                includes="**/*.*,"/>
        </jar>
    </target>

    <target name="package-eclipselink-bundles">
        <delete file="${eclipselink.plugins.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <zip destfile="${eclipselink.plugins.install.prefix}${eclipselink.zip.suffix}">
            <zipfileset dir="${eclipselink.plugins}">
                <include name="**.jar"/>
                <exclude name="javax.persistence*1.0.0.jar"/>
                <exclude name="osgi.cmpn_4.1.0.jar"/>
                <exclude name="javax.ejb_3.0.0.jar"/>
                <exclude name="org.apache.ant_1.7.0.v20080627-1145.zip"/>
                <exclude name="com.sun*.jar"/>
                <exclude name="*dynamic*.jar"/>
            </zipfileset>
            <zipfileset dir=".">
                <include name="${about-file}"/>
                <include name="${readme-file}"/>
                <include name="${license-files}"/>
            </zipfileset>
            <zipfileset dir="${eclipselink.jpa.plugins}/" includes="javax.persistence*.jar" excludes="*preview*.jar"/>
            <zipfileset dir="${eclipselink.sdo.plugins}/" includes="commonj.sdo*2.1.1*.jar"/>
        </zip>
    </target>

    <!-- Packages the eclipselink source jar. -->
    <target name="package-src-jar" description="build EclipseLink source jar">
        <delete file="${eclipselink.src.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <jar jarfile="${eclipselink.src.install.prefix}${eclipselink.zip.suffix}" duplicate="preserve">
             <manifest>
                <attribute name="Specification-Title"    value="${eclipselink.specification.title} Source"/>
                <attribute name="Specification-Vendor"   value="${specification.vendor}"/>
                <attribute name="Specification-Version"  value="${release.version}"/>
                <attribute name="Implementation-Title"   value="${eclipselink.implementation.title}"/>
                <attribute name="Implementation-Vendor"  value="${implementation.vendor}"/>
                <attribute name="Implementation-Version" value="${version.string}"/>
                <attribute name="Release-Designation"    value="${release.designation}"/>
            </manifest>
            <zipgroupfileset dir="${eclipselink.plugins}">
                <include name="${asm}.source_${version.string}.jar"/>
                <include name="${antlr}.source_${version.string}.jar"/>
                <include name="org.eclipse.persistence*.source*.jar"/>
                <exclude name="*equinox*.jar"/>
            </zipgroupfileset>
        </jar>
    </target>

    <!-- Packages the eclipselink examples jar. -->
    <target name="package-example-jar" description="build EclipseLink Examples jar">
        <delete file="${eclipselink.example.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <jar jarfile="${eclipselink.example.install.prefix}${eclipselink.zip.suffix}" duplicate="preserve">
             <manifest>
                <attribute name="Specification-Title"    value="${eclipselink.specification.title} Source"/>
                <attribute name="Specification-Vendor"   value="${specification.vendor}"/>
                <attribute name="Specification-Version"  value="${release.version}"/>
                <attribute name="Implementation-Title"   value="${eclipselink.implementation.title}"/>
                <attribute name="Implementation-Vendor"  value="${implementation.vendor}"/>
                <attribute name="Implementation-Version" value="${version.string}"/>
                <attribute name="Release-Designation"    value="${release.designation}"/>
            </manifest>
            <zipfileset dir="examples" includes="**" excludes="**/.svn/**" prefix="examples_${release.version}" />
        </jar>
    </target>

    <!-- Packages the eclipselink JPA testing source jar. -->
    <target name="package-tst-src-zip" description="build EclipseLink JPA and SDO testing source jar">
        <delete file="${eclipselink.tst.src.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <!--   Cannot use ${eclipselink.extension.oracle.test} because autobuild   -->
        <!--          has to nullify it to keep from running Oracle tests          -->
        <zip zipfile="${eclipselink.tst.src.prefix}${eclipselink.zip.suffix}" duplicate="preserve">
            <zipfileset dir="${basedir}">
                <include name="build.xml"/>
                <include name="build.properties"/>
                <include name="${eclipselink.core.test}/**"/>
                <include name="${eclipselink.core.base}/eclipselink.extension.oracle.test/**"/>
                <include name="${eclipselink.jpa.test}/**"/>
                <include name="${eclipselink.moxy.test}/**"/>
                <include name="${eclipselink.sdo.test}/**"/>
                <include name="${eclipselink.sdo.base}/eclipselink.sdo.test.server/**"/>
                <include name="plugins/eclipselink-jpa-modelgen_*.jar"/>
                <include name="jpa/eclipselink.jpa.modelgen.test/**"/>
                <include name="jpa/plugins/javax.validation_*.jar"/>
                <include name="jpa/plugins/javax.persistence_2.*.jar"/>
                <include name="sdo/plugins/commonj.sdo_*.jar"/>
                <exclude name="**/.settings/**"/>
                <exclude name="**/eclipselink.moxy.test/moxy/**"/>
                <exclude name="**/eclipselink.sdo.test/sdo/**"/>
                <exclude name="**/build/**"/>
                <exclude name="**/classes/**"/>
                <exclude name="**/reports/**"/>
                <exclude name="**/report/**"/>
                <exclude name="**/run/**"/>
                <exclude name="**/*.test/*.jar"/>
                <exclude name="**/*src.zip"/>
                <exclude name="**/*.dmp"/>
            </zipfileset>
            <!-- Moxy has some packages that get filtered out... -->
            <zipfileset dir="${basedir}">
                <include name="${eclipselink.core.test}/src/org/eclipse/persistence/**/*.java"/>
            </zipfileset>
        </zip>
    </target>

    <!-- Generates the Javadocs for all public EclipseLink classes. -->
    <target name="build-javadocs">
        <!-- the following property needs to be here because the "qualifier" is generated at runtime -->
        <property name="eclipselink.javadoc.title" value="${javadoc.prefixTitle}, build '${version.qualifier}' ${javadoc.postfixTitle}"/>
        <delete dir="${build.dir}/commonj.sdo" failonerror="false"/>
        <delete dir="${build.dir}/javax.xml.bind" failonerror="false"/>
        <delete dir="${eclipselink.javadocs}" failonerror="false"/>
        <unzip src="${eclipselink.sdo.plugins}/${commonj.sdo.src.zip}" dest="${build.dir}/commonj.sdo/src"/>
        <unzip src="${eclipselink.plugins}/${jaxb-api.src.jar}" dest="${build.dir}/javax.xml.bind/src"/>
        <javadoc
            maxmemory="384m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${eclipselink.javadocs}"
            useexternalfile="yes"
            additionalparam="-breakiterator -quiet"
            windowtitle="${eclipselink.javadoc.title}"
            >
            <classpath>
                <path refid="javadoc.path"/>
            </classpath>
            <tag name ="author" enabled="true" description="Author:" />
            <tag name ="since" scope="all" description="Since:" />
            <tag name ="SBGen" scope="all" description="SBGen:" />
            <tag name ="bug" enabled="true" description="Related Bugs:" />
            <doctitle><![CDATA[${eclipselink.javadoc.title}]]></doctitle>
            <header><![CDATA[${eclipselink.javadoc.title}]]></header>

            <!-- *** include Dependent APIs in Javadoc  *** -->
            <fileset dir="${jpa.prototype}/${src.dir}" defaultexcludes="yes">
                <include name="javax/persistence/**/*.java"/>
            </fileset>
            <fileset dir="${build.dir}/javax.xml.bind/src" defaultexcludes="yes">
                <include name="**/*.java"/>
            </fileset>
            <fileset dir="${build.dir}/commonj.sdo/src" defaultexcludes="yes">
                <include name="commonj/sdo/**/*.java"/>
            </fileset>
            <!-- *** EclipseLink modules *** -->
            <fileset dir="${eclipselink.core}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.dbws}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.jpa}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.moxy}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.sdo}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.util.rename}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
        </javadoc>
    </target>

    <!-- Packages javadoc into a zip. -->
    <target name="package-javadoc-zip" depends="build-javadocs" description="build EclipseLink javadoc zip">
        <delete file="${eclipselink.javadoc.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <zip destfile="${eclipselink.javadoc.install.prefix}${eclipselink.zip.suffix}">
            <!-- miscellaneous files -->
            <zipfileset dir="${eclipselink.javadocs}/"/>
        </zip>
    </target>

    <!-- Packages the installer zip. -->
    <target name="package-installer-zip" description="build EclipseLink installer zip - includes utils and javadocs">
        <delete file="${eclipselink.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <copy file="${eclipselink.plugins}/javax.persistence_unsigned_for_testing_1.0.0.jar" tofile="${build.dir}/javax.persistence_1.0.0.jar"/>
        <zip destfile="${eclipselink.install.prefix}${eclipselink.zip.suffix}">
            <!-- miscellaneous files -->
            <zipfileset dir="." prefix="eclipselink">
                <include name="${about-file}"/>
                <include name="${readme-file}"/>
                <include name="${license-files}"/>
                <include name="${eclipselink.javadoc.install.prefix}${eclipselink.zip.suffix}"/>
            </zipfileset>
            <!-- setenv and package-rename scripts -->
            <zipfileset dir="${eclipselink.core.bin}" prefix="eclipselink/bin" filemode="755">
                <include name="${setenv-scripts}"/>
            </zipfileset>
            <zipfileset dir="${eclipselink.util.rename}" prefix="eclipselink/utils/rename" filemode="755">
                <include name="${package-rename-scripts}"/>
            </zipfileset>

            <!-- jaxb-compiler scripts -->
            <zipfileset dir="${eclipselink.moxy.bin}" includes="${jaxb-compiler-scripts}" prefix="eclipselink/bin" filemode="755"/>
            <!-- sdo-compiler scripts -->
            <zipfileset dir="${eclipselink.sdo.bin}" includes="${sdo-compiler-scripts}" prefix="eclipselink/bin" filemode="755"/>
            <!-- package-rename.properties -->
            <zipfileset dir="./${eclipselink.util.rename.resource}" includes="${package-rename.properties}" fullpath="eclipselink/utils/rename/package-rename.properties"/>
            <!-- core XSD files -->
            <zipfileset dir="./${eclipselink.core.xsds}" includes="*.xsd" prefix="eclipselink/xsds"/>
            <!-- jpa XSD files -->
            <zipfileset dir="./${eclipselink.jpa.xsds}" includes="*1_0.xsd" prefix="eclipselink/xsds"/>
            <zipfileset dir="./${jpa.prototype.xsds}" includes="*2_0.xsd" prefix="eclipselink/xsds"/>
            <!-- moxy XSD files -->
            <zipfileset dir="./${eclipselink.moxy.xsds}" includes="*.xsd" prefix="eclipselink/xsds"/>
            <!-- dbws XSD files -->
            <zipfileset dir="./${eclipselink.dbws.xsds}" includes="*.xsd" prefix="eclipselink/xsds"/>
            <!-- core jar's and zips -->
            <zipfileset dir="." prefix="eclipselink/jlib">
                <include name="${eclipselink.jar}"/>
                <include name="${eclipselink.src.install.prefix}${eclipselink.zip.suffix}"/>
            </zipfileset>
            <zipfileset dir="./${eclipselink.util.rename}" prefix="eclipselink/utils/rename">
                <include name="${package-rename.jar}"/>
                <include name="readme.html"/>
            </zipfileset>
            <!-- modelgen processor jar -->
            <zipfileset dir="${eclipselink.plugins}/" includes="${modelgen.processor.jar}" prefix="eclipselink/jlib/jpa"/>
            <!-- jpa persistence jar -->
            <!-- zipfileset dir="${eclipselink.plugins}/" includes="${persistence10.jar}" prefix="eclipselink/jlib/jpa"/ -->
            <zipfileset dir="${build.dir}/" includes="javax.persistence_1.0.0.jar" prefix="eclipselink/jlib/jpa"/>
            <!-- jpa persistence 2.0 prototype jar -->
            <zipfileset dir="${eclipselink.jpa.plugins}/" includes="${persistence20.jar}" prefix="eclipselink/jlib/jpa"/>
            <!-- moxy jar's and zips -->
            <zipfileset dir="${eclipselink.plugins}/" prefix="eclipselink/jlib/moxy">
                <include name="${activation.jar}"/>
                <include name="${mail.jar}"/>
                <include name="${stax_api.jar}"/>
            </zipfileset>
            <!-- moxy jar's and zips -->
            <zipfileset dir="${eclipselink.plugins}" prefix="eclipselink/jlib/moxy">
                <include name="${jaxb-api.jar}"/>
                <include name="${jaxb-xjc.jar}"/>
                <include name="${jaxb-impl.jar}"/>
            </zipfileset>
            <!-- grab the sdo jar -->
            <zipfileset dir="${eclipselink.sdo.base}/${plugins.dir}/" includes="${commonj.sdo.jar}" prefix="eclipselink/jlib/sdo"/>
            <!-- grab the dbws util stuff -->
            <zipfileset dir="${eclipselink.util.dbws}"    includes="${dbws-util.jar}, setenv.*, dbwsbuilder.*" prefix="eclipselink/utils/dbws"/>
            <zipfileset dir="${eclipselink.util.plugins}" includes="${wsdl.jar}" prefix="eclipselink/utils/dbws"/>
            <zipfileset dir="${eclipselink.plugins}" includes="${servlet.jar}" prefix="eclipselink/utils/dbws"/>
            <!-- workbench jars -->
            <zipfileset dir="${eclipselink.util.workbench.lib}/mw/"  includes="elmwcore.jar, eclipselinkmw.jar" prefix="eclipselink/utils/workbench/jlib"/>
            <zipfileset dir="${eclipselink.util.workbench.lib}/compile/" includes="xercesImpl.jar" prefix="eclipselink/utils/workbench/jlib"/>
            <zipfileset dir="${eclipselink.util.workbench.lib}/run/" includes="connector.jar"      prefix="eclipselink/utils/workbench/jlib"/>
            <zipfileset dir="${eclipselink.util.workbench}/config/"  includes="*, platforms/*"     prefix="eclipselink/utils/workbench/config"/>
            <zipfileset dir="${eclipselink.util.workbench}"          includes="readme.html"        prefix="eclipselink/utils/workbench"/>
            <zipfileset dir="${eclipselink.util.workbench}/bin/"     includes="*"                  prefix="eclipselink/utils/workbench/bin" filemode="755"/>
        </zip>
    </target>

    <!-- Testing -->
    <target name="test-srg" description="run all the SRG test suites"
            depends="test-core-srg, test-jpa-srg, test-moxy-srg, test-sdo-srg, test-dbws-srg, test-dbws-utils-srg"
            />
    <target name="test-lrg" description="run all the LRG test suites"
            depends="test-core, test-jpa, test-wdf, test-moxy, test-sdo, test-dbws, test-dbws-utils"
            />

    <!-- Run core LRG. -->
    <target name="test-core" description="run the core tests">
        <ant antfile="build.xml" dir="${eclipselink.core.test}" target="test"/>
    </target>
     <target name="test-browser" description="run the core testing browser">
        <ant antfile="build.xml" dir="${eclipselink.core.test}" target="test-browser"/>
    </target>
    <!-- Run core SRG. -->
    <target name="test-core-srg" description="run the core srg tests">
        <ant antfile="build.xml" dir="${eclipselink.core.test}" target="test-srg"/>
    </target>
    <!-- Run Oracle Tests -->
    <target name="test-oracle" description="run all oracle specific tests">
        <ant antfile="build.xml" dir="${eclipselink.extension.oracle.test}"      target="test-oracle"/>
        <!-- ant antfile="build.xml" dir="${eclipselink.dbws.test.oracle}"       target="test-oracle"/ -->
        <!-- ant antfile="build.xml" dir="${eclipselink.utils.dbws.test.oracle}" target="test-oracle"/ -->
    </target>
    <!-- Run JPA LRG. -->
    <target name="test-jpa" description="run the jpa tests">
        <ant antfile="${eclipselink.jpa.test}/build.xml" target="test-lrg"/>
    </target>
    <!-- Run JPA SRG. -->
    <target name="test-jpa-srg" description="run the jpa srg tests">
        <ant antfile="${eclipselink.jpa.test}/build.xml" target="test-srg"/>
    </target>
    <!-- Run WDF suite -->
    <target name="build-wdf" description="build the WDF jpa tests">
        <ant antfile="build.xml" dir="${eclipselink.jpa.wdf.test}" target="build-against-jar"/>
    </target>
    <target name="test-wdf" description="run the WDF jpa tests">
        <ant antfile="build.xml" dir="${eclipselink.jpa.wdf.test}" target="test-against-jar"/>
    </target>
    <!-- Run JPA Spring. -->
    <target name="test-jpa-spring" description="run the jpa Spring tests">
        <ant dir="${eclipselink.jpa.spring.test}" antfile="build.xml" inheritAll="false" target="test-jpa-spring"/>
    </target>
    <!-- Run SDO & MOXY tests. -->
    <target name="test-sdo" description="run the sdo tests">
        <ant antfile="build.xml" dir="${eclipselink.sdo.test}" target="test-against-jar"/>
    </target>
    <target name="test-sdo-srg" description="run the sdo srg tests">
        <ant antfile="build.xml" dir="${eclipselink.sdo.test}" target="test-srg-against-jar"/>
    </target>
    <target name="test-moxy" description="run the moxy tests">
        <ant antfile="build.xml" dir="${eclipselink.moxy.test}" target="test-against-jar"/>
    </target>
    <target name="test-moxy-srg" description="run the moxy srg tests">
        <ant antfile="build.xml" dir="${eclipselink.moxy.test}" target="test-srg-against-jar"/>
    </target>
    <target name="test-oxm" description="run the moxy (oxm) tests">
        <ant antfile="build.xml" dir="${eclipselink.moxy.test}" target="test-oxm-against-jar"/>
    </target>
    <target name="test-jaxb" description="run the moxy (jaxb) tests">
        <ant antfile="build.xml" dir="${eclipselink.moxy.test}" target="test-jaxb-against-jar"/>
    </target>
    <target name="test-dbws" description="run the DBWS core tests"  unless="java_is_v5">
        <ant antfile="build.xml" dir="${eclipselink.dbws.test}" target="test"/>
    </target>
    <target name="test-dbws-srg" description="run the DBWS srg tests"  unless="java_is_v5">
        <ant antfile="build.xml" dir="${eclipselink.dbws.test}" target="test"/>
    </target>
    <target name="test-dbws-utils" description="run the DBWS utils tests"  unless="java_is_v5">
        <ant antfile="build.xml" dir="${eclipselink.util.dbws.test}" target="test"/>
    </target>
    <target name="test-dbws-utils-srg" description="run the DBWS utils srg tests"  unless="java_is_v5">
        <ant antfile="build.xml" dir="${eclipselink.util.dbws.test}" target="test"/>
    </target>

</project>
