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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    <!-- Packages the eclipselink 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}"
             basedir="${basedir}"
             includes="build.xml,
                       build.properties,
                       ${eclipselink.core.test}/**,
                       ${eclipselink.core.base}/eclipselink.extension.oracle.test/**,
                       ${eclipselink.jpa.test}/**,
                       ${eclipselink.moxy.test}/**,
                       ${eclipselink.sdo.test}/**,
                       ${eclipselink.sdo.base}/eclipselink.sdo.test.server.wls/**,
                       plugins/eclipselink-jpa-modelgen_*.jar,
                       jpa/eclipselink.jpa.modelgen.test/**,
                       jpa/plugins/javax.validation_*.jar,
                       jpa/plugins/javax.persistence_2.*.jar,
                       sdo/plugins/commonj.sdo_*.jar"
             excludes="**/.svn/**,
                       **/.settings/**,
                       **/build/**,
                       **/classes/**,
                       **/report/**,
                       **/run/**,
                       **/*.test/*.jar,
                       **/*src.zip"
        />
    </target>

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

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

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

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

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

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

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

</project>
