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

    <target name="build-jdk8" description="compile JDK 8+ specific sources">
        <!--
            helper target to compile JDK 8 specific sources
            expected flow:
            - build eclipselink.jar on JDK 7
            - switch to JDK 8
            - run 'ant -f antbuild.xml build-jdk8'
               -> this creates *.class files under resources
                  and they should be commited into the repo
            - switch back to JDK 7
            - run regular build
               -> tycho takes *.class files from resources
                  and puts them into final jar files
        -->
        <fail message="This target requires JDK 8">
            <condition>
                <not>
                    <equals arg1="${ant.java.version}" arg2="1.8"/>
                </not>
            </condition>
        </fail>
        <property name="jdk8.tmp.dir" value="${java.io.tmpdir}/el-jdk8-compilation"/>
        <mkdir dir="${jdk8.tmp.dir}"/>
        <javac srcdir="${eclipselink.core}/src"
               destdir="${jdk8.tmp.dir}"
               includes="**/jdk8/**"
               debug="${javac.debug}"
               debuglevel="${javac.debuglevel}"
               encoding="UTF-8"
               optimize="${javac.optimize}"
               deprecation="${javac.deprecation}"
               failonerror="true"
               memoryMaximumSize="512m"
               fork="true"
               classpath="${eclipselink.jar}"
        />
        <copy todir="${eclipselink.core}/resource" includeemptydirs="false" verbose="true">
            <fileset dir="${jdk8.tmp.dir}" includes="**/jdk8/**"/>
        </copy>
    </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="-breakiterator -quiet -notimestamp"
            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"/>
        <condition property="additionalParamTmp" value="-breakiterator -quiet -notimestamp -Xdoclint:none" else="-breakiterator -quiet -notimestamp">
            <!-- Detect compatible version of JDK (>= 1.8.0). -->
            <matches string="${java.version}" pattern="1.(?:[8-9]|[1-9]\d)(?:.\d+)*.*"/>
        </condition>
        <javadoc
                maxmemory="768m"
                Verbose="false"
                packagenames="org.eclipse.persistence.**"
                destdir="${sdo.javadocs}"
                useexternalfile="yes"
                additionalparam="${additionalParamTmp}"
                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="-breakiterator -quiet -notimestamp"
            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="-breakiterator -quiet -notimestamp"
            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="-breakiterator -quiet -notimestamp"
            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>
            <!-- 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"
            />
    <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"
            />

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