<!--/*******************************************************************************
* Copyright (c) 1998, 2015 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 v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
*   Ant naming conventions:
*   - regardless of the actual OS platform,'/' is the directory separator
*     (Ant will convert as appropriate).
*   - multi-word properties use periods '.'
*     - properties ending in .jar define jarfile names only (no path)
*     - properties ending in .lib are fully qualified jars (path and filename)
*     - properties ending in .dir are directory paths
*     - properties ending in .path are path refid names (classpath fragments)
*   - multi-word targets use hyphens '-'
*     - targets beginning with test- are reserved for high level test targets,
*       and are used in test results parsing
*     - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip)
*   - multi-word macros use underscores '_'
*   - multi-word macro attributes are concatenated
*     e.g. 'runpathref'
*   - multi-word tasks (taskdef) names are concatenated
*     e.g. 'validateconnection'
*   - OS environment variables are in ALLCAPS and have 'env' as a prefix
*     e.g. ${env.XXX}.
*   - Ant properties are lower case.
*
* Contributors:
*     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.
*     tkraus - additional JDK, Ant and JDBC driver check, conditional Oracle extensions tests build
*     mvalovy - OSGi tests
#******************************************************************************/-->
<!-- =============================================================================
*  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
                            Oracle is included when Oracle JDBC driver is set and dependency chek passes
        - 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"/>
    <property file="${test.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}/antbuild.properties"/>

    <!-- Detect compatible version of Ant (>= 1.7.0). -->
    <condition property="compat.ant" value="true">
        <matches string="${ant.version}" pattern="1.(?:[7-9]|[1-9]\d)(?:.\d+)*.*"/>
    </condition>
    <echo message="Ant version detected: '${ant.version}'"/>
    <fail message="An non-compatible version of Ant was detected! Build won't run properly unless running at least 1.7.x of Ant!." unless="compat.ant"/>

    <!-- Detect compatible version of JDK (>= 1.8). -->
    <condition property="compat.jdk" value="true">
        <matches string="${java.version}" pattern="1.(?:[8-9]|[1-9]\d)(?:.\d+)*.*"/>
    </condition>
    <echo message="JDK version detected: '${java.version}'"/>
    <fail message="A non-compatible version of JDK was detected! Build won't run properly unless running on at least JDK 1.8!." unless="compat.jdk"/>

    <!-- JDBC driver settings info -->
    <condition property="msg.jdbc.driver.jar.configured" value="JDBC driver JAR: '${jdbc.driver.jar}'" else="JDBC driver JAR: jdbc.driver.jar property missing">
        <isset property="jdbc.driver.jar"/>
    </condition>
    <echo message="${msg.jdbc.driver.jar.configured}"/>

    <!-- controls which goals to invoke with maven (default is 'verify') -->
    <property name="maven.goals" value="verify"/>

    <!-- 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="git.hash"   value="NA"/>
    <condition property="version.qualifier" value="qualifier" else="v${build.date}-${git.hash}">
        <equals arg1="${git.hash}" arg2="NA"/>
    </condition>
    <property name="version.string"      value="${release.version}.${version.qualifier}"/>
    <property name="release.designation" value="EclipseLink DeveloperBuild"/>

    <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}/${jaxb-core.jar}"/>
        <pathelement path="${eclipselink.plugins}/${jaxb-xjc.jar}"/>
        <pathelement path="${eclipselink.jpa.plugins}/${persistence21.jar}"/>
        <pathelement path="${eclipselink.plugins}/${resource.jar}"/>
        <pathelement path="${eclipselink.plugins}/${json.jar}"/>
        <pathelement path="${eclipselink.plugins}/${javax.validation.jar}"/>
        <pathelement path="${eclipselink.plugins}/${ejb.jar}"/>
        <pathelement path="${eclipselink.plugins}/${jms.jar}"/>
        <pathelement path="${eclipselink.plugins}/${transaction.jar}"/>
        <pathelement path="${eclipselink.plugins}/${mail.jar}"/>
        <pathelement path="${eclipselink.plugins}/${wsrs.jar}"/>
        <pathelement path="${eclipselink.plugins}/org.eclipse.persistence.nosql_${version.string}.jar"/>
        <pathelement path="${eclipselink.plugins}/org.eclipse.persistence.extension_${version.string}.jar"/>
        <pathelement path="${extensions.depend.dir}/${jgroups.jar}"/>
        <pathelement path="${java.class.path}"/>
    </path>
    <path id="nosql.javadoc.path">
        <path refid="javadoc.path"/>
        <fileset
            dir="${eclipselink.plugins}"
            includes="*nosql*"
            excludes="*source*"/>
    </path>
    <path id="jpars.javadoc.path">
        <path refid="javadoc.path"/>
        <pathelement path="${eclipselink.plugins}/com.sun.jersey_1.8.0.201204181614.jar"/>
        <pathelement path="${eclipselink.plugins}/javax.ejb_3.1.0.v201205171433.jar"/>
    </path>

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

    <!-- Check oracle extension dependencies helper target -->
    <target name="check.oracle.dependencies">
        <!-- Locate libraries in oracle.extensions.depend.dir first and extensions.depend.dir second -->
        <condition property="file.ojdbc.jar" value="${oracle.extensions.depend.dir}/${ojdbc.jar}"
                                             else="${extensions.depend.dir}/${ojdbc.jar}">
            <available file="${oracle.extensions.depend.dir}/${ojdbc.jar}"/>
        </condition>
        <condition property="file.orai18n.jar" value="${oracle.extensions.depend.dir}/${orai18n.jar}"
                                             else="${extensions.depend.dir}/${orai18n.jar}">
            <available file="${oracle.extensions.depend.dir}/${orai18n.jar}"/>
        </condition>
        <condition property="file.orai18n-mapping.jar" value="${oracle.extensions.depend.dir}/${orai18n-mapping.jar}"
                                             else="${extensions.depend.dir}/${orai18n-mapping.jar}">
            <available file="${oracle.extensions.depend.dir}/${orai18n-mapping.jar}"/>
        </condition>
        <condition property="file.aqapi.jar" value="${oracle.extensions.depend.dir}/${aqapi.jar}"
                                              else="${extensions.depend.dir}/${aqapi.jar}">
            <available file="${oracle.extensions.depend.dir}/${aqapi.jar}"/>
        </condition>
        <condition property="file.sdoapi.jar" value="${oracle.extensions.depend.dir}/${sdoapi.jar}"
                                              else="${extensions.depend.dir}/${sdoapi.jar}">
            <available file="${oracle.extensions.depend.dir}/${sdoapi.jar}"/>
        </condition>
        <condition property="file.xdb.jar" value="${oracle.extensions.depend.dir}/${xdb.jar}"
                                           else="${extensions.depend.dir}/${xdb.jar}">
            <available file="${oracle.extensions.depend.dir}/${xdb.jar}"/>
        </condition>
        <condition property="file.xmlparser.jar" value="${oracle.extensions.depend.dir}/${xmlparser.jar}"
                                                 else="${extensions.depend.dir}/${xmlparser.jar}">
            <available file="${oracle.extensions.depend.dir}/${xmlparser.jar}"/>
        </condition>
        <condition property="file.ucp.jar" value="${oracle.extensions.depend.dir}/${ucp.jar}"
                                           else="${extensions.depend.dir}/${ucp.jar}">
            <available file="${oracle.extensions.depend.dir}/${ucp.jar}"/>
        </condition>
        <condition property="file.dms.jar" value="${oracle.extensions.depend.dir}/${dms.jar}"
                                           else="${extensions.depend.dir}/${dms.jar}">
            <available file="${oracle.extensions.depend.dir}/${dms.jar}"/>
        </condition>
        <condition property="file.kvclient.jar" value="${oracle.extensions.depend.dir}/${kvclient.jar}"
                                              else="${extensions.depend.dir}/${kvclient.jar}">
            <available file="${oracle.extensions.depend.dir}/${kvclient.jar}"/>
        </condition>
        <!-- Oracle libraries dependency check -->
        <condition property="is.ojdbc.jar">
            <available file="${file.ojdbc.jar}"/>
        </condition>
        <condition property="is.orai18n.jar">
            <available file="${file.orai18n.jar}"/>
        </condition>
        <condition property="is.orai18n-mapping.jar">
            <available file="${file.orai18n-mapping.jar}"/>
        </condition>
        <condition property="is.aqapi.jar">
            <available file="${file.aqapi.jar}"/>
        </condition>
        <condition property="is.sdoapi.jar">
            <available file="${file.sdoapi.jar}"/>
        </condition>
        <condition property="is.xdb.jar">
            <available file="${file.xdb.jar}"/>
        </condition>
        <condition property="is.xmlparser.jar">
            <available file="${file.xmlparser.jar}"/>
        </condition>
        <condition property="is.ucp.jar">
            <available file="${file.ucp.jar}"/>
        </condition>
        <condition property="is.dms.jar">
            <available file="${file.dms.jar}"/>
        </condition>
        <condition property="is.kvclient.jar">
            <available file="${file.kvclient.jar}"/>
        </condition>
        <!-- All checks evaluation -->
        <condition property="oracle.dependencies.available">
            <and>
                <isset property="is.ojdbc.jar"/>
                <isset property="is.orai18n.jar"/>
                <isset property="is.orai18n-mapping.jar"/>
                <isset property="is.aqapi.jar"/>
                <isset property="is.sdoapi.jar"/>
                <isset property="is.xdb.jar"/>
                <isset property="is.xmlparser.jar"/>
                <isset property="is.ucp.jar"/>
                <isset property="is.dms.jar"/>
                <isset property="is.kvclient.jar"/>
            </and>
        </condition>
        <!-- Check staus messages -->
        <condition property="msg.oracle.dependencies" value="Oracle DB dependencies check passed:" else="Oracle DB dependencies check failed:">
            <isset property="oracle.dependencies.available"/>
        </condition>
        <condition property="msg.ojdbc.jar"     value=" + ${file.ojdbc.jar} library found"     else=" - ${ojdbc.jar} library missing">
            <isset property="is.ojdbc.jar"/>
        </condition>
        <condition property="msg.orai18n.jar"   value=" + ${file.orai18n.jar} library found"   else=" - ${orai18n.jar} library missing">
            <isset property="is.orai18n.jar"/>
        </condition>
        <condition property="msg.orai18n-mapping.jar" value=" + ${file.orai18n-mapping.jar} library found" else=" - ${orai18n-mapping.jar} library missing">
            <isset property="is.orai18n-mapping.jar"/>
        </condition>
        <condition property="msg.sdoapi.jar"    value=" + ${file.sdoapi.jar} library found"    else=" - ${sdoapi.jar} library missing">
            <isset property="is.sdoapi.jar"/>
        </condition>
        <condition property="msg.aqapi.jar"     value=" + ${file.aqapi.jar} library found"     else=" - ${aqapi.jar} library missing">
            <isset property="is.aqapi.jar"/>
        </condition>
        <condition property="msg.xdb.jar"       value=" + ${file.xdb.jar} library found"       else=" - ${xdb.jar} library missing">
            <isset property="is.xdb.jar"/>
        </condition>
        <condition property="msg.xmlparser.jar" value=" + ${file.xmlparser.jar} library found" else=" - ${xmlparser.jar} library missing">
            <isset property="is.xmlparser.jar"/>
        </condition>
        <condition property="msg.ucp.jar"       value=" + ${file.ucp.jar} library found"       else=" - ${ucp.jar} library missing">
            <isset property="is.ucp.jar"/>
        </condition>
        <condition property="msg.dms.jar"       value=" + ${file.dms.jar} library found"       else=" - ${dms.jar} library missing">
            <isset property="is.dms.jar"/>
        </condition>
        <condition property="msg.kvclient.jar"  value=" + ${file.kvclient.jar} library found"  else=" - ${kvclient.jar} library missing">
            <isset property="is.kvclient.jar"/>
        </condition>
    </target>

    <!-- Check oracle DB driver class helper target -->
    <target name="check.oracle.db-driver.dependencies">
        <!-- Oracle DB driver class settings check (oracle.jdbc.OracleDriver is expected value) -->
        <condition property="oracle.db-driver.available">
            <contains string="${db.driver}" substring="oracle"/>
        </condition>
        <condition property="oracle.jdbc.dependencies.available">
            <and>
                <isset property="oracle.dependencies.available"/>
                <isset property="oracle.db-driver.available"/>
            </and>
        </condition>
    </target>

    <!-- Check oracle extension dependencies and print check status helper target -->
    <target name="oracle.dependencies" depends="check.oracle.dependencies">
        <echo message="${msg.oracle.dependencies}"/>
        <echo message="${msg.ojdbc.jar}"/>
        <echo message="${msg.orai18n.jar}"/>
        <echo message="${msg.orai18n-mapping.jar}"/>
        <echo message="${msg.aqapi.jar}"/>
        <echo message="${msg.sdoapi.jar}"/>
        <echo message="${msg.xdb.jar}"/>
        <echo message="${msg.xmlparser.jar}"/>
        <echo message="${msg.ucp.jar}"/>
        <echo message="${msg.dms.jar}"/>
        <echo message="${msg.kvclient.jar}"/>
    </target>

    <!-- Check oracle JDBC driver and extension dependencies and print check status helper target -->
    <target name="oracle.jdbc.dependencies" depends="check.oracle.dependencies, check.oracle.db-driver.dependencies">
        <condition property="msg.oracle.jdbc.dependencies"   value="Oracle DB driver and dependencies check passed:"  else="Oracle DB driver and dependencies check failed:">
            <isset property="oracle.jdbc.dependencies.available"/>
        </condition>
        <condition property="msg.jdbc.oracle"   value=" + Oracle DB driver configured"  else=" - Oracle DB driver not configured.">
            <isset property="oracle.db-driver.available"/>
        </condition>
        <echo message="${msg.oracle.jdbc.dependencies}"/>
        <echo message="${msg.jdbc.oracle}"/>
        <echo message="${msg.orai18n.jar}"/>
        <echo message="${msg.orai18n-mapping.jar}"/>
        <echo message="${msg.aqapi.jar}"/>
        <echo message="${msg.ojdbc.jar}"/>
        <echo message="${msg.sdoapi.jar}"/>
        <echo message="${msg.xdb.jar}"/>
        <echo message="${msg.xmlparser.jar}"/>
        <echo message="${msg.ucp.jar}"/>
        <echo message="${msg.dms.jar}"/>
        <echo message="${msg.kvclient.jar}"/>
    </target>

    <!-- Check oracle JDBC driver and extension dependencies. Fail when check did not passed. -->
    <target name="check-oracle-dependencies" depends="oracle.jdbc.dependencies">
        <fail message="Oracle DB dependencies missing. Check dependency libraries and oracle.extensions.depend.dir and extensions.depend.dir properties" unless="oracle.dependencies.available"/>
        <fail message="Oracle DB JDBC driver is missing. Check jdbc.driver.jar property." unless="oracle.db-driver.available"/>
    </target>

    <!-- *** 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-tst-src-zip, package-tst-jar-zip, package-javadoc-zip, package-installer-zip, package-eclipselink-nosql-install"/>

    <!-- 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, build-oracle-if-dependencies" description="build all EclipseLink distribution files except docs"/>

    <!-- Default ant target, compiles all components and tests, builds eclipselink.jar. -->
    <target name="build-no-test" depends="build-eclipselink-jar, build-util, package-all" 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, gen-wls-shared-lib"/>

    <!-- Compiles Oracle components, tests and extensions (excluding utilities). -->
    <target name="build-oracle"      depends="build-oracle-test"/> <!-- added for backward compatibility -->
    <target name="build-oracle-test" depends="build-oracle-extension-test, build-oracle-nosql-extension-test"/>
    <!-- Compiles Oracle components, tests and extensions (excluding utilities) if dependencies are available. -->
    <target name="build-oracle-if-dependencies" depends="oracle.jdbc.dependencies" if="oracle.jdbc.dependencies.available">
        <antcall target="build-oracle-test"/>
    </target>

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

