<!--/*******************************************************************************
* 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.
#******************************************************************************/-->
<!-- =============================================================================
*  General Comments
*  This buildfile contains:
*        - calls to the component builds to clean, compile, package and test thier bits
*        - calls to initiate component tests
*        - targets to package the eclipselink jar
*        - targets to generate the eclipselink installer
*        - targets to generate the javadocs
*  Used standalone it can generate Developer Builds of the entire product or subsets
*        of the product.
*  When called by autobuild it generates Nightly and Milestone builds
*================================================================================= -->
<!-- This ant project includes the following tasks:
        - build (default) : compiles all components and tests (excluding Oracle)
        - build.all : compiles all components and tests, including Oracle extensions
        - build-eclipselink-jar : compiles all components except tests, packages eclipselink.jar
        - clean : removes all build generated files
        - clean-runtime : removes all runtime specific (product) build generated files (calls both clean-runtime-checkedin and clean-runtime-built)
        - clean-runtime-checkedin : removes all runtime specific (product) build generated files, that are part of the svn repository (checked in with build)
        - clean-runtime-built : removes all runtime specific (product) files generated during the build, but that are NOT checked in
        - clean-testing : removes all testing specific build generated files
        - build-distribution : compiles and packages all jars, javadocs, installer
        - build-core : compiles all components, excluding tests, utilities, and Oracle extensions
        - build-oracle : compiles Oracle extensions and tests
        - build-test : compiles all tests, excluding Oracle extensions
        - build-workbench-test : compiles the workbench tests
        - package-eclipselink-jar : packages eclipselink.jar
        - jar : packages eclipselink.jar
        - package-src-jar : packages source jar
        - build-javadocs : generates Javadocs
        - package-installer-zip : builds installer
        - package-package-renamer.jar : builds packages renamer jar
        - test-srg : runs all Short ReGression test suites
        - test-lrg : runs all Long ReGression test suites
        - test-core : runs core tests
        - test-core-srg : runs core SRG
        - test-jpa : runs JPA tests
        - test-moxy : runs MOXY tests
        - test-moxy-srg : runs MOXY SRG
        - test-jaxb : runs MOXY jaxb tests
        - test-oxm : runs MOXY oxm tests
        - test-sdo : runs SDO tests
        - test-sdo-srg : runs SDO SRG

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

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

    <!-- Detect compatible version of Ant -->
    <condition property="compat.ant" value="true">
        <not>
            <contains string="${ant.version}" substring="1.8"/>
        </not>
    </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 1.7.x of Ant!." unless="compat.ant"/>
 -->
    <!-- Needed because some buildfiles depend upon JDK6 -->
    <condition property="java_is_v5" value="true">
        <contains string="${java.version}" substring="1.5"/>
    </condition>
    <!-- Sets the warning message appropriately -->
    <condition property="jdk_message" value="Warning: Minimum of JDK6 is required for components to build." else="java.version='${java.version}'">
        <contains string="${java.version}" substring="1.5"/>
    </condition>
    <echo message="${jdk_message}"/>
    <echo message="jdbc.driver.jar='${jdbc.driver.jar}'"/>

    <!-- versioning -->
    <!-- These variables  are set in autobuild.xml. A manual build gets defaults -->
    <tstamp>
       <format property="build.date" pattern="yyyyMMdd"/>
       <format property="build.time" pattern="HHmm"/>
    </tstamp>
    <property name="build.type" value="SNAPSHOT"/>
    <property name="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}/${persistence10.jar}"/>
        <pathelement path="${eclipselink.plugins}/${activation.jar}"/>
        <pathelement path="${eclipselink.plugins}/${resource.jar}"/>
        <pathelement path="${eclipselink.plugins}/${ejb.jar}"/>
        <pathelement path="${eclipselink.plugins}/${jms.jar}"/>
        <pathelement path="${eclipselink.plugins}/${stax_api.jar}"/>
        <pathelement path="${eclipselink.plugins}/${transaction.jar}"/>
        <pathelement path="${eclipselink.plugins}/${mail.jar}"/>
        <pathelement path="${eclipselink.plugins}/${wsrs.jar}"/>
    </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>

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

    <!-- 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"/>
    </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="    verify"/>
        <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 value="-X"/ -->
             <arg value="verify"/>
             <classpath>
                <fileset dir="${M2_HOME}/boot">
                   <include name="plexus-classworlds-*.jar"/>
                </fileset>
             </classpath>
        </java>
        <!-- source jars generated with -sources in target dir - tycho P2 should name properly, but can't use due to dir structure -->
        <!-- Below not needed as long as parent post-processing with ant used to inject common html files -->
        <!-- copy todir="${plugins.dir}" flatten="true">
            <fileset dir="target">
                <include name="**/*-sources.jar"/>
            </fileset>
            <mapper type="glob" from="*-sources.jar" to="*.jar"/>
        </copy -->
        <copy todir="${plugins.dir}" flatten="true">
            <fileset dir="target">
                <include name="**/org.eclipse.persistence*.jar"/>
                <exclude name="**/*-sources.jar"/>
                <exclude name="**/*parent*.jar"/>
            </fileset>
        </copy>
        <!-- build rest of core -->
        <ant antfile="antbuild.xml" dir="${eclipselink.modelgen}"               target="build"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy.dynamicxjc}"        target="build"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.util.jaxb}"              target="build"/>
    </target>

    <!--      *** intended for dev use only ***
    *    Create runtime components (excluding Tests) from existing classes in project heirarchy.
    *    note: oracle extension tries to be tricksy and either jars from classes like others,
    *          or "rejars" from prebuilt bundle if classes dir doesn't exist.
    *   REMOVE???? all these jars now built with Maven... to remove antbuild.xml files this will need
    *        to go as well.
    * -->
    <target name="dev-package-bundles" depends="clean-runtime-checkedin">
        <ant antfile="antbuild.xml" dir="${eclipselink.hermes}"           target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.core}"             target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws}"             target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.jpa}"              target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.moxy}"             target="jar"/>
        <ant antfile="antbuild.xml" dir="${eclipselink.sdo}"              target="jar"/>

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

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

    <target name="build-dbws-utils" unless="java_is_v5">
        <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="    verify"/>
        <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 value="-X"/ -->
             <arg value="verify"/>
             <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">
        <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">
        <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="compile-jpars-tests"/>
        <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"  unless="java_is_v5">
        <!-- Compiling dbws tests requires JDK 1.6 -->
        <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="javax.ejb_3.0.0.v200906010428.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="jpa/plugins/javax.validation_*.jar"/>
                <include name="jpa/plugins/javax.persistence_2.*.jar"/>
                <include name="sdo/plugins/commonj.sdo_*.jar"/>
                <exclude name="**/.settings/**"/>
                <exclude name="**/eclipselink.moxy.test/moxy/**"/>
                <exclude name="**/eclipselink.sdo.test/sdo/**"/>
                <exclude name="**/build/**"/>
                <exclude name="**/classes/**"/>
                <exclude name="**/reports/**"/>
                <exclude name="**/report/**"/>
                <exclude name="**/run/**"/>
                <exclude name="**/*.test/*.jar"/>
                <exclude name="**/*src.zip"/>
                <exclude name="**/*.dmp"/>
            </zipfileset>
            <!-- Moxy has some packages that get filtered out... -->
            <zipfileset dir="${basedir}">
                <include name="${eclipselink.core.test}/src/org/eclipse/persistence/**/*.java"/>
            </zipfileset>
        </zip>
    </target>

    <!-- 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}/"/>
        </zip>
    </target>

    <target name="check-oracle-dependencies">
        <condition property="ojdbc.lib"     value="${oracle.extensions.depend.dir}/${ojdbc.jar}"
                                                    else="${extensions.depend.dir}/${ojdbc.jar}">
            <available file="${oracle.extensions.depend.dir}/${ojdbc.jar}"/>
        </condition>
        <condition property="sdoapi.lib"    value="${oracle.extensions.depend.dir}/${sdoapi.jar}"
                                                    else="${extensions.depend.dir}/${sdoapi.jar}">
            <available file="${oracle.extensions.depend.dir}/${sdoapi.jar}"/>
        </condition>
        <condition property="xdb.lib"       value="${oracle.extensions.depend.dir}/${xdb.jar}"
                                                    else="${extensions.depend.dir}/${xdb.jar}">
            <available file="${oracle.extensions.depend.dir}/${xdb.jar}"/>
        </condition>
        <condition property="xmlparser.lib" value="${oracle.extensions.depend.dir}/${xmlparser.jar}"
                                                    else="${extensions.depend.dir}/${xmlparser.jar}">
            <available file="${oracle.extensions.depend.dir}/${xmlparser.jar}"/>
        </condition>
        <condition property="ucp.lib"       value="${oracle.extensions.depend.dir}/${ucp.jar}"
                                                    else="${extensions.depend.dir}/${ucp.jar}">
            <available file="${oracle.extensions.depend.dir}/${ucp.jar}"/>
        </condition>
        <condition property="dms.lib"       value="${oracle.extensions.depend.dir}/${dms.jar}"
                                                    else="${extensions.depend.dir}/${dms.jar}">
            <available file="${oracle.extensions.depend.dir}/${dms.jar}"/>
        </condition>

        <!-- oracle dependency tests -->
        <available file="${ojdbc.lib}"         property="ojdbc.bundle.exist"/>
        <available file="${sdoapi.lib}"        property="sdoapi.bundle.exist"/>
        <available file="${xdb.lib}"           property="xdb.bundle.exist"/>
        <available file="${xmlparser.lib}"     property="xmlparser.bundle.exist"/>
        <available file="${ucp.lib}"           property="ucp.bundle.exist"/>
        <available file="${dms.lib}"           property="dms.bundle.exist"/>
        <fail message="Cannot find:          '${ojdbc.lib}'"       unless="ojdbc.bundle.exist"/>
        <fail message="Cannot find:          '${sdoapi.lib}'"      unless="sdoapi.bundle.exist"/>
        <fail message="Cannot find:          '${xdb.lib}'"         unless="xdb.bundle.exist"/>
        <fail message="Cannot find:          '${xmlparser.lib}'"   unless="xmlparser.bundle.exist"/>
        <fail message="Cannot find:          '${ucp.lib}'"         unless="ucp.bundle.exist"/>
        <fail message="Cannot find:          '${dms.lib}'"         unless="dms.bundle.exist"/>
    </target>

    <target name="build-unified-javadocs" depends="check-oracle-dependencies">
        <!-- the following property needs to be here because the "qualifier" is generated at runtime -->
        <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>
        <property name="eclipselink.javadoc.title" value="${javadoc.prefixTitle}, build '${version.qualifier}' ${javadoc.postfixTitle}"/>
        <delete dir="${build.dir}/commonj.sdo" failonerror="false"/>
        <delete dir="${build.dir}/javax.xml.bind" failonerror="false"/>
        <delete dir="${unified.javadocs}" failonerror="false"/>
        <unzip src="${eclipselink.jpa.plugins}/${persistence21.src.jar}" dest="${build.dir}/jpa21/src"/>
        <unzip src="${eclipselink.sdo.plugins}/${commonj.sdo.src.zip}" dest="${build.dir}/commonj.sdo/src"/>
        <unzip src="${eclipselink.plugins}/${jaxb-api.src.jar}" dest="${build.dir}/javax.xml.bind/src"/>
        <javadoc
            maxmemory="384m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${unified.javadocs}"
            useexternalfile="yes"
            additionalparam="-breakiterator -quiet"
            windowtitle="${eclipselink.javadoc.title}"
            >
            <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>
            <fileset dir="${build.dir}/commonj.sdo/src" defaultexcludes="yes">
                <include name="commonj/sdo/**/*.java"/>
            </fileset>
            <!-- *** EclipseLink modules *** -->
            <fileset dir="${eclipselink.core}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.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.sdo}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.util.rename}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <!-- *** 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"/>

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

            <!-- *** include Dependent APIs in Javadoc  *** -->
            <fileset dir="${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>
            <fileset dir="${build.dir}/commonj.sdo/src" defaultexcludes="yes">
                <include name="commonj/sdo/**/*.java"/>
            </fileset>
            <!-- *** EclipseLink modules *** -->
            <fileset dir="${eclipselink.core}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <!-- 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.sdo}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
            <fileset dir="${eclipselink.util.rename}/${src.dir}" defaultexcludes="yes">
                <include name="org/eclipse/persistence/**/*.java"/>
                <exclude name="org/eclipse/persistence/internal/**/*.java"/>
            </fileset>
        </javadoc>
    </target>

    <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="384m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${nosql.javadocs}"
            useexternalfile="yes"
            additionalparam="-breakiterator -quiet"
            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="384m"
            Verbose="false"
            packagenames="org.eclipse.persistence.**"
            destdir="${jpars.javadocs}"
            useexternalfile="yes"
            additionalparam="-breakiterator -quiet"
            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>
    </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" prefix="eclipselink/jlib/jpa"/>
            <!-- jpa persistence 2.1 jars -->
            <zipfileset dir="${eclipselink.jpa.plugins}/" includes="javax.persistence*2.1*.jar" prefix="eclipselink/jlib/jpa"/>
            <!-- JPA RS jar -->
            <zipfileset dir="${eclipselink.plugins}/" includes="org.eclipse.persistence.jpars*.jar" prefix="eclipselink/jlib/jpa"/>
            <!-- moxy jar's and zips -->
            <zipfileset dir="${eclipselink.plugins}/" prefix="eclipselink/jlib/moxy">
                <include name="${activation.jar}"/>
                <include name="${mail.jar}"/>
                <include name="${stax_api.jar}"/>
            </zipfileset>
            <!-- moxy jar's and zips -->
            <zipfileset dir="${eclipselink.plugins}" prefix="eclipselink/jlib/moxy">
                <include name="${jaxb-api.jar}"/>
                <include name="${jaxb-xjc.jar}"/>
                <include name="${jaxb-impl.jar}"/>
            </zipfileset>
            <!-- grab the sdo jar -->
            <zipfileset dir="${eclipselink.sdo.base}/${plugins.dir}/" includes="${commonj.sdo.jar}" prefix="eclipselink/jlib/sdo"/>
            <!-- grab the dbws util stuff -->
            <zipfileset dir="${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>
    </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"  unless="java_is_v5">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.test}" target="test"/>
    </target>
    <target name="test-dbws-srg" description="run the DBWS srg tests"  unless="java_is_v5">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.test}" target="test"/>
    </target>
    <target name="test-dbws-builder" description="run the DBWS builder tests"  unless="java_is_v5">
        <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"  unless="java_is_v5">
        <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"  unless="java_is_v5">
        <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"  unless="java_is_v5">
        <ant antfile="antbuild.xml" dir="${eclipselink.dbws.builder.test.oracle}" target="test"/>
    </target>
</project>
