blob: 9c309f90ff66252c7ad43774575c9bbfefa4be94 [file] [log] [blame]
<!--/*******************************************************************************
* 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 '.'
* - multi-word targets use hyphens '-'
* - 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-extensions : 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}'"/>
<property name="extensions.depend.dir" value="${trunk.build.location}/../extension.lib.external"/>
<echo message="extensions.depend.dir = '${extensions.depend.dir}'"/>
<property name="junit.lib" value="${extensions.depend.dir}/junit.jar"/>
<echo message="junit.lib = '${junit.lib}'"/>
<echo message="Loading default properties from: '${trunk.build.location}/build.properties'"/>
<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"/>
<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-jar, 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-extensions" 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">
<delete file="${eclipselink.jar.name}"/>
</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.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.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.src.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">
<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.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.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="${jpa.prototype}" target="build"/>
<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"/>
<ant antfile="build.xml" dir="${eclipselink.jpa}" target="build"/>
</target>
<target name="build-oracle-extension-test">
<ant antfile="${eclipselink.core.test}/build.xml" target="all"/>
<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="${eclipselink.core.test}/build.xml" target="all"/>
<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}"/>
<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>
</jar>
</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 examples jar. -->
<target name="package-example-jar" description="build EclipseLink Examples jar">
<delete file="${eclipselink.example.install.prefix}${eclipselink.zip.suffix}"/>
<jar jarfile="${eclipselink.example.install.prefix}${eclipselink.zip.suffix}" duplicate="preserve">
<manifest>
<attribute name="Specification-Title" value="${eclipselink.specification.title} Source"/>
<attribute name="Specification-Vendor" value="${specification.vendor}"/>
<attribute name="Specification-Version" value="${release.version}"/>
<attribute name="Implementation-Title" value="${eclipselink.implementation.title}"/>
<attribute name="Implementation-Vendor" value="${implementation.vendor}"/>
<attribute name="Implementation-Version" value="${version.string}"/>
<attribute name="Release-Designation" value="${release.designation}"/>
</manifest>
<zipfileset dir="examples" includes="**" excludes="**/.svn/**" prefix="examples_${release.version}" />
</jar>
</target>
<!-- Packages the eclipselink JPA testing source jar. -->
<target name="package-tst-src-jar" description="build EclipseLink JPA and SDO testing source jar">
<delete file="${eclipselink.tst.src.prefix}${eclipselink.zip.suffix}"/>
<!-- 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}">
<zipfileset dir="${eclipselink.core.test}/${src.dir}"
includes="org\eclipse\persistence\testing\framework\**\*.java,
org\eclipse\persistence\testing\tests\TestRunModel.java,
org\eclipse\persistence\tools\**\*.java,
org\eclipse\persistence\testing\tests\performance\**\*.java"
prefix="foundation"
/>
<zipfileset dir="${eclipselink.core.base}/eclipselink.extension.oracle.test/${src.dir}"
includes="org\eclipse\persistence\testing\tests\jpa\**\*.java,
org\eclipse\persistence\testing\models\jpa\**\*.java"
prefix="jpa"
/>
<zipfileset dir="${eclipselink.jpa.test}/${src.dir}"
includes="**/*.java"
prefix="jpa"
/>
<zipfileset dir="${eclipselink.jpa.test}/${resource.dir}"
includes="**"
prefix="jpa/resource"
/>
<zipfileset
dir="${eclipselink.sdo.test}/${src.dir}"
includes="**"
prefix="sdo"
/>
<zipfileset
dir="${eclipselink.sdo.test}/${resource.dir}"
includes="**"
prefix="sdo/resource"
/>
<zipfileset
dir="${eclipselink.sdo.test.server.wls}/${src.dir}"
includes="**"
prefix="sdo"
/>
<zipfileset
dir="${eclipselink.sdo.test.server.wls}/${resource.dir}"
includes="**"
prefix="sdo/resource"
/>
<zipfileset
dir="${eclipselink.moxy.test}/${src.dir}"
includes="**"
prefix="moxy"
/>
<zipfileset
dir="${eclipselink.moxy.test}/${resource.dir}"
includes="**"
prefix="moxy/resource"
/>
</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/SDO_2.1.0_Java_source_FINAL.zip" dest="${build.dir}/commonj.sdo/src"/>
<!-- unzip src="${eclipselink.moxy.plugins}/javax.xml.bind/JAXB.source_2.0.0.v20080604-1500.jar" dest="${build.dir}/javax.xml.bind/src"/>
-->
<javadoc
maxmemory="384m"
Verbose="false"
packagenames="org.eclipse.persistence.**"
destdir="${eclipselink.javadocs}"
useexternalfile="yes"
additionalparam="-breakiterator -quiet"
windowtitle="${eclipselink.javadoc.title}"
>
<classpath>
<path refid="javadoc.path"/>
</classpath>
<tag name ="author" enabled="true" description="Author:" />
<tag name ="since" scope="all" description="Since:" />
<tag name ="SBGen" scope="all" description="SBGen:" />
<tag name ="bug" enabled="true" description="Related Bugs:" />
<doctitle><![CDATA[${eclipselink.javadoc.title}]]></doctitle>
<header><![CDATA[${eclipselink.javadoc.title}]]></header>
<!-- *** include Dependent APIs in Javadoc *** -->
<fileset dir="${jpa.prototype}/${src.dir}" defaultexcludes="yes">
<include name="javax/persistence/**/*.java"/>
</fileset>
<!-- fileset dir="${build.dir}/javax.xml.bind/src" defaultexcludes="yes">
<include name="**/*.java"/>
</fileset -->
<fileset dir="${build.dir}/commonj.sdo/src" defaultexcludes="yes">
<include name="commonj/sdo/**/*.java"/>
</fileset>
<!-- *** EclipseLink modules *** -->
<fileset dir="${eclipselink.core}/${src.dir}" defaultexcludes="yes">
<include name="org/eclipse/persistence/**/*.java"/>
<exclude name="org/eclipse/persistence/internal/**/*.java"/>
</fileset>
<fileset dir="${eclipselink.dbws}/${src.dir}" defaultexcludes="yes">
<include name="org/eclipse/persistence/**/*.java"/>
<exclude name="org/eclipse/persistence/internal/**/*.java"/>
</fileset>
<fileset dir="${eclipselink.jpa}/${src.dir}" defaultexcludes="yes">
<include name="org/eclipse/persistence/**/*.java"/>
<exclude name="org/eclipse/persistence/internal/**/*.java"/>
</fileset>
<fileset dir="${eclipselink.moxy}/${src.dir}" defaultexcludes="yes">
<include name="org/eclipse/persistence/**/*.java"/>
<exclude name="org/eclipse/persistence/internal/**/*.java"/>
</fileset>
<fileset dir="${eclipselink.sdo}/${src.dir}" defaultexcludes="yes">
<include name="org/eclipse/persistence/**/*.java"/>
<exclude name="org/eclipse/persistence/internal/**/*.java"/>
</fileset>
<fileset dir="${eclipselink.util.rename}/${src.dir}" defaultexcludes="yes">
<include name="org/eclipse/persistence/**/*.java"/>
<exclude name="org/eclipse/persistence/internal/**/*.java"/>
</fileset>
</javadoc>
</target>
<!-- Packages javadoc into a zip. -->
<target name="package-javadoc-zip" depends="build-javadocs" description="build EclipseLink javadoc zip">
<delete file="${eclipselink.javadoc.install.prefix}${eclipselink.zip.suffix}"/>
<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}"/>
<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="*.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>
<!-- jpa persistence jar -->
<zipfileset dir="${eclipselink.plugins}/" includes="${persistence.jar}" prefix="eclipselink/jlib/jpa"/>
<!-- jpa persistence 2.0 prototype jar -->
<zipfileset dir="${eclipselink.jpa.plugins}/" includes="${jpa.prototype.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.moxy.base}/${plugins.dir}" 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"
/>
<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="${eclipselink.core.test}/build.xml" target="test"/>
</target>
<target name="test-browser" description="run the core testing browser">
<ant antfile="${eclipselink.core.test}/build.xml" target="test-browser"/>
</target>
<!-- Run core SRG. -->
<target name="test-core-srg" description="run the core srg tests">
<ant antfile="${eclipselink.core.test}/build.xml" target="test-srg"/>
</target>
<!-- Run JPA LRG. -->
<target name="test-jpa" description="run the jpa tests">
<ant antfile="${eclipselink.jpa.test}/build.xml" target="test"/>
</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>
</project>