<!--/*******************************************************************************
* 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 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:
*     egwin  - initial API and implementation
#******************************************************************************/-->
<!-- =============================================================================
*  General Comments
*  This buildfile contains:
*        - targets to generate a p2 repository for eclipselink on the
*          download site.
*        - targets to verify generated p2 repository for eclipselink
*
*  It is setup to run by "default" in test mode on a local windows machine.
*  To use in production, it should be called after overriding with some variables:
*        - the target repository dir
*        - the install location of the Eclipse SDK libraries
*        - the version qualifier of the built bundles to sign and promote to p2
*
*  The command-line would look something like:
*        ant -Dp2.SDK.install.dir=${sdk.install.dir} -Dbundle.install.file=${bundle.install.filepath}  \
*            -Dnosql.install.file=${nosql.install.filepath} -Dversion.qualifier=${version.qualifier} \
*            -Dp2.repos.dir=${update.site.base.dir}
*
*  There are some additional parameters that should be added:
*        - flags to specify if the repos should be overwritten or built upon (would change how the repos is built)
*
*  In addition, it may be useful to call into this build to access the signing target directly:
*       <antcall target="pack-and-sign">
*           <param name="repack" value="-repack" or ""/>          - will 'normalize' the jar
*           <param name="pack" value="-pack" or ""/>              - will pack the jars *.jar->*.jar.gz
*           <param name="target" value="${classes.dir}"/>         - can be a zip, jar, or directory
*           <param name="destination" value="${p2.feature.dir}"/> - can be a zip, jar, dir or url
*       </antcall>
*
*
*  To install just MOXy feature into some Eclipse installation, use:
*        ant test-p2-site -Dp2.director.destination=<eclipse> \
*            -Dp2.director.action=""  \
*            -Dp2.director.installIU=org.eclipse.persistence.moxy.feature.group
*
*  If behind proxy:
*    -pass "-Dp2.director.additionalArgs='-pluginCustomization proxy-settings.ini'"
*     to the build, where the content of that file is:
*  # Proxy settings
*  org.eclipse.core.net/proxyData/HTTP/host=<proxyHost>
*  org.eclipse.core.net/proxyData/HTTPS/host=<proxyHost>
*  org.eclipse.core.net/proxyData/HTTPS/hasAuth=false
*  org.eclipse.core.net/proxyData/HTTP/port=<proxyPort>
*  org.eclipse.core.net/proxyData/HTTPS/port=<proxyPort>
*  org.eclipse.core.net/org.eclipse.core.net.hasMigrated=true
*  org.eclipse.core.net/nonProxiedHosts=<nonProxyHost>|localhost|127.0.0.1
*  org.eclipse.core.net/systemProxiesEnabled=false
*  org.eclipse.core.net/proxyData/HTTP/hasAuth=false
*
*================================================================================= -->

