<!--/*******************************************************************************
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
* which accompanies this distribution.
* The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
* and the Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*   Ant naming conventions:
*   - regardless of the actual OS platform,'/' is the directory separator
*     (Ant will convert as appropriate).
*   - multi-word properties use periods '.'
*     - properties ending in .jar define jarfile names only (no path)
*     - properties ending in .lib are fully qualified jars (path and filename)
*     - properties ending in .dir are directory paths
*     - properties ending in .path are path refid names (classpath fragments)
*   - multi-word targets use hyphens '-'
*     - targets beginning with test- are reserved for high level test targets,
*       and are used in test results parsing
*     - targets typically use the form <action>-<object>-<type> (ie. package-bundle-zip)
*   - multi-word macros use underscores '_'
*   - multi-word macro attributes are concatenated
*     e.g. 'runpathref'
*   - multi-word tasks (taskdef) names are concatenated
*     e.g. 'validateconnection'
*   - OS environment variables are in ALLCAPS and have 'env' as a prefix
*     e.g. ${env.XXX}.
*   - Ant properties are lower case.
*
* Contributors:
*     mmeswani - initial API and implementation (checked in by tware)
*     egwin    - updated variables as they have changed in the rest of the system
*                updated svnversion to not break build, and default if exec fails
#******************************************************************************/-->
<!-- Variables Needed:
*         release.version - need three tokens: Major.Minor.Service
*         build.date      - in format YYYYMMDD
*         build.type      - should be set to "SNAPSHOT, "M##", or "RELEASE"
*         bundle.dir      - location of bundles to publish
*
*********************************************************************************-->
<!-- Build Assumptions:
*         running from a specific branch "view"
*            Needs:
*               ${mavenant.dir}/maven-ant-tasks-2.0.8.jar (assumes: ${build.deps.dir}/mavenant)
*               build.properties
*               ./buildsystem/ant_customizations.jar
*
*********************************************************************************-->
<project name="Upload2Maven"  basedir="." xmlns:artifact="urn:maven-artifact-ant" default="upload-maven-all">
    <property file="${user.home}/build.properties"/>
    <property file="build.properties"/>
    <!-- The following properties defined so they can be overridden for testing -->
    <property name="mavenant.dir" value="${build.deps.dir}/mavenant"/>
    <property name="eclipselink.root.download.dir" value="home/data/httpd/download.eclipse.org/rt/eclipselink"/>

    <path id="maven-ant-tasks.classpath" path="${mavenant.dir}/maven-ant-tasks-2.0.8.jar" />
    <typedef resource="org/apache/maven/artifact/ant/antlib.xml" uri="urn:maven-artifact-ant"
             classpathref="maven-ant-tasks.classpath" />

    <!-- "maven dir" defined for later use ensuring only single upload occurs -->
    <property name="maven.repo.dir" value="${eclipselink.root.download.dir}/maven.repo"/>
    <!-- The repository where maven artifacts will be uploaded -->
    <artifact:remoteRepository id="eclipselink.repository" url="file:///${maven.repo.dir}" />

    <target name="upload-maven-all" depends="upload-eclipselink, upload-dependencies"/>

    <target name="discover-init">
        <dirname  property="maven.build.location_temp" file="${ant.file.Upload2Maven}"/>
        <pathconvert targetos="unix" property="maven.build.location">
            <path>
                <pathelement location="${maven.build.location_temp}"/>
            </path>
        </pathconvert>
        <property file="${user.home}/build.properties"/>
        <!-- discover path definitions -->
        <property name="maven.2.bundle.dir"    value="${bundle.dir}"/>
        <property name="maven.2.buildsys.dir"  value="${maven.build.location}/buildsystem"/>

        <!-- Custom task definitions -->
        <property name="custom.tasks.lib" value="${maven.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"/>
        <taskdef name="say"          classname="${custom.echo.task.class}"         classpath="${custom.tasks.lib}"/>
        <taskdef name="selectbundle" classname="${custom.selectbundle.task.class}" classpath="${custom.tasks.lib}"/>
    </target>

    <target name="discover-static-built-info" depends="discover-init">
        <property name="jpaapi2.prefix"   value="javax.persistence"/>
        <property name="jpaapi2.criteria" value="[2.0.0,2.1.0)"/>
        <property name="jpaapi2.name"     value="Javax Persistence"/>
        <property name="sdoapi.prefix"    value="commonj.sdo"/>
        <property name="sdoapi.criteria"  value="[2.1.1,2.2.0)"/>
        <property name="sdoapi.name"      value="SDO API"/>

        <selectbundle basename="${jpaapi2.prefix}"  directory="${maven.2.bundle.dir}"
                     criterion="${jpaapi2.criteria}" property="jpaapi2.version" versiononly="true"
        />
        <selectbundle basename="${sdoapi.prefix}"  directory="${maven.2.bundle.dir}"
                     criterion="${sdoapi.criteria}" property="sdoapi.version" versiononly="true"
        />

        <echo message="jpaapi2.version = ${jpaapi2.version}"/>
        <echo message="sdoapi.version  = ${sdoapi.version}"/>
    </target>

    <target name="upload-maven-init" depends="discover-static-built-info">
        <!-- Defaults for testing, will be previously set on real run -->
        <tstamp>
            <format property="build.date" pattern="yyyyMMdd"/>
        </tstamp>

        <fail message="Cannot upload to Maven without a release.version defined!" unless="release.version"/>
        <fail message="Cannot upload to Maven without a build.date defined!"      unless="build.date"/>
        <fail message="Cannot upload to Maven without a build.type defined!"      unless="build.type"/>

        <!--  Get the subversion version for current working copy. A freshly       -->
        <!--  checked out copy of workspace is guaranteed to not have mixed        -->
        <!--  revisions                                                            -->
        <exec outputproperty="svn.revision"
            failonerror="false"
            failifexecutionfails="false"
            errorproperty="svnversion.failed"
            executable="svnversion">
            <arg line="."/>
        </exec>
        <property name="svn.revision" value="NA"/>
        <!-- fail message="Cannot upload to Maven a build with an unknown revision!" if="svnversion.failed"/ -->

        <!-- Set version.string appropriately depending upon build.type and if svn -->
        <!--    is present. variable should only be used for uploaded filenames    -->
        <!--    or manifest entries.                                               -->
        <condition property="version.string" value="${release.version}.qualifier"
                                              else="${release.version}.v${build.date}-r${svn.revision}">
            <equals arg1="${svn.revision}" arg2="NA"/>
        </condition>

        <!-- Set maven.version appropriately depending upon ${build.type}.        -->
        <!--    variable should only be used for maven version element in POM.    -->
        <condition property="maven.version" value="${release.version}-${build.type}">
            <equals arg1="${build.type}" arg2="SNAPSHOT"/>
        </condition>
        <condition property="maven.version" value="${release.version}">
            <equals arg1="${build.type}" arg2="RELEASE"/>
        </condition>
        <property name="maven.version" value="${release.version}-${build.type}"/>

        <echo message="release.version: ${release.version}"/>
        <echo message="build.date:      ${build.date}"/>
        <echo message="build.type:      ${build.type}"/>
        <echo message="svn.revision:    ${svn.revision}"/>
        <echo message="version.string:  ${version.string}"/>
        <echo message="maven.version:   ${maven.version}"/>

        <!-- Setup static dependency definitions -->
        <!--  Would be nice to setup in the beginning, but the library definitions need version.string defined -->

        <!-- These need to be used in order -->
        <property name="deps.head" value="&lt;dependencies&gt;"/>
        <property name="dep.grp"   value="&lt;dependency&gt;&lt;groupId&gt;"/>
        <property name="dep.art"   value="&lt;/groupId&gt;&lt;artifactId&gt;"/>
        <property name="dep.ver"   value="&lt;/artifactId&gt;&lt;version&gt;"/>
        <property name="dep.type"  value="&lt;/version&gt;&lt;type&gt;"/>
        <property name="dep.scope" value="&lt;/type&gt;&lt;scope&gt;"/>
        <property name="dep.opt"   value="&lt;/scope&gt;&lt;optional&gt;"/>
        <property name="dep.foot"  value="&lt;/optional&gt;&lt;/dependency&gt;"/>
        <property name="deps.foot" value="&lt;/dependencies&gt;"/>

        <!-- These use above, in order, to define a single library for an artifact dependency -->
        <property name="dep.antlr"         value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.antlr${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.asm"           value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.asm${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.dbws"          value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.dbws${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.core"          value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.core${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.oracle"        value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.oracle${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.jpa"           value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.jpa${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.jpa.equinox"   value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.equinox${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.jpa.modelgen"  value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.jpa.modelgen${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.jpa.osgi"      value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.osgi${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.jpa.processor" value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.jpa.modelgen.processor${dep.ver}${maven.version}${dep.type}jar${dep.scope}runtime${dep.opt}false${dep.foot}"/>
        <property name="dep.jpa.weaving"   value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.weaving${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.moxy"          value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.moxy${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.sdo"           value="${dep.grp}org.eclipse.persistence${dep.art}org.eclipse.persistence.sdo${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.eclipselink"   value="${dep.grp}org.eclipse.persistence${dep.art}eclipselink${dep.ver}${maven.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.persistence2"  value="${dep.grp}org.eclipse.persistence${dep.art}javax.persistence${dep.ver}${jpaapi2.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.persistence"   value="${dep.grp}org.eclipse.persistence${dep.art}javax.persistence${dep.ver}1.0.0.${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>
        <property name="dep.sdoapi"        value="${dep.grp}commonj.sdo${dep.art}commonj.sdo${dep.ver}${sdoapi.version}${dep.type}jar${dep.scope}compile${dep.opt}false${dep.foot}"/>

        <!-- These define the dependency block for a given artifact -->
        <!-- * JPA does have a dependency upon javax.persistence, but it is left unstated because while 2.0 functionality -->
        <!--   depends upon javax.persistence_2.0.x jpa 1.0 functionality can run with just javax.persistence_1.0         -->
        <!-- * The modelgen processor is a jar containing a single data resource used by the compiler to establish a      -->
        <!--   canonical modelgen processor during compilation. It has no real dependencies, nor is anything really       -->
        <!--   dependant upon it, but it is needed for this compiler functionality to work. (think of it as a compiler    -->
        <!--   add-on). It will need to be downloaded independently for this feature (modelgen) to work.                  -->
        <property name="eclipselink.dependencies" value="${deps.head}${dep.persistence2}${dep.sdoapi}${deps.foot}"/>
        <property name="core.dependencies"        value="${deps.head}${dep.asm}${deps.foot}"/>
        <property name="oracle.dependencies"      value="${deps.head}${dep.persistence2}${dep.asm}${dep.core}${deps.foot}"/>
        <property name="jpa.dependencies"         value="${deps.head}${dep.persistence2}${dep.asm}${dep.antlr}${dep.core}${deps.foot}"/>
        <property name="modelgen.dependencies"    value="${deps.head}${dep.core}${dep.jpa}${dep.jpa.processor}${deps.foot}"/>
        <property name="osgi.dependencies"        value="${deps.head}${dep.jpa}${deps.foot}"/>
        <property name="weaving.dependencies"     value="${deps.head}${dep.jpa}${deps.foot}"/>
        <property name="equinox.dependencies"     value="${deps.head}${dep.jpa.weaving}${dep.jpa}${deps.foot}"/>
        <property name="dbws.dependencies"        value="${deps.head}${dep.core}${deps.foot}"/>
        <property name="moxy.dependencies"        value="${deps.head}${dep.core}${dep.antlr}${deps.foot}"/>
        <property name="sdo.dependencies"         value="${deps.head}${dep.sdoapi}${dep.moxy}${dep.core}${deps.foot}"/>
    </target>

    <target name="upload-static-built-jars" depends="discover-static-built-info">
        <antcall target="upload-release-artifact">
            <param name="repo.dir"        value="/${maven.repo.dir}/org/eclipse/persistence/${jpaapi2.prefix}/${jpaapi2.version}"/>
            <param name="groupId"         value="org.eclipse.persistence"/>
            <param name="artifactId"      value="${jpaapi2.prefix}"/>
            <param name="artifactVersion" value="${jpaapi2.version}"/>
            <param name="artifact"        value="${maven.2.bundle.dir}/${jpaapi2.prefix}_${jpaapi2.version}.jar"/>
            <param name="artifactSrc"     value="${maven.2.bundle.dir}/${jpaapi2.prefix}.source_${jpaapi2.version}.jar"/>
            <param name="artifactName"    value="${jpaapi2.name}"/>
            <param name="dependencies"    value=""/>
        </antcall>
        <antcall target="upload-release-artifact-no-src">
            <param name="repo.dir"        value="/${maven.repo.dir}/commonj/sdo/${sdoapi.prefix}/${sdoapi.version}"/>
            <param name="groupId"         value="${sdoapi.prefix}"/>
            <param name="artifactId"      value="${sdoapi.prefix}"/>
            <param name="artifactVersion" value="${sdoapi.version}"/>
            <param name="artifact"        value="${maven.2.bundle.dir}/${sdoapi.prefix}_${sdoapi.version}.jar"/>
            <param name="artifactName"    value="${sdoapi.name}"/>
            <param name="dependencies"    value=""/>
        </antcall>
    </target>

    <target name="upload-eclipselink" depends="upload-maven-init,upload-static-built-jars">
        <!-- call upload for each artifact we want to upload -->
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="eclipselink"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/eclipselink.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/eclipselink-src.zip"/>
            <param name="artifactName" value="EclipseLink (non-OSGi)"/>
            <param name="dependencies" value="${eclipselink.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.antlr"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.antlr_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.antlr.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink ANTLR"/>
            <param name="dependencies" value=""/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.asm"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.asm_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.asm.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink ASM"/>
            <param name="dependencies" value=""/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.core"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.core_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.core.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink Core"/>
            <param name="dependencies" value="${core.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.oracle"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.oracle_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.oracle.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink Oracle Extensions"/>
            <param name="dependencies" value="${oracle.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.jpa"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA"/>
            <param name="dependencies" value="${jpa.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact-no-src">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.jpa.modelgen.processor"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/eclipselink-jpa-modelgen_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA Modelgen Processor (non-OSGi)"/>
            <param name="dependencies" value=""/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.jpa.modelgen"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.modelgen_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.modelgen.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA Modelgen (non-OSGi)"/>
            <param name="dependencies" value="${modelgen.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.weaving"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.equinox.weaving_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.equinox.weaving.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA Weaving for Equinox Fragment"/>
            <param name="dependencies" value="${weaving.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.equinox"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.equinox_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.equinox.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA Equinox Fragment"/>
            <param name="dependencies" value="${equinox.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.osgi"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.osgi_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.jpa.osgi.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink OSGi Deployment Fragment"/>
            <param name="dependencies" value="${equinox.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.moxy"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.moxy_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.moxy.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink Moxy"/>
            <param name="dependencies" value="${moxy.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.sdo"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.sdo_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.sdo.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink SDO"/>
            <param name="dependencies" value="${sdo.dependencies}"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="org.eclipse.persistence.dbws"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/org.eclipse.persistence.dbws_${version.string}.jar"/>
            <param name="artifactSrc" value="${maven.2.bundle.dir}/org.eclipse.persistence.dbws.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink DBWS"/>
            <param name="dependencies" value="${dbws.dependencies}"/>
        </antcall>
    </target>

    <!-- Targets to do the Dependency upload   -->
    <target name="discover-dependency-info" depends="discover-init">
        <!-- third-party Dependency variables -->
        <!-- Defaults, set var in ${user.home}/build.properties if different version required -->
        <property name="activation.prefix" value="javax.activation"/>
        <property name="activation.criteria" value="[1.1.0,1.2.0)"/>
        <property name="activation.name" value="Javax Activation"/>
        <!-- property name="jms.prefix" value="javax.jms"/>
        <property name="jms.criteria" value="[1.1.0,1.2.0)"/>
        <property name="jms.name" value="Javax JMS"/ -->
        <property name="mail.prefix" value="javax.mail"/>
        <property name="mail.criteria" value="[1.4.0,1.5.0)"/>
        <property name="mail.name" value="Javax Mail"/>
        <property name="servlet.prefix" value="javax.servlet"/>
        <property name="servlet.criteria" value="[2.4.0,2.5.0)"/>
        <property name="servlet.name" value="Javax Servlet"/>
        <property name="xml.bind.prefix" value="javax.xml.bind"/>
        <property name="xml.bind.criteria" value="[2.2.0,2.3.0)"/>
        <property name="xml.bind.name" value="Javax XML Bind"/>
        <property name="xml.stream.prefix" value="javax.xml.stream"/>
        <property name="xml.stream.criteria" value="[1.0.1,1.1.0)"/>
        <property name="xml.stream.name" value="Javax XML Stream"/>

        <!-- Discover dependencies for branch/build -->
        <selectbundle basename="${activation.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${activation.criteria}" property="activation.version" versiononly="true"
        />
        <selectbundle basename="${mail.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${mail.criteria}" property="mail.version" versiononly="true"
        />
        <selectbundle basename="${servlet.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${servlet.criteria}" property="servlet.version" versiononly="true"
        />
        <selectbundle basename="${xml.bind.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${xml.bind.criteria}" property="xml.bind.version" versiononly="true"
        />
        <selectbundle basename="${xml.stream.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${xml.stream.criteria}" property="xml.stream.version" versiononly="true"
        />
        <echo message="activation.version = ${activation.version}"/>
        <echo message="mail.version       = ${mail.version}"/>
        <echo message="servlet.version    = ${servlet.version}"/>
        <echo message="xml.bind.version   = ${xml.bind.version}"/>
        <echo message="xml.stream.version = ${xml.stream.version}"/>
        <!-- selectbundle basename="${jms.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${jms.criteria}" property="jms.version" versiononly="true"
        />
        <selectbundle basename="${xjc.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${xjc.criteria}" property="xjc.version" versiononly="true"
        />
        <selectbundle basename="${xml.bind.impl.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${xml.bind.impl.criteria}" property="xml.bind.impl.version" versiononly="true"
        />
        <selectbundle basename="${xml.rcp.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${xml.rcp.criteria}" property="xml.rcp.version" versiononly="true"
        />
        <selectbundle basename="${xml.soap.prefix}" directory="${maven.2.bundle.dir}"
                     criterion="${xml.soap.criteria}" property="xml.soap.version" versiononly="true"
        />
        <echo message="====================================="/>
        <echo message="jms.version           = ${jms.version}"/>
        <echo message="xjc.version           = ${xjc.version}"/>
        <echo message="xml.bind.impl.version = ${xml.bind.impl.version}"/>
        <echo message="xml.rcp.version       = ${xml.rcp.version}"/>
        <echo message="xml.soap.version      = ${xml.soap.version}"/ -->
    </target>

    <target name="upload-dependencies" depends="discover-dependency-info">
        <!-- call upload for each artifact we want to upload -->
        <!-- ACTIVATION API -->
        <antcall target="upload-release-artifact-no-src">
            <param name="repo.dir" value="/${maven.repo.dir}/javax/activation/${activation.prefix}/${activation.version}"/>
            <param name="groupId" value="${activation.prefix}"/>
            <param name="artifactId" value="${activation.prefix}"/>
            <param name="artifactVersion" value="${activation.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/${activation.prefix}_${activation.version}.jar"/>
            <param name="artifactName" value="${activation.name}"/>
            <param name="dependencies" value=""/>
        </antcall>
        <!-- JMS API -->
        <!-- antcall target="upload-release-artifact-no-src">
            <param name="repo.dir" value="/${maven.repo.dir}/javax/jms/${jms.prefix}/${jms.version}"/>
            <param name="groupId" value="${jms.prefix}"/>
            <param name="artifactId" value="${jms.prefix}"/>
            <param name="artifactVersion" value="${jms.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/${jms.prefix}_${jms.version}.jar"/>
            <param name="artifactName" value="${jms.name}"/>
            <param name="dependencies" value=""/>
        </antcall -->
        <!-- MAIL API -->
        <antcall target="upload-release-artifact-no-src">
            <param name="repo.dir" value="/${maven.repo.dir}/javax/mail/${mail.prefix}/${mail.version}"/>
            <param name="groupId" value="${mail.prefix}"/>
            <param name="artifactId" value="${mail.prefix}"/>
            <param name="artifactVersion" value="${mail.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/${mail.prefix}_${mail.version}.jar"/>
            <param name="artifactName" value="${mail.name}"/>
            <param name="dependencies" value=""/>
        </antcall>
        <!-- SERVLET API -->
        <antcall target="upload-release-artifact-no-src">
            <param name="repo.dir" value="/${maven.repo.dir}/javax/servlet/${servlet.prefix}/${servlet.version}"/>
            <param name="groupId" value="${servlet.prefix}"/>
            <param name="artifactId" value="${servlet.prefix}"/>
            <param name="artifactVersion" value="${servlet.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/${servlet.prefix}_${servlet.version}.jar"/>
            <param name="artifactName" value="${servlet.name}"/>
            <param name="dependencies" value=""/>
        </antcall>
        <!-- XML BIND API -->
        <antcall target="upload-release-artifact-no-src">
            <param name="repo.dir" value="/${maven.repo.dir}/javax/xml.bind/${xml.bind.prefix}/${xml.bind.version}"/>
            <param name="groupId" value="${xml.bind.prefix}"/>
            <param name="artifactId" value="${xml.bind.prefix}"/>
            <param name="artifactVersion" value="${xml.bind.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/${xml.bind.prefix}_${xml.bind.version}.jar"/>
            <param name="artifactName" value="${xml.bind.name}"/>
            <param name="dependencies" value=""/>
        </antcall>
        <!-- XML STREAM API -->
        <antcall target="upload-release-artifact-no-src">
            <param name="repo.dir" value="/${maven.repo.dir}/javax/xml.stream/${xml.stream.prefix}/${xml.stream.version}"/>
            <param name="groupId" value="${xml.stream.prefix}"/>
            <param name="artifactId" value="${xml.stream.prefix}"/>
            <param name="artifactVersion" value="${xml.stream.version}"/>
            <param name="artifact" value="${maven.2.bundle.dir}/${xml.stream.prefix}_${xml.stream.version}.jar"/>
            <param name="artifactName" value="${xml.stream.name}"/>
            <param name="dependencies" value=""/>
        </antcall>
    </target>


    <!-- Generic targets to do the Maven work  -->
    <target name="prepare-pom">
        <!-- Copy pom.template to pom.xml filtering various properties -->
        <copy file="pom.xml.template" tofile="pom.xml" overwrite="true">
          <filterset>
            <filter token="groupId"      value="${groupId}"/>
            <filter token="version"      value="${artifactVersion}"/>
            <filter token="svn.revision" value="${svn.revision}"/>
            <filter token="artifactId"   value="${artifactId}"/>
            <filter token="artifactName" value="${artifactName}"/>
            <filter token="dependencies" value="${dependencies}"/>
           </filterset>
        </copy>
    </target>

    <target name="verify-no-exist">
        <available file="${repo.dir}" property="repo.version.exist" type="dir" value="true"/>
        <say message="'${artifactName}' version '${artifactVersion}' already deployed to repository... skipping." if="repo.version.exist"/>
     </target>

    <!-- Uploads a single artifact & source to maven repository only if one doesn't already exist -->
    <target name="upload-release-artifact" unless="repo.version.exist" depends="verify-no-exist, prepare-pom">
        <echo message="Deploying '${artifactName}' version '${artifactVersion}' to repository..."/>
        <!-- Delploy the jar to maven repository along with sources -->
        <artifact:pom id="maven.project" file="pom.xml" />
        <artifact:deploy file="${artifact}">
          <remoteRepository refid="eclipselink.repository"/>
          <pom refid="maven.project"/>
          <artifact:attach file="${artifactSrc}" classifier="sources"/>
        </artifact:deploy>
        <!-- cleanup -->
        <delete file="pom.xml"/>
    </target>

    <!-- Uploads a single artifact without src to maven repository only if one doesn't already exist -->
    <target name="upload-release-artifact-no-src" unless="repo.version.exist" depends="verify-no-exist, prepare-pom">
        <echo message="Deploying '${artifactName}' version '${artifactVersion}' to repository..."/>
        <!-- Delploy the jar to maven repository along with sources -->
        <artifact:pom id="maven.project" file="pom.xml" />
        <artifact:deploy file="${artifact}">
          <remoteRepository refid="eclipselink.repository"/>
          <pom refid="maven.project"/>
        </artifact:deploy>
        <!-- cleanup -->
        <delete file="pom.xml"/>
    </target>

    <!-- Uploads a single artifact & source to maven repository -->
    <target name="upload-artifact" depends="prepare-pom">
        <!-- Delploy the jar to maven repository along with sources -->
        <artifact:pom id="maven.project" file="pom.xml" />
        <artifact:deploy file="${artifact}">
          <remoteRepository refid="eclipselink.repository"/>
          <pom refid="maven.project"/>
          <artifact:attach file="${artifactSrc}" classifier="sources"/>
        </artifact:deploy>
        <!-- cleanup -->
        <delete file="pom.xml"/>
    </target>

    <!-- Uploads a single artifact without src to maven repository -->
    <target name="upload-artifact-no-src" depends="prepare-pom">
        <!-- Delploy the jar to maven repository along with sources -->
        <artifact:pom id="maven.project" file="pom.xml" />
        <artifact:deploy file="${artifact}">
          <remoteRepository refid="eclipselink.repository"/>
          <pom refid="maven.project"/>
        </artifact:deploy>
        <!-- cleanup -->
        <delete file="pom.xml"/>
    </target>

</project>