<!-- ================================================================================= -->
    <!-- Needed for Maven/Tycho builds -->
    <target name="check-maven" description="Verify the Maven tool is installed and configured">
        <condition property="M2_HOME" value="${env.M2_HOME}"
                                      else="C:/apache-maven-3.0.3">
            <isset property="env.M2_HOME"/>
        </condition>
        <echo message="Maven install (M2_HOME) set to: '${M2_HOME}'"/>
        <available file="${M2_HOME}/bin/mvn" property="use.maven"/>
        <fail message="Maven 3 not found. Build won't run if Maven 3 not installed and M2_HOME properly set!." unless="use.maven"/>
    </target>

    <target name="set-compdeps" depends="check-maven" description="Setup for use of local compdeps rather than hosted, and whether to generate">
        <!-- Determine whether the build could generate/use a local compdeps repo -->
        <!--     To setup generation of local compdeps:                           -->
        <!--        Set "eclipse.install.dir" to a valid Eclipse installation     -->
        <!--           (Indigo or higher has been tested) by using a -D on        -->
        <!--           the commandline, or adding it in a user properties file    -->
        <!-- Test to see if local repo can be generated: tools exist                -->
        <condition property="local.compdeps" value="true" else="false">
            <and>
                <isset property="eclipse.install.dir"/>
                <available file="${eclipse.install.dir}/plugins" type="dir"/>
            </and>
        </condition>
        <!-- Test to see if local repo should be generated: if local set and if can -->
        <condition property="generate.compdeps">
                <equals arg1="${local.compdeps}" arg2="true"/>
        </condition>
        <echo message="Compdeps Settings:"/>
        <echo message="    Whether to use a local compdeps p2 repo:"/>
        <echo message="        local.compdeps: '${local.compdeps}'"/>
        <echo message="    Whether a local p2epo needs generating (only true if using local and repo not found):"/>
        <echo message="        generate.compdeps: '${generate.compdeps}'"/>
        <delete dir="${eclipselink.compdeps}/p2repo" failonerror="false"/>
    </target>

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

    <target name="clean-runtime" depends="generate-local-compdeps, 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">
        <!-- 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="${trunk.build.location}" includes="org.eclipse.persistence*.ear"/>
        </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" depends="clean-core">
        <ant antfile="antbuild.xml" dir="${eclipselink.modelgen}"               target="clean"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.dynamicxjc}"        target="clean"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.util.jaxb}"              target="clean"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder}"           target="clean"/>
        <!-- ant antfile="antbuild.xml" dir="${eclipselink.util.rename}"            target="clean"/ -->
        <ant antfile="antbuild.xml" dir="${eclipselink.util.sigcompare}"        target="clean"/>
        <ant antfile="build.xml"    dir="${eclipselink.util.workbench}"         target="clean"/>
        <delete file="*${eclipselink.zip.suffix}" failonerror="false"/>
    </target>
    <target name="clean-core" depends="check-maven" description="Clean the maven built runtime projects">
        <java dir="${eclipselink.mvn.parent}" 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="-Dlocal.compdeps=${local.compdeps}"/>
             <jvmarg value="-Declipselink.full=true"/>
             <arg value="clean"/>
             <classpath>
                <fileset dir="${M2_HOME}/boot">
                   <include name="plexus-classworlds-*.jar"/>
                </fileset>
             </classpath>
        </java>
        <delete>
            <fileset dir="${plugins.dir}">
                <include name="**/org.eclipse.persistence*.jar"/>
                <include name="**/eclipselink*.jar"/>
                <exclude name="**/org.eclipse.persistence.a*.jar"/>
                <exclude name="**/org.eclipse.persistence*oracle*.jar"/>
            </fileset>
        </delete>
    </target>

    <target name="clean-testing" description="Clean the testing projects">
        <ant antfile="antbuild.xml" dir="${eclipselink.core.test}"           target="clean"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.test}"            target="clean"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}"           target="clean"/>
        <ant antfile="antbuild.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"/>
        <antcall target="clean-oracle-if-dependencies"/>
    </target>

    <target name="clean-oracle"      depends="clean-oracle-test"/>
    <target name="clean-oracle-test" depends="clean-oracle-extension-test, clean-oracle-nosql-extension-test"/>
    <!-- Compiles Oracle components, tests and extensions (excluding utilities) if dependencies are available. -->
    <target name="clean-oracle-if-dependencies" depends="oracle.dependencies" if="oracle.dependencies.available">
        <antcall target="clean-oracle-test"/>
    </target>

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

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

    <target name="generate-local-compdeps" if="generate.compdeps" depends="set-compdeps" description="Build local p2 repository of local compiler dependencies">
        <!-- a bit redundant, but here as a failsafe. -->
        <available file="${eclipse.install.dir}/plugins" type="dir" property="eclipse.dir.exist"/>
        <fail message="Specified Eclipse installation (${eclipse.install.dir}/plugins) not found. Exiting..." unless="eclipse.dir.exist"/>
        <echo message="Generating local 'Compile Dependency P2 Repository' using tools found in '${eclipse.install.dir}/plugins'."/>
        <ant antfile="antbuild.xml" dir="${eclipselink.compdeps}"  target="build"/>
    </target>

    <!-- Compiles all runtime components (excluding Tests, Oracle extensions). -->
    <target name="build-core" depends="generate-local-compdeps, clean-runtime-checkedin">
        <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="    -DforceContextQualifier=${version.qualifier}"/>
        <echo message="    -Dlocal.compdeps=${local.compdeps}"/>
        <echo message="    -Declipselink.full=true"/>
        <echo message="    ${maven.goals}"/>
        <java dir="${eclipselink.mvn.parent}" 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="-Dbuild.qualifier=${version.qualifier}"/>
             <jvmarg value="-DforceContextQualifier=${version.qualifier}"/>
             <jvmarg value="-Dlocal.compdeps=${local.compdeps}"/>
             <jvmarg value="-Declipselink.full=true"/>
             <arg line="${maven.goals}"/>
             <classpath>
                <fileset dir="${M2_HOME}/boot">
                   <include name="plexus-classworlds-*.jar"/>
                </fileset>
             </classpath>
        </java>
        <!-- source jars generated with -sources in target dir - tycho P2 should name properly, but can't use due to dir structure -->
        <!-- Below not needed as long as parent post-processing with ant used to inject common html files -->
        <!-- copy todir="${plugins.dir}" flatten="true">
            <fileset dir="target">
                <include name="**/*-sources.jar"/>
            </fileset>
            <mapper type="glob" from="*-sources.jar" to="*.jar"/>
        </copy -->
        <copy todir="${plugins.dir}" flatten="true">
            <fileset dir="target">
                <include name="**/org.eclipse.persistence*.jar"/>
                <exclude name="**/*-sources.jar"/>
                <exclude name="**/*parent*.jar"/>
            </fileset>
        </copy>
        <!-- build rest of core -->
        <ant antfile="antbuild.xml" dir="${eclipselink.modelgen}"               target="build"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.dynamicxjc}"        target="build"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.util.jaxb}"              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.
    *   REMOVE???? all these jars now built with Maven... to remove antbuild.xml files this will need
    *        to go as well.
    * -->
    <target name="dev-package-bundles" depends="clean-runtime-checkedin">
        <ant antfile="antbuild.xml" dir="${eclipselink.hermes}"           target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.core}"             target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws}"             target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa}"              target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy}"             target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.sdo}"              target="jar"/>

        <ant antfile="antbuild.xml" dir="${eclipselink.extension.oracle}" target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.extension.nosql}"  target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.extension.oracle.nosql}" target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.modelgen}"         target="jar"/>
    </target>

    <!-- Compiles all utils components. -->
    <target name="build-util" depends="build-dbws-utils">
        <ant antfile="antbuild.xml" dir="${eclipselink.util.sigcompare}"  target="build"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.util.rename}"      target="build"/>
        <ant antfile="build.xml"    dir="${eclipselink.util.workbench}"   target="all"/>
    </target>

    <target name="build-dbws-utils" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder}"     target="build"/>
    </target>

    <!-- Oracle extensions Targets -->
    <target name="clean-oracle-extension" depends="generate-oracle-p2, generate-local-compdeps" description="Clean the maven built oracle projects">
        <!-- === Which extensions 'clean' is based on ${oracle.target} === -->
        <!--  oracle.target = oracle.ext:   build oracle extension         -->
        <!--                = oracle.nosql: build oracle nosql extension   -->
        <!--                = oracle:       build both                     -->
        <java dir="${eclipselink.mvn.parent}" 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="-Dlocal.compdeps=${local.compdeps}"/>
             <jvmarg value="-D${oracle.target}=true"/>
             <jvmarg value="-Doracle.p2.url=${oracle.p2.url}"/>
             <arg value="clean"/>
             <classpath>
                <fileset dir="${M2_HOME}/boot">
                   <include name="plexus-classworlds-*.jar"/>
                </fileset>
             </classpath>
        </java>
        <delete>
            <fileset dir="${plugins.dir}">
                <include name="**/org.eclipse.persistence.oracle*.jar"/>
            </fileset>
        </delete>
    </target>

    <target name="build-oracle-extension" depends="generate-oracle-p2, generate-local-compdeps, clean-runtime-checkedin">
        <!-- === Which extensions 'build' is based on ${oracle.target} === -->
        <!--  oracle.target = oracle.ext:   build oracle extension         -->
        <!--                = oracle.nosql: build oracle nosql extension   -->
        <!--                = oracle:       build both                     -->
        <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="    -DforceContextQualifier=${version.qualifier}"/>
        <echo message="    -Dlocal.compdeps=${local.compdeps}"/>
        <echo message="    -D${oracle.target}=true"/>
        <echo message="    -Doracle.p2.url=${oracle.p2.url}"/>
        <echo message="    ${maven.goals}"/>
        <java dir="${eclipselink.mvn.parent}" 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="-Dbuild.qualifier=${version.qualifier}"/>
             <jvmarg value="-DforceContextQualifier=${version.qualifier}"/>
             <jvmarg value="-Dlocal.compdeps=${local.compdeps}"/>
             <jvmarg value="-D${oracle.target}=true"/>
             <jvmarg value="-Doracle.p2.url=${oracle.p2.url}"/>
             <arg line="${maven.goals}"/>
             <classpath>
                <fileset dir="${M2_HOME}/boot">
                   <include name="plexus-classworlds-*.jar"/>
                </fileset>
             </classpath>
        </java>
        <!-- source jars generated with -sources in target dir - tycho P2 should name properly, but can't use due to dir structure -->
        <copy todir="${plugins.dir}" flatten="true">
            <fileset dir="target">
                <include name="**/org.eclipse.persistence*.jar"/>
                <exclude name="**/*-sources.jar"/>
                <exclude name="**/*parent*.jar"/>
            </fileset>
        </copy>
    </target>

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

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

    <!-- Compiles tests (excluding workbench, dbws-util and Oracle extensions). -->
    <target name="build-core-test">
        <ant antfile="antbuild.xml" dir="${eclipselink.core.test}"    target="build"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.test}"     target="build"/>
        <!-- ant antfile="${eclipselink.jpa.test}/antbuild.xml"                    target="all"/ -->
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.wdf.test}" target="build-against-jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.jpars.test}"   target="build"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}"    target="compile-tests-against-jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.sdo.test}"     target="compile-sdo-tests-against-jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.test}"    target="build"/>
    </target>

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

    <!-- Compiles all util tests -->
    <target name="build-util-test"  depends="build-workbench-test, build-dbws-utils-test"/>

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

    <target name="build-dbws-utils-test" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder.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}"/>
        <delete dir="${build.dir}/javax.persistence/${classes.dir}" failonerror="false"/>
        <mkdir dir="${build.dir}/javax.persistence/${classes.dir}"/>
        <unzip src="${eclipselink.jpa.plugins}/${persistence21.jar}" dest="${build.dir}/javax.persistence/${classes.dir}"/>
        <mkdir dir="${build.dir}/hermes/${classes.dir}"/>
        <unzip src="${eclipselink.plugins}/org.eclipse.persistence.jpa.jpql_${version.string}.jar" dest="${build.dir}/hermes/${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>
            <!-- Include license files first to ensure the right ones are included -->
            <fileset dir=".">
                <include name="${about-file}"/>
                <include name="${readme-file}"/>
                <include name="${license-files}"/>
            </fileset>
            <!-- Include all non-duplicate content from bOSGi bundles -->
            <zipgroupfileset dir="${eclipselink.plugins}">
                <include name="org.eclipse.persistence*${version.string}.jar"/>
                <include name="org.eclipse.persistence.asm*.jar"/>
                <include name="org.eclipse.persistence.antlr*.jar"/>
                <include name="org.eclipse.persistence.oracle_*.jar"/>
                <exclude name="*.jpa.jpql*.jar"/>
                <exclude name="*source*.jar"/>
                <exclude name="*modelgen*.jar"/>
                <exclude name="*equinox*.jar"/>
                <exclude name="*builder*.jar"/>
                <exclude name="*jpars*.jar"/>
                <exclude name="*nosql*.jar"/>
                <exclude name="*extension*.jar"/>
            </zipgroupfileset>
            <!-- Include hermes runtime Only -->
            <fileset dir="${build.dir}/hermes/${classes.dir}">
                <include name="**/*"/>
                <exclude name="**/tools*/**"/>
            </fileset>
            <!-- Include Moxy Dynamicxjc classes -->
            <fileset
                dir="${eclipselink.moxy.dynamicxjc}/${classes.dir}"
                includes="**/*.class,"/>
            <!-- Include necessary JAXB classes -->
            <fileset
                dir="${eclipselink.util.jaxb}/${classes.dir}"
                includes="**/*.class,"/>
            <!-- JPA 2.0/2.1 concurrent dev solution: New classes from javax.persistence 2.0 & 2.1 -->
            <fileset
                dir="${build.dir}/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,
                    javax/persistence/ConstructorResult.class,
                    javax/persistence/NamedStoredProcedureQueries.class,
                    javax/persistence/NamedStoredProcedureQuery.class,
                    javax/persistence/ParameterMode.class,
                    javax/persistence/StoredProcedureParameter.class,
                    javax/persistence/StoredProcedureQuery.class,
                    javax/persistence/SynchronizationType.class,
                    javax/persistence/AttributeConverter.class,
                    javax/persistence/ConstraintMode.class,
                    javax/persistence/Convert.class,
                    javax/persistence/Converter.class,
                    javax/persistence/Converts.class,
                    javax/persistence/ForeignKey.class,
                    javax/persistence/Index.class,
                    javax/persistence/AttributeNode.class,
                    javax/persistence/EntityGraph.class,
                    javax/persistence/Subgraph.class,
                    javax/persistence/NamedAttributeNode.class,
                    javax/persistence/NamedEntityGraph.class,
                    javax/persistence/NamedEntityGraphs.class,
                    javax/persistence/NamedSubgraph.class,
                    javax/persistence/criteria/CommonAbstractQuery.class,
                    javax/persistence/criteria/CriteriaDelete.class,
                    javax/persistence/criteria/CriteriaUpdate.class,
                    javax/persistence/criteria/CommonAbstractCriteria.class
            "/>
        </jar>
    </target>

    <target name="verify-eclipselink-jar-packaging">
        <property name="custom.tasks.lib" value="${trunk.build.location}/buildsystem/ant_customizations.jar"/>
        <property name="custom.echo.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.Say"/>
        <taskdef name="say" classname="${custom.echo.task.class}" classpath="${custom.tasks.lib}"/>
            <resourcecount property="count">
                <zipentry archive="${eclipselink.jar}" name="*"/>
            </resourcecount>
        <echo message="count='${count}'"/>
        <condition property="eclipselink.src.exist">
             <not>
                 <equals arg1="${count}" arg2="0"/>
             </not>
        </condition>
        <say message="EclipseLink jar verified! '${eclipselink.src.exist}'" unless="eclipselink.src.exist"/>
        <say message="Source exists in EclipseLink jarfile! ${eclipselink.src.exist}" if="eclipselink.src.exist"/>
    </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}">
            <!-- Include license files first to ensure the right ones are included -->
            <zipfileset dir=".">
                <include name="${about-file}"/>
                <include name="${readme-file}"/>
                <include name="${license-files}"/>
            </zipfileset>
            <zipfileset dir="${eclipselink.plugins}">
                <include name="**.jar"/>
                <exclude name="javax.persistence*.jar"/>
                <exclude name="*nosql*"/>
                <exclude name="osgi.cmpn_4.1.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="${eclipselink.jpa.plugins}/" includes="javax.persistence*_2.1*.jar" excludes="*preview*.jar"/>
            <zipfileset dir="${eclipselink.sdo.plugins}/" includes="commonj.sdo*2.1.1*.jar"/>
            <zipfileset dir="${eclipselink.util.plugins}/">
                <include name="javax.wsdl*.jar"/>
                <include name="org.eclipse.persistence*oracleddl*.jar"/>
            </zipfileset>
        </zip>
    </target>

    <target name="gen-wls-shared-lib" description="call out to build a shared lib for WLS using the current build">
        <ant antfile="sharedlib.xml"    dir="."   target="create-shared-lib-install"/>
    </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>
            <!-- Include license files first to ensure the right ones are included -->
            <zipfileset dir=".">
                <include name="${about-file}"/>
                <include name="${readme-file}"/>
                <include name="${license-files}"/>
            </zipfileset>
            <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"/>
                <include name="eclipselink-moxy-dynamicxjc.source*.jar"/>
                <exclude name="*equinox*.jar"/>
                <exclude name="*builder*.jar"/>
                <exclude name="*jpars*.jar"/>
                <exclude name="*nosql*.jar"/>
            </zipgroupfileset>
        </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="buildsystem/*custom*jar"/>
                <include name="${eclipselink.core.test}/**"/>
                <include name="${eclipselink.core.base}/eclipselink.extension.oracle.test/**"/>
                <include name="${eclipselink.core.base}/eclipselink.extension.nosql.test/**"/>
                <include name="${eclipselink.core.base}/eclipselink.extension.oracle.nosql.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="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>

    <!-- Packages the eclipselink JPA testing jars. -->
    <target name="package-tst-jar-zip" description="build EclipseLink JPA and SDO testing source jar">
        <delete file="${eclipselink.tst.jar.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <zip zipfile="${eclipselink.tst.jar.prefix}${eclipselink.zip.suffix}" duplicate="preserve">
            <zipfileset dir="${basedir}">
                <include name="${eclipselink.core.test}/${coretest.framework.jar}"/>
                <include name="${eclipselink.core.test}/eclipselink-core-tests.jar"/>
                <include name="${eclipselink.jpa.test}/${jpatest.framework.jar}"/>
                <include name="${eclipselink.jpa.test}/eclipselink-jpa-tests.jar"/>
                <include name="${eclipselink.jpa.test}/eclipselink-annotation-model.jar"/>
                <include name="${eclipselink.jpa.test}/eclipselink-xml-merge-model.jar"/>
                <include name="${eclipselink.jpa.test}/eclipselink-xml-only-model.jar"/>
            </zipfileset>
        </zip>
    </target>

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

    <target name="build-unified-javadocs" depends="check-oracle-dependencies, build-sdo-javadocs">
        <path id="unified.javadoc.path">
            <path refid="javadoc.path"/>
            <path refid="nosql.javadoc.path"/>
            <path refid="jpars.javadoc.path"/>
            <pathelement path="${ojdbc.lib}"/>
            <pathelement path="${sdoapi.lib}"/>
            <pathelement path="${xdb.lib}"/>
            <pathelement path="${xmlparser.lib}"/>
            <pathelement path="${ucp.lib}"/>
            <pathelement path="${dms.lib}"/>
        </path>
        <!-- the following property needs to be here because the "qualifier" is generated at runtime -->
        <property name="eclipselink.javadoc.title" value="${javadoc.prefixTitle}, ${javadoc.postfixTitle}"/>
        <delete dir="${build.dir}/javax.xml.bind" failonerror="false"/>
        <delete dir="${unified.javadocs}" failonerror="false"/>
        <unzip src="${eclipselink.jpa.plugins}/${persistence21.src.jar}" dest="${build.dir}/jpa21/src"/>
        <unzip src="${eclipselink.plugins}/${jaxb-api.src.jar}" dest="${build.dir}/javax.xml.bind/src"/>
        <javadoc
            maxmemory="768m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${unified.javadocs}"
            useexternalfile="yes"
            additionalparam="${javadoc.additionParams} ${javadoc.xdoclint}"
            windowtitle="${eclipselink.javadoc.title}"
            failonerror="true"
            >
            <classpath>
                <path refid="unified.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="${build.dir}/jpa21/src" defaultexcludes="yes">
                <include name="javax/persistence/**/*.java"/>
            </fileset>
            <fileset dir="${build.dir}/javax.xml.bind/src" defaultexcludes="yes">
                <include name="**/*.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.extension.oracle}/${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.hermes}/${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.moxy.dynamicxjc}/${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>
            <!-- *** NoSQL modules *** -->
            <fileset dir="${eclipselink.extension.nosql}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.extension.oracle.nosql}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <!-- *** JPA-RS modules *** -->
            <fileset dir="${eclipselink.jpars}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
        </javadoc>
    </target>

    <target name="build-javadocs" depends="build-main-javadocs,build-nosql-javadocs,build-jpars-javadocs"/>

    <target name="build-sdo-javadocs">
        <!-- the following property needs to be here because the "qualifier" is generated at runtime -->
        <property name="eclipselink.javadoc.title" value="${javadoc.prefixTitle}, ${javadoc.postfixTitle}"/>
        <delete dir="${build.dir}/commonj.sdo" failonerror="false"/>
        <delete dir="${sdo.javadocs}" failonerror="false"/>
        <unzip src="${eclipselink.sdo.plugins}/${commonj.sdo.src.zip}" dest="${build.dir}/commonj.sdo/src"/>
        <!-- explicitly disabled javadoc checks here -->
        <javadoc
                maxmemory="768m"
                Verbose="false"
                packagenames="org.eclipse.persistence.**"
                destdir="${sdo.javadocs}"
                useexternalfile="yes"
                additionalparam="-Xdoclint:none ${javadoc.additionParams}"
                windowtitle="${eclipselink.javadoc.title}"
                failonerror="true"
                >
            <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>

            <fileset dir="${build.dir}/commonj.sdo/src" defaultexcludes="yes">
                <include name="commonj/sdo/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.sdo}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
        </javadoc>
    </target>

    <!-- Generates the Javadocs for all public EclipseLink classes. -->
    <target name="build-main-javadocs" depends="build-sdo-javadocs">
        <!-- the following property needs to be here because the "qualifier" is generated at runtime -->
        <property name="eclipselink.javadoc.title" value="${javadoc.prefixTitle}, ${javadoc.postfixTitle}"/>
        <delete dir="${build.dir}/javax.xml.bind" failonerror="false"/>
        <delete dir="${eclipselink.javadocs}" failonerror="false"/>
        <unzip src="${eclipselink.jpa.plugins}/${persistence21.src.jar}" dest="${build.dir}/jpa21/src"/>
        <unzip src="${eclipselink.plugins}/${jaxb-api.src.jar}" dest="${build.dir}/javax.xml.bind/src"/>
        <javadoc
            maxmemory="768m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${eclipselink.javadocs}"
            useexternalfile="yes"
            additionalparam="${javadoc.additionParams} ${javadoc.xdoclint}"
            windowtitle="${eclipselink.javadoc.title}"
            failonerror="true"
            >
            <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="${build.dir}/jpa21/src" defaultexcludes="yes">
                <include name="javax/persistence/**/*.java"/>
            </fileset>
            <fileset dir="${build.dir}/javax.xml.bind/src" defaultexcludes="yes">
                <include name="**/*.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>
            <!-- Causes Javadoc error -->
            <!-- fileset dir="${eclipselink.extension.oracle}/${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.hermes}/${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.moxy.dynamicxjc}/${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>

    <target name="build-nosql-javadocs">
        <!-- the following property needs to be here because the "qualifier" is generated at runtime -->
        <property name="nosql.javadoc.title" value="${nosql.javadoc.prefixTitle}, build '${version.qualifier}' ${javadoc.postfixTitle}"/>
        <delete dir="${nosql.javadocs}" failonerror="false"/>
        <javadoc
            maxmemory="768m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${nosql.javadocs}"
            useexternalfile="yes"
            additionalparam="${javadoc.additionParams}"
            windowtitle="${nosql.javadoc.title}"
            >
            <classpath>
                <path refid="nosql.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[${nosql.javadoc.title}]]></doctitle>
            <header><![CDATA[${nosql.javadoc.title}]]></header>

            <!-- *** EclipseLink modules *** -->
            <fileset dir="${eclipselink.extension.nosql}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.extension.oracle.nosql}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
        </javadoc>
    </target>

    <target name="build-jpars-javadocs">
        <!-- the following property needs to be here because the "qualifier" is generated at runtime -->
        <property name="jpars.javadoc.title" value="${jpars.javadoc.prefixTitle}, build '${version.qualifier}' ${javadoc.postfixTitle}"/>
        <delete dir="${jpars.javadocs}" failonerror="false"/>
        <javadoc
            maxmemory="768m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${jpars.javadocs}"
            useexternalfile="yes"
            additionalparam="${javadoc.additionParams}"
            windowtitle="${jpars.javadoc.title}"
            >
            <classpath>
                <path refid="jpars.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[${jpars.javadoc.title}]]></doctitle>
            <header><![CDATA[${jpars.javadoc.title}]]></header>

            <!-- *** EclipseLink modules *** -->
            <fileset dir="${eclipselink.jpars}/${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>
        <delete file="${nosql.javadoc.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <zip destfile="${nosql.javadoc.install.prefix}${eclipselink.zip.suffix}">
            <!-- miscellaneous files -->
            <zipfileset dir="${nosql.javadocs}/"/>
        </zip>
        <delete file="${jpars.javadoc.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <zip destfile="${jpars.javadoc.install.prefix}${eclipselink.zip.suffix}">
            <!-- miscellaneous files -->
            <zipfileset dir="${jpars.javadocs}/"/>
        </zip>
        <delete file="${sdo.javadoc.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <zip destfile="${sdo.javadoc.install.prefix}${eclipselink.zip.suffix}">
            <!-- miscellaneous files -->
            <zipfileset dir="${sdo.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}/org.eclipse.persistence.dbws.builder_${version.string}.jar" tofile="${build.dir}/${dbws-util.jar}"/>
        <unzip src="${eclipselink.jpa.plugins}/${persistence21.src.jar}" dest="${build.dir}/jpa21/src"/>
        <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}"/>
                <include name="${jpars.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="eclipselink*.xsd" prefix="eclipselink/xsds"/>
            <zipfileset dir="${build.dir}/jpa21/src/javax/persistence" includes="*.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>
            <!-- extension jar -->
            <zipfileset dir="${eclipselink.plugins}/" includes="${eclipselink.extension.prefix}_${version.string}.jar, ${eclipselink.extension.prefix}.source_${version.string}.jar" prefix="eclipselink/jlib/extension"/>
            <!-- modelgen processor jar -->
            <zipfileset dir="${eclipselink.plugins}/" includes="${eclipselink.modelgen.prefix}_${version.string}.jar, ${eclipselink.modelgen.prefix}.source_${version.string}.jar" prefix="eclipselink/jlib/jpa"/>
            <!-- jpa persistence 2.1 jars -->
            <zipfileset dir="${eclipselink.jpa.plugins}/" includes="${persistence21.jar}, ${persistence21.src.jar}" prefix="eclipselink/jlib/jpa"/>
            <!-- JPA RS jar -->
            <zipfileset dir="${eclipselink.plugins}/" includes="org.eclipse.persistence.jpars_*.jar, org.eclipse.persistence.jpars.source*.jar" prefix="eclipselink/jlib/jpa"/>
            <!-- moxy jar's and zips -->
            <zipfileset dir="${eclipselink.plugins}/" prefix="eclipselink/jlib/moxy">
                <include name="${mail.jar}"/>
                <include name="${jaxb-core.jar}"/>
                <include name="${jaxb-xjc.jar}"/>
                <include name="${javax.validation.jar}"/>
                <include name="${json.jar}"/>
            </zipfileset>
            <zipfileset dir="${eclipselink.plugins}/" prefix="eclipselink/jlib/moxy/api">
                <include name="${jaxb-api.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="${build.dir}/"               includes="${dbws-util.jar}"             prefix="eclipselink/utils/dbws"/>
            <zipfileset dir="${eclipselink.dbws.builder}" includes="setenv.*, dbwsbuilder.*"      prefix="eclipselink/utils/dbws" filemode="755"/>
            <zipfileset dir="${eclipselink.util.plugins}" includes="${wsdl.jar}, *oracleddl*.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>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}" target="test-package-installer-zip" >
            <property name="eclipselink.zip.file" value="${eclipselink.install.prefix}${eclipselink.zip.suffix}"/>
        </ant>
    </target>

    <target name="package-eclipselink-nosql-install">
        <delete file="${eclipselink.nosql.install.prefix}${eclipselink.zip.suffix}" failonerror="false"/>
        <zip destfile="${eclipselink.nosql.install.prefix}${eclipselink.zip.suffix}">
            <zipfileset dir=".">
                <include name="${about-file}"/>
                <include name="${readme-file}"/>
                <include name="${license-files}"/>
                <include name="${nosql.javadoc.install.prefix}${eclipselink.zip.suffix}"/>
            </zipfileset>
            <zipfileset dir="${eclipselink.plugins}">
                <include name="*nosql*"/>
                <include name="javax.resource*.jar"/>
            </zipfileset>
        </zip>
    </target>

    <!-- Build Infrastructure targets -->
    <target name="refresh-plugins" description="populate plugins with dependent jars from specified Orbit repository">
        <ant antfile="antbuild.xml" dir="${eclipselink.bldplugins}"  target="build"/>
    </target>

    <target name="check-oracle-p2" depends="check-maven" description="Setup for use of local oracle p2, and whether to generate">
        <property name="oracle.p2.dir"       value="${trunk.build.location}/${eclipselink.oraclelibs}/p2repo"/>
        <property name="oracle.p2.url"       value="file:/${oracle.p2.dir}"/>
        <!-- Test to see if local oracle repo should be generated: if not exist   -->
        <condition property="generate.oracle.p2">
            <not>
                <available file="${oracle.p2.dir}" type="dir"/>
            </not>
        </condition>
        <echo message="Oracle Build Settings:"/>
        <echo message="    oracle.p2.dir: ''"/>
        <echo message="    oracle.p2.url: ''"/>
        <echo message="  Generate a local Oracle p2 repo?"/>
        <echo message="        generate.oracle.p2: '${generate.oracle.p2}' (undefined = false)"/>
    </target>

    <target name="generate-oracle-p2" if="generate.oracle.p2" depends="check-oracle-p2" description="Build local p2 repository of local compiler dependencies">
        <!-- a bit redundant, but here as a failsafe. -->
        <available file="${eclipse.install.dir}/plugins" type="dir" property="eclipse.dir.exist"/>
        <fail message="Eclipse installation (${eclipse.install.dir}/plugins) not found. Cannot generate P2 repo. Exiting..." unless="eclipse.dir.exist"/>
        <echo message="Generating local 'Oracle Dependency P2 Repository' using tools found in '${eclipse.install.dir}/plugins'."/>
        <ant antfile="antbuild.xml" dir="${eclipselink.oraclelibs}"  target="build"/>
    </target>


    <!-- Testing -->
    <target name="test-srg" description="run all the SRG test suites"
            depends="clear-db, test-core-srg, test-jpa21-srg, test-jpars, test-moxy-srg, test-sdo-srg, test-dbws-srg, test-dbws-builder-srg, generate-report"
            />
    <target name="test-lrg" description="run all the LRG test suites"
            depends="clear-db, test-core, test-jpa21, test-wdf, test-jpars, test-moxy, test-sdo, test-dbws, test-dbws-builder, test-osgi, generate-report"
            />

    <!-- Run clear-db -->
    <target name="clear-db" description="run the core tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.core.test}" target="clear-database"/>
    </target>
    <!-- Run core LRG. -->
    <target name="test-core" description="run the core tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.core.test}" target="test"/>
    </target>
     <target name="test-browser" description="run the core testing browser">
        <ant antfile="antbuild.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="antbuild.xml" dir="${eclipselink.core.test}" target="test-srg"/>
    </target>
    <!-- Run Oracle Tests -->
    <target name="test-oracle" description="run all oracle specific tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.extension.oracle.test}"        target="test-oracle"/>
        <!-- ant antfile="antbuild.xml" dir="${eclipselink.dbws.test.oracle}"         target="test-oracle"/ -->
        <!-- ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder.test.oracle}" target="test-oracle"/ -->
    </target>
    <!-- Run nosql Tests -->
    <target name="test-nosql" description="run all nosql specific tests">
        <!-- No Mongodb installed on nightly build machine. Test execution won't work.  -->
        <!-- ant antfile="antbuild.xml" dir="${eclipselink.extension.nosql.test}"      target="test"/ -->
    </target>
    <!-- Run JPA LRG. -->
    <target name="test-jpa" description="run the jpa tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.test}" target="test-lrg"/>
    </target>
    <target name="test-jpa21" description="run the jpa tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.test}" target="test-lrg21"/>
    </target>
    <!-- Run JPA SRG. -->
    <target name="test-jpa-srg" description="run the jpa srg tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.test}" target="test-srg"/>
    </target>
    <target name="test-jpa21-srg" description="run the jpa srg tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.test}" target="test-srg21"/>
    </target>
    <!-- Run WDF suite -->
    <target name="build-wdf" description="build the WDF jpa tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa.wdf.test}" target="build-against-jar"/>
    </target>
    <target name="test-wdf" description="run the WDF jpa tests">
        <ant antfile="antbuild.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 antfile="antbuild.xml" dir="${eclipselink.jpa.spring.test}" inheritAll="false" target="test-jpa-spring"/>
    </target>
    <!-- Run JPA RS tests. -->
    <target name="test-jpars" description="run the sdo tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.jpars.test}" target="test"/>
    </target>
    <!-- Run SDO & MOXY tests. -->
    <target name="test-sdo" description="run the sdo tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.sdo.test}" target="test-against-jar"/>
    </target>
    <target name="test-sdo-srg" description="run the sdo srg tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.sdo.test}" target="test-srg-against-jar"/>
    </target>
    <target name="test-moxy" description="run the moxy tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}" target="test-against-jar"/>
    </target>
    <target name="test-moxy-srg" description="run the moxy srg tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}" target="test-srg-against-jar"/>
    </target>
    <target name="test-oxm" description="run the moxy (oxm) tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}" target="test-oxm-against-jar"/>
    </target>
    <target name="test-jaxb" description="run the moxy (jaxb) tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}" target="test-jaxb-against-jar"/>
    </target>
    <target name="test-dbws" description="run the DBWS core tests" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.test}" target="test"/>
    </target>
    <target name="test-dbws-srg" description="run the DBWS srg tests" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.test}" target="test"/>
    </target>
    <target name="test-dbws-builder" description="run the DBWS builder tests" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder.test}" target="test"/>
    </target>
    <target name="test-dbws-builder-srg" description="run the DBWS builder srg tests" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder.test}" target="test"/>
    </target>
    <target name="test-dbws-oracle" description="run the DBWS core tests against Oracle" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.test.oracle}" target="test"/>
    </target>
    <target name="test-dbws-builder-oracle" description="run the DBWS builder tests against Oracle" if="compat.jdk">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder.test.oracle}" target="test"/>
    </target>
    <target name="test-perf" description="run the performance tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.perf.test}" target="test"/>
    </target>
    <!-- Run OSGi Tests -->
    <target name="test-osgi" depends="test-osgi-moxy"
            description="run eclipselink osgi tests"/>
    <target name="test-osgi-moxy" description="run the moxy osgi tests">
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.test}" target="test-osgi"/>
    </target>

    <target name="generate-report">
        <property name="test.results.dir" location="${basedir}/target/${report.dir}"/>
        <mkdir dir="${test.results.dir}"/>
        <junitreport todir="${test.results.dir}">
            <fileset dir="${basedir}">
                <include name="**/*test-results.xml"/>
                <include name="**/TEST-*.xml"/>
            </fileset>
            <report format="frames" todir="${test.results.dir}"/>
        </junitreport>
        <echo>Browse results at ${test.results.dir}/index.html</echo>
    </target>

</project>