<project name="features" default="build" basedir=".">

    <available file="../${ant.project.name}" type="dir" property="p2.is.local"/>
    <!-- Test to make sure that the calling script doesn't inherit the variable -->
    <!-- (should be set locally, and be destroyed upon return) -->
    <fail message="Not running from '${ant.project.name}' directory" unless="p2.is.local"/>

    <target name="init">
        <dirname  property="feature.build.location_temp" file="${ant.file.features}"/>
        <pathconvert targetos="unix" property="feature.build.location">
            <path>
                <pathelement location="${feature.build.location_temp}"/>
            </path>
        </pathconvert>
        <property file="${user.home}/build.properties"/>
        <!-- feature.2.base.dir needs to be explicit (not relative) for antcall usage            -->
        <!-- (I think the selectbundle call reverts to calling dir - despite the antcall "dir=") -->
        <property name="feature.2.base.dir"           value="${feature.build.location}/.."/>
        <property name="feature.common.dir"           value="${feature.build.location}/common"/>
        <property name="feature.2.buildsys.dir"       value="${feature.2.base.dir}/buildsystem"/>
        <property name="feature.2.common.plugins.dir" value="${feature.2.base.dir}/plugins"/>
        <property name="feature.2.jpa.plugins.dir"    value="${feature.2.base.dir}/jpa/plugins"/>
        <property name="feature.2.sdo.plugins.dir"    value="${feature.2.base.dir}/sdo/plugins"/>
        <property name="feature.2.util.plugins.dir"   value="${feature.2.base.dir}/utils/plugins"/>
        <echo message="ant.project.name            ='${ant.project.name}'"/>
        <echo message="basedir                     ='${basedir}'"/>
        <echo message="feature.build.location      ='${feature.build.location}'"/>
        <echo message="feature.2.base.dir          ='${feature.2.base.dir}'"/>
        <echo message="feature.common.dir          ='${feature.common.dir}'"/>
        <echo message="feature.2.buildsys.dir      ='${feature.2.buildsys.dir}'"/>
        <echo message="feature.2.common.plugins.dir='${feature.2.common.plugins.dir}'"/>
        <echo message="feature.2.jpa.plugins.dir   ='${feature.2.jpa.plugins.dir}'"/>
        <echo message="feature.2.sdo.plugins.dir   ='${feature.2.sdo.plugins.dir}'"/>
        <echo message="feature.2.util.plugins.dir  ='${feature.2.util.plugins.dir}'"/>
        <echo message=" ---"/>

        <!-- Custom task definitions -->
        <property name="custom.tasks.lib" value="${feature.2.buildsys.dir}/ant_customizations.jar"/>
        <property name="custom.echo.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.Say"/>
        <property name="custom.selectbundle.task.class" value="org.eclipse.persistence.buildtools.ant.taskdefs.SelectBundle"/>
        <echo message="custom.tasks.lib               ='${custom.tasks.lib}'"/>
        <echo message="custom.echo.task.class         ='${custom.echo.task.class}'"/>
        <echo message="custom.selectbundle.task.class ='${custom.selectbundle.task.class}'"/>
        <echo message=" ---"/>
        <taskdef name="say"          classname="${custom.echo.task.class}"         classpath="${custom.tasks.lib}"/>
        <taskdef name="selectbundle" classname="${custom.selectbundle.task.class}" classpath="${custom.tasks.lib}"/>

        <!-- Defaults of Pre-Set variables -->
        <property name="release.version"                    value="2.7.0"/>
        <property name="version.qualifier"                  value="qualifier"/>
        <property name="version.string"                     value="${release.version}.${version.qualifier}"/>
        <property name="eclipselink.install.prefix"         value="eclipselink"/>
        <property name="eclipselink.plugins.install.prefix" value="eclipselink-plugins"/>
        <property name="eclipselink.nosql.install.prefix"   value="eclipselink-plugins-nosql"/>
        <property name="eclipselink.zip.suffix"             value=".zip"/>
        <property name="classes.dir"                        value="classes"/>
        <property name="specification.vendor"               value="Eclipse.org - EclipseLink Project"/>
        <property name="p2.archive.presigned.zip"           value="${eclipselink.install.prefix}-P2-${version.string}${eclipselink.zip.suffix}"/>
        <property name="build.id"                           value="${release.version}"/>
        <echo message="release.version                   ='${release.version}'"/>
        <echo message="version.qualifier                 ='${version.qualifier}'"/>
        <echo message="version.string                    ='${version.string}'"/>
        <echo message="eclipselink.install.prefix        ='${eclipselink.install.prefix}'"/>
        <echo message="eclipselink.plugins.install.prefix='${eclipselink.plugins.install.prefix}'"/>
        <echo message="eclipselink.nosql.install.prefix  ='${eclipselink.nosql.install.prefix}'"/>
        <echo message="eclipselink.zip.suffix            ='${eclipselink.zip.suffix}'"/>
        <echo message="classes.dir                       ='${classes.dir}'"/>
        <echo message="specification.vendor              ='${specification.vendor}'"/>
        <echo message="p2.archive.presigned.zip          ='${p2.archive.presigned.zip}'"/>
        <echo message="build.id                          ='${build.id}'"/>
        <echo message=" ---"/>

        <!-- Helper definitions derived from Pre-set variables -->
        <property name="feature.build.dir"                  value="${classes.dir}/features"/>
        <property name="bundle.working.dir"                 value="${classes.dir}/plugins"/>
        <echo message="feature.build.dir      ='${feature.build.dir}'"/>
        <echo message="bundle.working.dir     ='${bundle.working.dir}'"/>
        <echo message=" ---"/>

        <!-- Tool definitions -->
        <property name="p2.SDK.install.dir" value="${eclipse.install.dir}"/>
        <property name="p2.SDK.plugin.dir" value="${p2.SDK.install.dir}/plugins"/>
        <property name="p2.publisher.jar" value="org.eclipse.equinox.p2.publisher_*.jar"/>
        <property name="p2.launcher.jar" value="org.eclipse.equinox.launcher_*.jar"/>
        <property name="p2.artifact.jar" value="org.eclipse.equinox.artifact.repository_*.jar"/>
        <property name="signing.script" value="dir"/>
        <property name="signing.dir" value="${classes.dir}"/>
        <available file="${p2.SDK.plugin.dir}" property="sdk.install.exist"/>
        <echo message="p2.SDK.install.dir ='${p2.SDK.install.dir}'"/>
        <say  message="p2.SDK.plugin.dir  ='${p2.SDK.plugin.dir}'" if="sdk.install.exist"/>
        <say  message="p2.SDK.plugin.dir:  '${p2.SDK.plugin.dir}' not found!" unless="sdk.install.exist"/>
        <echo message="p2.publisher.jar   ='${p2.publisher.jar}'"/>
        <echo message="p2.launcher.jar    ='${p2.launcher.jar}'"/>
        <echo message="p2.artifact.jar    ='${p2.artifact.jar}'"/>
        <echo message="signing.script     ='${signing.script}'"/>
        <echo message="signing.dir        ='${signing.dir}'"/>
        <echo message=" ---"/>

        <!-- Input definitions -->
        <property name="p2.composite.home.dir"    value="${basedir}/p2site/__EL-CompositeRepositoryTest2Site"/>
        <condition property="p2.repos.dir"        value="${p2.composite.home.dir}/${version.string}"
                                                   else="${basedir}/p2site/__EL-RepositorySite">
            <isset property="do.composite"/>
        </condition>
        <property name="p2.mirror.dir"            value="${basedir}/p2site/__EL-MirroredRepoSite"/>
        <property name="p2.feature.dir"           value="${p2.repos.dir}/features"/>
        <property name="p2.bundle.dir"            value="${p2.repos.dir}/plugins"/>
        <condition property="bundle.install.file" value="${feature.2.base.dir}/${eclipselink.plugins.install.prefix}-${version.string}${eclipselink.zip.suffix}"
                                                   else="${feature.2.base.dir}/${eclipselink.plugins.install.prefix}${eclipselink.zip.suffix}">
            <available file="${feature.2.base.dir}/${eclipselink.plugins.install.prefix}-${version.string}${eclipselink.zip.suffix}"/>
        </condition>
        <condition property="nosql.install.file"  value="${feature.2.base.dir}/${eclipselink.nosql.install.prefix}-${version.string}${eclipselink.zip.suffix}"
                                                   else="${feature.2.base.dir}/${eclipselink.nosql.install.prefix}${eclipselink.zip.suffix}">
            <available file="${feature.2.base.dir}/${eclipselink.nosql.install.prefix}-${version.string}${eclipselink.zip.suffix}"/>
        </condition>
        <property name="site.dir"                 value="${feature.build.location}/${classes.dir}"/>
        <property name="site.dir.url"             value="file:${site.dir}"/>
        <property name="site.url"                 value="${site.dir.url}/site.xml"/>
        <available file="${bundle.install.file}" property="bundle.installer.exist"/>
        <available file="${nosql.install.file}"  property="nosql.installer.exist"/>
        <echo message="p2.composite.home.dir ='${p2.composite.home.dir}'"/>
        <echo message="p2.repos.dir          ='${p2.repos.dir}'"/>
        <echo message="p2.mirror.dir         ='${p2.mirror.dir}'"/>
        <echo message="p2.feature.dir        ='${p2.feature.dir}'"/>
        <echo message="p2.bundle.dir         ='${p2.bundle.dir}'"/>
        <say  message="bundle.install.file   ='${bundle.install.file}'"                if="bundle.installer.exist"/>
        <say  message="bundle.install.file:   '${bundle.install.file}' not found!" unless="bundle.installer.exist"/>
        <say  message="nosql.install.file    ='${nosql.install.file}'"                 if="nosql.installer.exist"/>
        <say  message="nosql.install.file:    '${nosql.install.file}' not found!"  unless="nosql.installer.exist"/>
        <echo message="site.dir              ='${site.dir}'"/>
        <echo message="site.dir.url          ='${site.dir.url}'"/>
        <echo message="site.url              ='${site.url}'"/>
        <echo message=" ---"/>

        <!-- Output definitions -->
        <property name="p2.repos.url"             value="file:/${p2.repos.dir}"/> <!-- DO NOT Override this one -->
        <property name="p2.mirror.url"            value="file:/${p2.mirror.dir}"/> <!-- DO NOT Override this one -->
        <property name="p2.release.repos.name"    value="EclipseLink Repository"/>
        <property name="p2.milestone.repos.name"  value="EclipseLink Milestone Repository"/>
        <property name="p2.nightly.repos.name"    value="EclipseLink Nightly Build Repository"/>
        <property name="p2.release.repos.url"     value="http://download.eclipse.org/rt/eclipselink/updates"/>
        <property name="p2.milestone.repos.url"   value="http://download.eclipse.org/rt/eclipselink/incremental-updates/milestone"/>
        <property name="p2.nightly.repos.url"     value="http://download.eclipse.org/rt/eclipselink/incremental-updates/nightly"/>
        <property name="metadata.repos.name"      value="&quot;${p2.release.repos.name}&quot;"/>
        <property name="artifact.repos.name"      value="&quot;EclipseLink Artifacts&quot;"/>
        <echo message="p2.repos.url            ='${p2.repos.url}'"/>
        <echo message="p2.mirror.url           ='${p2.mirror.url}'"/>
        <echo message="p2.release.repos.name   ='${p2.release.repos.name}'"/>
        <echo message="p2.milestone.repos.name ='${p2.milestone.repos.name}'"/>
        <echo message="p2.nightly.repos.name   ='${p2.nightly.repos.name}'"/>
        <echo message="p2.release.repos.url    ='${p2.release.repos.url}'"/>
        <echo message="p2.milestone.repos.url  ='${p2.milestone.repos.url}'"/>
        <echo message="p2.nightly.repos.url    ='${p2.nightly.repos.url}'"/>
        <echo message="metadata.repos.name     ='${metadata.repos.name}'"/>
        <echo message="artifact.repos.name     ='${artifact.repos.name}'"/>

        <!-- Feature Dependency variables -->
        <!-- Defaults, set var in ${user.home}/build.properties if different version required -->
        <property name="sdo.prefix" value="commonj.sdo"/>
        <property name="sdo.criteria" value="[2.1.1,2.2.0)"/>
        <property name="mail.prefix" value="javax.mail"/>
        <property name="mail.criteria" value="[1.4.0,1.5.0)"/>
        <property name="persistence.prefix" value="javax.persistence"/>
        <property name="persistence.criteria" value="[2.0.100,2.2.0)"/>
        <property name="resource.prefix" value="javax.resource"/>
        <property name="resource.criteria" value="[1.4.0,2.0.0)"/>
        <property name="servlet.prefix" value="javax.servlet"/>
        <property name="servlet.criteria" value="[2.4.0,2.5.0)"/>
        <property name="wsdl.prefix" value="javax.wsdl"/>
        <property name="wsdl.criteria" value="[1.0,9.0)"/>
        <property name="jaxrs.prefix" value="javax.ws.rs"/>
        <property name="jaxrs.criteria" value="[2.0.1,9.0)"/>
        <property name="xml.bind.prefix" value="javax.xml.bind"/>
        <property name="xml.bind.criteria" value="[2.2.0,2.3.0)"/>
        <property name="sun.tools.xjc.prefix" value="jaxb-xjc"/>
        <property name="sun.tools.xjc.criteria" value="[2.2.11,5.0.0)"/>
        <property name="sun.xml.bind.prefix" value="jaxb-core"/>
        <property name="sun.xml.bind.criteria" value="[2.2.11,5.0.0)"/>
        <property name="mongodb.prefix" value="org.mongodb.mongo-java-driver"/>
        <property name="mongodb.criteria" value="[2.0.0,9.0.0)"/>
        <property name="json.prefix" value="org.glassfish.javax.json"/>
        <property name="json.criteria" value="[1.0.4,5.0.0)"/>

        <!-- For EclipseLink bundles -->
        <property name="antlr.prefix" value="org.eclipse.persistence.antlr"/>
        <property name="antlr.criteria" value="[3.0,9.0)"/>
        <property name="asm.prefix" value="org.eclipse.persistence.asm"/>
        <property name="asm.criteria" value="[3.0,9.0)"/>
        <property name="hermes.prefix" value="org.eclipse.persistence.jpa.jpql"/>
        <property name="hermes.criteria" value="[1.0,9.0)"/>
        <property name="oracleddl.prefix" value="org.eclipse.persistence.oracleddlparser"/>
        <property name="oracleddl.criteria" value="[1.0,9.0)"/>
        <property name="oracle.prefix" value="org.eclipse.persistence.oracle"/>
        <property name="oracle.criteria" value="[1.0,9.0)"/>
        <property name="oraclenosql.prefix" value="org.eclipse.persistence.oracle.nosql"/>
        <property name="oraclenosql.criteria" value="[1.0,9.0)"/>
    </target>

    <!-- Need to copy only the bundles that will be in the features into the "p2.repos.dir/plugins" dir
         (so must copy from main plugins to new temp location). Also need to filter copy the feature xml
         files to "p2.repos.dir/features" to substitute the actual version.qualifer string into it.
         Then can Generate P2.                                                                        -->
    <target name="build"                         depends="init, build-features, build-p2"/>
    <target name="build-p2"                      depends="create-sign-zipfile, clear-p2-loc, assemble-repos"/>
    <target name="build-features-sign-jars-wait" depends="init, build-features, sign-jars, retrieve-signed-archive"/>
    <target name="test-repos"                    depends="populate-p2-site, publish-p2-repos, test-p2-site"/>
    <!-- ** DO NOT ALTER LIGHTLY ** - Needed by automated process -->
    <target name="build-features-create-signzip" depends="init, build-features, create-sign-zipfile"/>
    <target name="build-features"                depends="clean, create-deployable-features"/>
    <target name="sign-jars"                     depends="copy-and-queue-for-sign, retrieve-signed-archive"/>
    <target name="assemble-repos"                depends="populate-p2-site, publish-p2-repos"/>
    <!-- End ** DO NOT ALTER LIGHTLY ** Block -->

    <!-- Feature Targets -->
    <!-- clean -->
    <target name="clean" depends="init" description="Clean all generated content">
        <delete dir="${classes.dir}" includeEmptyDirs="true" failonerror="false"/>
    </target>

    <!-- build feature jars -->
    <target name="jar-feature" description="General target for packaging a feature">
        <jar jarfile="${feature.build.dir}/${feature.name}_${version.string}.jar" duplicate="preserve">
            <fileset dir="${feature.common.dir}">
                <include name="*.html"/>
            </fileset>
            <fileset dir="${feature.2.base.dir}">
                <include name="about.html"/>
                <include name="readme.html"/>
            </fileset>
            <fileset dir="${classes.dir}/${feature.name}">
                <include name="*.*"/>
            </fileset>
        </jar>
    </target>

    <target name="resolve-feature-dependencies" depends="init">
        <selectbundle basename="${sdo.prefix}" directory="${feature.2.sdo.plugins.dir}"
                     criterion="${sdo.criteria}" property="sdo.version" versiononly="true"
        />
        <selectbundle basename="${mail.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${mail.criteria}" property="mail.version" versiononly="true"
        />
        <selectbundle basename="${persistence.prefix}" directory="${feature.2.jpa.plugins.dir}"
                     criterion="${persistence.criteria}" property="persistence.version" versiononly="true"
        />
        <selectbundle basename="${resource.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${resource.criteria}" property="resource.version" versiononly="true"
        />
        <selectbundle basename="${servlet.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${servlet.criteria}" property="servlet.version" versiononly="true"
        />
        <selectbundle basename="${xml.bind.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${xml.bind.criteria}" property="xml.bind.version" versiononly="true"
        />
        <selectbundle basename="${sun.xml.bind.prefix}"  directory="${feature.2.common.plugins.dir}"
                      criterion="${sun.xml.bind.criteria}" property="sun.xml.bind.version" versiononly="true"
        />
        <selectbundle basename="${sun.tools.xjc.prefix}"  directory="${feature.2.common.plugins.dir}"
                      criterion="${sun.tools.xjc.criteria}" property="sun.tools.xjc.version" versiononly="true"
        />
        <selectbundle basename="${mongodb.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${mongodb.criteria}" property="mongodb.version" versiononly="true"
        />
        <selectbundle basename="${jaxrs.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${jaxrs.criteria}" property="jaxrs.version" versiononly="true"
        />
        <selectbundle basename="${antlr.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${antlr.criteria}" property="antlr.version" versiononly="true"
        />
        <selectbundle basename="${asm.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${asm.criteria}" property="asm.version" versiononly="true"
        />
        <selectbundle basename="${hermes.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${hermes.criteria}" property="hermes.version" versiononly="true"
        />
        <selectbundle basename="${oracleddl.prefix}" directory="${feature.2.util.plugins.dir}"
                     criterion="${oracleddl.criteria}" property="oracleddl.version" versiononly="true"
        />
        <selectbundle basename="${oracle.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${oracle.criteria}" property="oracle.version" versiononly="true"
        />
        <selectbundle basename="${oraclenosql.prefix}" directory="${feature.2.common.plugins.dir}"
                     criterion="${oraclenosql.criteria}" property="oraclenosql.version" versiononly="true"
        />
        <selectbundle basename="${wsdl.prefix}" directory="${feature.2.util.plugins.dir}"
                     criterion="${wsdl.criteria}" property="wsdl.version" versiononly="true"
        />
        <selectbundle basename="${json.prefix}"  directory="${feature.2.common.plugins.dir}"
                     criterion="${json.criteria}" property="json.version" versiononly="true"
        />
        <echo message="Searching ${feature.2.util.plugins.dir}..."/>
        <say  message="   oracleddl.version   = '${oracleddl.version}'"                                                       if="oracleddl.version"/>
        <say  message="   '${oracleddl.prefix}_${oracleddl.criteria}.jar' not found! Generated features will be invalid."     unless="oracleddl.version"/>
        <say  message="   wsdl.version        = '${wsdl.version}'"                                                            if="wsdl.version"/>
        <say  message="   '${wsdl.prefix}_${wsdl.criteria}.jar' not found! Generated features will be invalid."               unless="wsdl.version"/>
        <echo message="Searching ${feature.2.sdo.plugins.dir}..."/>
        <say  message="   sdo.version         = '${sdo.version}'"                                                             if="sdo.version"/>
        <say  message="   '${sdo.prefix}_${sdo.criteria}.jar' not found! Generated features will be invalid."                 unless="sdo.version"/>
        <echo message="Searching ${feature.2.jpa.plugins.dir}..."/>
        <say  message="   persistence.version = '${persistence.version}'"                                                     if="persistence.version"/>
        <say  message="   '${persistence.prefix}_${persistence.criteria}.jar' not found! Generated features will be invalid." unless="persistence.version"/>
        <echo message="Searching ${feature.2.common.plugins.dir}..."/>
        <say  message="   mail.version        = '${mail.version}'"                                                            if="mail.version"/>
        <say  message="   '${mail.prefix}_${mail.criteria}.jar' not found! Generated features will be invalid."               unless="mail.version"/>
        <say  message="   resource.version    = '${resource.version}'"                                                        if="resource.version"/>
        <say  message="   '${resource.prefix}_${resource.criteria}.jar' not found! Generated features will be invalid."       unless="resource.version"/>
        <say  message="   servlet.version     = '${servlet.version}'"                                                         if="servlet.version"/>
        <say  message="   '${servlet.prefix}_${servlet.criteria}.jar' not found! Generated features will be invalid."         unless="servlet.version"/>
        <say  message="   xml.bind.version    = '${xml.bind.version}'"                                                        if="xml.bind.version"/>
        <say  message="   '${xml.bind.prefix}_${xml.bind.criteria}.jar' not found! Generated features will be invalid."       unless="xml.bind.version"/>
        <say  message="   sun.tools.xjc.version    = '${sun.tools.xjc.version}'"                                                    if="sun.tools.xjc.version"/>
        <say  message="   '${sun.tools.xjc.prefix}_${sun.tools.xjc.criteria}.jar' not found! Generated features will be invalid." unless="sun.tools.xjc.version"/>
        <say  message="   sun.xml.bind.version     = '${sun.xml.bind.version}'"                                                     if="sun.xml.bind.version"/>
        <say  message="   '${sun.xml.bind.prefix}_${sun.xml.bind.criteria}.jar' not found! Generated features will be invalid."   unless="sun.xml.bind.version"/>
        <say  message="   mongodb.version     = '${mongodb.version}'"                                                         if="mongodb.version"/>
        <say  message="   '${mongodb.prefix}_${mongodb.criteria}.jar' not found! Generated features will be invalid."         unless="mongodb.version"/>
        <say  message="   jaxrs.version       = '${jaxrs.version}'"                                                           if="jaxrs.version"/>
        <say  message="   '${jaxrs.prefix}_${jaxrs.criteria}.jar' not found! Generated features will be invalid."             unless="jaxrs.version"/>
        <say  message="   antlr.version       = '${antlr.version}'"                                                           if="antlr.version"/>
        <say  message="   '${antlr.prefix}_${antlr.criteria}.jar' not found! Generated features will be invalid."             unless="antlr.version"/>
        <say  message="   asm.version         = '${asm.version}'"                                                             if="asm.version"/>
        <say  message="   '${asm.prefix}_${asm.criteria}.jar' not found! Generated features will be invalid."                 unless="asm.version"/>
        <say  message="   hermes.version      = '${hermes.version}'"                                                          if="hermes.version"/>
        <say  message="   '${hermes.prefix}_${hermes.criteria}.jar' not found! Generated features will be invalid."           unless="hermes.version"/>
        <say  message="   oracle.version      = '${oracle.version}'"                                                          if="oracle.version"/>
        <say  message="   '${oracle.prefix}_${oracle.criteria}.jar' not found! Generated features will be invalid."           unless="oracle.version"/>
        <say  message="   oraclenosql.version = '${oraclenosql.version}'"                                                     if="oraclenosql.version"/>
        <say  message="   '${oraclenosql.prefix}_${oraclenosql.criteria}.jar' not found! Generated features will be invalid." unless="oraclenosql.version"/>
        <say  message="   json.version        = '${json.version}'"                                                            if="json.version"/>
        <say  message="   '${json.prefix}_${json.criteria}.jar' not found! Generated features will be invalid."               unless="json.version"/>
    </target>

    <target name="create-deployable-features" depends="resolve-feature-dependencies">
        <mkdir dir="${classes.dir}"/>
        <mkdir dir="${feature.build.dir}"/>
        <!--          Filters for feature.xml files                 -->
        <filter token="VERSION"             value="${release.version}"/>
        <filter token="QUALIFIER"           value="${version.qualifier}"/>
        <!--          Filters for dependencies in feature.xml files -->
        <filter token="SDO_VERSION"         value="${sdo.version}"/>
        <filter token="MAIL_VERSION"        value="${mail.version}"/>
        <filter token="PERSISTENCE_VERSION" value="${persistence.version}"/>
        <filter token="SERVLET_VERSION"     value="${servlet.version}"/>
        <filter token="RESOURCE_VERSION"    value="${resource.version}"/>
        <filter token="WSDL_VERSION"        value="${wsdl.version}"/>
        <filter token="JAXRS_VERSION"       value="${jaxrs.version}"/>
        <filter token="XMLBIND_VERSION"     value="${xml.bind.version}"/>
        <filter token="XJC_VERSION"          value="${sun.tools.xjc.version}"/>
        <filter token="JAXB_CORE_VERSION"    value="${sun.xml.bind.version}"/>
        <filter token="MONGODB_VERSION"     value="${mongodb.version}"/>
        <filter token="JSON_VERSION"         value="${json.version}"/>
        <!--          Filters for product bundles in feature.xml files -->
        <filter token="ANTLR_VERSION"       value="${antlr.version}"/>
        <filter token="ASM_VERSION"         value="${asm.version}"/>
        <filter token="HERMES_VERSION"      value="${hermes.version}"/>
        <filter token="ORACLEDDL_VERSION"   value="${oracleddl.version}"/>
        <filter token="ORACLE_VERSION"      value="${oracle.version}"/>
        <filter token="ORACLENOSQL_VERSION" value="${oraclenosql.version}"/>
        <!--          Filters for feature.properties files          -->
        <filter token="PROVIDER"            value="${specification.vendor}"/>
        <filter token="REPOS_NAME"          value="${p2.release.repos.name}"/>
        <filter token="MILESTONE_REPOS"     value="${p2.milestone.repos.name}"/>
        <filter token="PRIME_UPDATE_URL"    value="${p2.release.repos.url}"/> <!-- should be helios update? -->
        <filter token="SECOND_UPDATE_URL"   value="${p2.milestone.repos.url}"/> <!-- should be eclipselink release p2? -->
        <copy todir="${classes.dir}" filtering="true">
            <fileset dir="${feature.build.location}">
                <include name="**/feature*.*"/>
            </fileset>
        </copy>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.dbws"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.dbwsbuilder"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.jpa"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.nosql"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.moxy"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.sdo"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.dbws.source"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.dbwsbuilder.source"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.jpa.source"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.nosql.source"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.moxy.source"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.sdo.source"/>
        </antcall>
        <antcall target="jar-feature">
          <param name="feature.name" value="org.eclipse.persistence.sdk"/>
        </antcall>
    </target>

    <!-- Signing targets -->
    <target name="create-eclipselink-buildfile">
        <echo message="update eclipselink.build for Galileo, and place in features dir for later check-in."/>
        <filter token="VERSION"   value="${release.version}"/>
        <filter token="QUALIFIER" value="${version.qualifier}"/>
        <copy todir="${classes.dir}" filtering="true">
            <fileset dir="${feature.2.base.dir}/buildsystem">
                <include name="eclipselink.build"/>
            </fileset>
        </copy>
    </target>

    <target name="create-sign-zipfile" depends="create-eclipselink-buildfile">
        <delete failonerror="false">
            <fileset dir="." includes="${eclipselink.install.prefix}-P2-*.zip"/>
        </delete>
        <zip destfile="${p2.archive.presigned.zip}">
            <!-- Removed based on decision not to sign non-Galileo artifacts due to signing issues - 5/20/09 -->
            <!-- zipfileset dir="${feature.2.base.dir}"                         includes="eclipselink*.jar"/ -->
            <zipfileset dir="${classes.dir}"                                    includes="eclipselink.build"/>
            <!-- Removed based on decision to have different repos names, by build type - 5/26/09            -->
            <!-- zipfileset dir="${classes.dir}"                                includes="site.xml"/         -->
            <zipfileset dir="${feature.build.dir}"            prefix="features" includes="*.jar"/>
            <zipfileset dir="${feature.2.common.plugins.dir}" prefix="plugins"  includes="org.eclipse.persistence*.jar"/>
            <zipfileset dir="${feature.2.util.plugins.dir}"   prefix="plugins"  includes="org.eclipse.persistence*.jar"/>
            <!-- see https://bugs.eclipse.org/bugs/show_bug.cgi?id=348829 -->
            <zipfileset dir="${feature.2.jpa.plugins.dir}"    prefix="plugins"  includes="javax.persistence*.jar"/>
        </zip>
    </target>

    <target name="copy-and-queue-for-sign">
        <delete file="${signing.dir}/${p2.archive.presigned.zip}" failonerror="false"/>
        <delete file="${signing.dir}/signed-output/${p2.archive.presigned.zip}" failonerror="false"/>
        <copy file="${signed.archive.src.file}" todir="${signing.dir}"/> <!-- wait til cleared to avoid version confusion and overwriting? -->
        <exec executable="${signing.script}" dir="${signing.dir}" failonerror="false"> <!-- need to not stop if authority fails -->
            <arg value="${p2.archive.presigned.zip}"/>
            <arg value="nomail"/>
            <arg value="signed-output/"/>
        </exec>
    </target>

    <target name="retrieve-signed-archive" unless="signing.time.limit.exceeded" depends="wait-for-sign-jar,wait-report-timeout">
        <copy tofile="${signed.archive.dest.file}" file="${signing.dir}/signed-output/${p2.archive.presigned.zip}"/>
    </target>
    <target name="wait-report-timeout" if="signing.time.limit.exceeded">
        <echo message="Signing aborted, wait time exceeded!"/>
    </target>
    <target name="wait-for-sign-jar" depends="init">
        <echo message="Waiting for ${signing.dir}/signed-output/${p2.archive.presigned.zip}"/>
        <!-- With nightly builds taking anywhere from 85 to 120 minutes to complete, max wait-time can  -->
        <!-- only be roughly 100 minutes since the build starts at 2:35am and MUST finish before the    -->
        <!-- first continuous build at 6:30 (that leaves roughly a 15 minute window)                    -->
        <waitfor maxwait="100" maxwaitunit="minute" checkevery="15" checkeveryunit="second" timeoutproperty="signing.time.limit.exceeded">
            <available file="${signing.dir}/signed-output/${p2.archive.presigned.zip}"/>
        </waitfor>
    </target>

    <!-- P2 Targets -->
    <!-- clean -->
    <target name="test-ready-to-go">
        <condition property="p2.archive.zip" value="${p2.archive.presigned.zip}" else="foobar.error">
            <available file="${p2.archive.presigned.zip}"/>
        </condition>
        <available file="${p2.archive.zip}" property="signing.archive.exist"/>
        <say  message="p2.archive.zip      ='${p2.archive.zip}'"                 if="signing.archive.exist"/>
        <say  message="p2.archive.zip:      '${p2.archive.zip}' not found!"  unless="signing.archive.exist"/>
        <say  message="nosql.install.file  ='${nosql.install.file}'"                 if="nosql.installer.exist"/>
        <say  message="nosql.install.file:  '${nosql.install.file}' not found!"  unless="nosql.installer.exist"/>
        <say  message="bundle.install.file ='${bundle.install.file}'"                if="bundle.installer.exist"/>
        <say  message="bundle.install.file: '${bundle.install.file}' not found!" unless="bundle.installer.exist"/>
        <condition property="ready-to-go">
            <and>
                <isset property="signing.archive.exist"/>
                <isset property="bundle.installer.exist"/>
            </and>
        </condition>
    </target>

    <target name="not-ready-to-go" unless="ready-to-go" depends="test-ready-to-go">
        <fail message="Bundle Installer (${bundle.install.file}) or p2 archive (${p2.archive.zip})not found! Skipping P2 repos generation."/>
    </target>

    <target name="clear-p2-loc" if="ready-to-go" depends="not-ready-to-go">
        <delete dir="${p2.repos.dir}" failonerror="true"/>
        <echo message="Test without cleaning repos first."/>
    </target>

    <target name="populate-p2-site" if="ready-to-go" depends="init">
        <mkdir dir="${p2.bundle.dir}"/>
        <mkdir dir="${p2.feature.dir}"/>
        <!-- populate update site with feature and bundle jars -->
        <unzip dest="${p2.bundle.dir}" src="${bundle.install.file}">
            <patternset>
                <include name="**/*.jar"/>
            </patternset>
        </unzip>
        <unzip dest="${p2.bundle.dir}" src="${nosql.install.file}">
            <patternset>
                <include name="**/*.jar"/>
            </patternset>
        </unzip>
        <!-- replace with signed bits if applicable -->
        <unzip dest="${p2.bundle.dir}" src="${p2.archive.zip}">
            <patternset>
                <include name="plugins/*.jar"/>
            </patternset>
            <mapper type="flatten"/>
        </unzip>
        <!-- Remove jars we are not including in features at this time (needs to be separate because exclude in unzip does not seem to work) -->
        <delete>
            <fileset
                dir="${p2.bundle.dir}"
                includes="
                          *jms*.jar,
                          com.sun*.jar,
                          eclipselink*.jar,
                          *ejb*.jar,
                          javax.persistence*_1.*.jar,
                          *preview*.jar,
                          *javax.transaction*.jar,
                          javax.xml.bind.source*.jar,
                          *modelgen*.jar,
                          *soap*.jar,
                          *xml.ws*.jar,
                          *jpars*.jar"
            />
        </delete>
        <unzip dest="${p2.feature.dir}" src="${p2.archive.zip}">
            <patternset>
                <include name="features/*.jar"/>
            </patternset>
            <mapper type="flatten"/>
        </unzip>
    </target>

    <target name="publish-p2-repos" depends="init, publish-p2-solitary, publish-p2-child"/>

    <target name="create-site-for-generation" unless="do.composite">
        <mkdir dir="${site.dir}"/>
        <delete file="${site.dir}/site.xml" quiet="true"/>
        <filter token="REPOS_URL"          value="${p2.repos.url}"/>
        <filter token="VERSION"            value="${release.version}"/>
        <filter token="QUALIFIER"          value="${version.qualifier}"/>
        <copy todir="${site.dir}" file="${feature.build.location}/site.xml" filtering="true"/>
    </target>

    <target name="publish-p2-solitary" unless="do.composite" depends="create-site-for-generation">
        <copy todir="${p2.repos.dir}" file="${site.dir}/site.xml" filtering="false"/>
        <echo message="java.home        ='${java.home}'"/>
        <echo message="p2.SDK.plugin.dir='${p2.SDK.plugin.dir}'"/>
        <echo message="p2.launcher.jar  ='${p2.launcher.jar}'"/>
        <echo message="p2.publisher.jar ='${p2.publisher.jar}'"/>
        <echo message="-----"/>
        <echo message="p2.repos.dir     ='${p2.repos.dir}'"/>
        <echo message="p2.repos.url     ='${p2.repos.url}'"/>
        <!-- Metadata generator apparently doesn't rebuild the artifact and content xml files if they already exist -->
        <mkdir dir="${p2.repos.dir}"/>
        <delete  failonerror="false">
            <fileset dir="${p2.repos.dir}" includes="artifact*.*, content*.*"/>
        </delete>
        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2"
            jvm="${java.home}/bin/java" failonerror="false" maxmemory="256m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.publisher.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line=" -application org.eclipse.equinox.p2.publisher.UpdateSitePublisher" />
            <arg line=" -metadataRepository ${p2.repos.url}" />
            <arg line=" -artifactRepository ${p2.repos.url}" />
            <arg line=" -source ${p2.repos.dir}" />
            <arg line=" -compress -publishArtifacts -configs all" />
        </java>
    </target>

    <target name="publish-p2-child" if="do.composite">
        <echo message="java.home        ='${java.home}'"/>
        <echo message="p2.SDK.plugin.dir='${p2.SDK.plugin.dir}'"/>
        <echo message="p2.launcher.jar  ='${p2.launcher.jar}'"/>
        <echo message="p2.publisher.jar ='${p2.publisher.jar}'"/>
        <echo message="-----"/>
        <echo message="p2.repos.dir     ='${p2.repos.dir}'"/>
        <echo message="p2.repos.url     ='${p2.repos.url}'"/>
        <!-- Metadata generator apparently doesn't rebuild the artifact and content xml files if they already exist -->
        <mkdir dir="${p2.repos.dir}"/>
        <delete  failonerror="false">
            <fileset dir="${p2.repos.dir}" includes="artifact*.*, content*.*"/>
        </delete>
        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2"
            jvm="${java.home}/bin/java" failonerror="false" maxmemory="256m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.publisher.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line=" -application org.eclipse.equinox.p2.publisher.FeaturesAndBundlesPublisher" />
            <arg line=" -metadataRepository ${p2.repos.url}" />
            <arg line=" -artifactRepository ${p2.repos.url}" />
            <arg line=" -source ${p2.repos.dir}" />
            <arg line=" -compress -publishArtifacts -configs all" />
        </java>
    </target>

    <target name="mirror-p2-repos" depends="init"> <!-- , create-site-for-generation" -->
        <property name="p2.mirror.name" value="EclipseLink build ${version.string} Repository"/>
        <echo message="java.home        ='${java.home}'"/>
        <echo message="p2.SDK.plugin.dir='${p2.SDK.plugin.dir}'"/>
        <echo message="p2.launcher.jar  ='${p2.launcher.jar}'"/>
        <echo message="p2.publisher.jar ='${p2.publisher.jar}'"/>
        <echo message="-----"/>
        <echo message="source URL (p2.repos.url)       ='${p2.repos.url}'"/>
        <echo message="destination dir (p2.mirror.dir) ='${p2.mirror.dir}'"/>
        <echo message="destination URL (p2.mirror.url) ='${p2.mirror.url}'"/>
        <echo message="destination name(p2.mirror.name)='${p2.mirror.name}'"/>
        <echo message="-----"/>
        <!-- Metadata generator apparently doesn't rebuild the artifact and content xml files if they already exist -->
        <mkdir dir="${p2.mirror.dir}"/>
        <delete  failonerror="false">
            <fileset dir="${p2.mirror.dir}" includes="artifact*.*, content*.*"/>
        </delete>
        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2.M.mirror"
            jvm="${java.home}/bin/java" failonerror="false" maxmemory="256m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.artifact.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line=" -application org.eclipse.equinox.p2.metadata.repository.mirrorApplication" />
            <arg line=" -source ${p2.repos.url}" />
            <arg line=" -destination ${p2.mirror.url}" />
            <arg line=" -destinationName '${p2.mirror.name}'" />
        </java>
        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2.A.mirror"
            jvm="${java.home}/bin/java" failonerror="false" maxmemory="256m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.artifact.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line=" -application org.eclipse.equinox.p2.artifact.repository.mirrorApplication" />
            <arg line=" -source ${p2.repos.url}" />
            <arg line=" -destination ${p2.mirror.url}" />
            <arg line=" -destinationName '${p2.mirror.name}'" />
            <arg line=" -verbose -raw" />
        </java>
    </target>

    <target name="test-p2-site" depends="init">
        <!-- EclipseLink SDK installation variables -->
        <property name="p2.director.jar" value="org.eclipse.equinox.p2.director_*.jar"/>
        <property name="p2.director.destination" location="${p2.SDK.install.dir}" />
        <property name="p2.director.bundlepool" location="${p2.director.destination}" />
        <property name="p2.director.profile" value="SDKProfile" />
        <property name="p2.director.installIU" value="org.eclipse.persistence.sdk.feature.group" />
        <property name="p2.director.action" value="-verifyOnly" />
        <property name="p2.director.eclipse.version" value="luna" />
        <property name="p2.director.eclipse.updateSite" value="http://download.eclipse.org/releases/${p2.director.eclipse.version}" />
        <property name="p2.director.additionalArgs" value="" />
        <echo message="p2.director.jar                  ='${p2.director.jar}'"/>
        <echo message="p2.director.destination          ='${p2.director.destination}'"/>
        <echo message="p2.director.bundlepool           ='${p2.director.bundlepool}'"/>
        <echo message="p2.director.profile              ='${p2.director.profile}'"/>
        <echo message="p2.director.installIU            ='${p2.director.installIU}'"/>
        <echo message="p2.director.action               ='${p2.director.action}'"/>
        <echo message="p2.director.eclipse.version      ='${p2.director.eclipse.version}'"/>
        <echo message="p2.director.eclipse.updateSite   ='${p2.director.eclipse.updateSite}'"/>
        <echo message="p2.director.additionalArgs       ='${p2.director.additionalArgs}'"/>

        <echo message="Verifying EclipseLink Update Site: '${p2.repos.url}'"/>

        <java classname="org.eclipse.equinox.launcher.Main" fork="true" timeout="10800000" taskname="p2.director"
            jvm="${java.home}/bin/java" failonerror="true" maxmemory="512m">
            <classpath>
                <fileset dir="${p2.SDK.plugin.dir}"
                    includes="${p2.launcher.jar},
                              ${p2.director.jar}"/>
                <pathelement location="${p2.SDK.plugin.dir}" />
            </classpath>
            <arg line="-application org.eclipse.equinox.p2.director" />
            <arg line="-nosplash -flavor tooling -roaming" />
            <arg line="-profile '${p2.director.profile}'" />
            <arg line="-destination '${p2.director.destination}'" />
            <arg line="-bundlepool '${p2.director.bundlepool}'" />
            <arg line="-installIU '${p2.director.installIU}'" />
            <arg line="-tag EclipseLinkSDK"/>
            <arg line="${p2.director.action}"/>
            <arg line="-profileProperties org.eclipse.update.install.features=true" />
            <arg line="-repository ${p2.repos.url},${p2.director.eclipse.updateSite}" />
            <arg line="${p2.director.additionalArgs}"/>
        </java>
    </target>
</project>
