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

<project name="Upload EclipseLink artifacts to Maven repository"  basedir="." xmlns:artifact="urn:maven-artifact-ant" default="upload-maven-all">
  <path id="maven-ant-tasks.classpath" path="${build.deps.dir}/mavenant/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" />

   <!-- The repository where maven artifacts will be uploaded -->
   <artifact:remoteRepository id="eclipselink.repository" url="file:///home/data/httpd/download.eclipse.org/rt/eclipselink/maven.repo" />

    <target name = "upload-maven-init">
        <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.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}"/>

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

   <target name = "upload-maven-all" depends = "upload-maven-init">
     <!-- call upload for each artifact we want to upload -->
        <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="${eclipselink.plugins}/${eclipselink.core.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.core.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink Core"/>
        </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="${eclipselink.plugins}/${eclipselink.jpa.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.jpa.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA"/>
        </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="${eclipselink.plugins}/${eclipselink.equinox.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.equinox.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA Equinox Fragment"/>
        </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="${eclipselink.plugins}/${eclipselink.weaving.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.weaving.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink JPA Weaving for Equinox Fragment"/>
        </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="${eclipselink.plugins}/${eclipselink.moxy.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.moxy.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink Moxy"/>
        </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="${eclipselink.plugins}/${eclipselink.sdo.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.sdo.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink SDO"/>
        </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="${eclipselink.plugins}/${eclipselink.oracle.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.oracle.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink Oracle Extensions"/>
        </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="${eclipselink.plugins}/${eclipselink.antlr.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.antlr.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink ANTLR"/>
        </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="${eclipselink.plugins}/${eclipselink.asm.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.asm.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink ASM"/>
        </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="${eclipselink.plugins}/${eclipselink.dbws.bndl.prefix}_${version.string}.jar"/>
            <param name="artifactSrc" value="${eclipselink.plugins}/${eclipselink.dbws.bndl.prefix}.source_${version.string}.jar"/>
            <param name="artifactName" value="EclipseLink DBWS"/>
        </antcall>
        <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="${eclipselink.jar.name}"/>
            <param name="artifactSrc" value="${eclipselink.src.install.prefix}${eclipselink.zip.suffix}"/>
            <param name="artifactName" value="EclipseLink"/>
        </antcall>
        <antcall target="upload-artifact">
            <param name="groupId" value="org.eclipse.persistence"/>
            <param name="artifactId" value="javax.persistence"/>
            <param name="artifactVersion" value="${maven.version}"/>
            <param name="artifact" value="${eclipselink.jpa.base}/${plugins.dir}/javax.persistence_1.99.0.v200906021518.jar"/>
            <param name="artifactSrc" value="${eclipselink.jpa.base}/${plugins.dir}/javax.persistence.source_1.99.0.v200906021518.jar"/>
            <param name="artifactName" value="Javax Persistence 1.99.0"/>
        </antcall>
   </target>

   <!-- Uploads a single artifact to maven repository -->
   <target name="upload-artifact" >
       <!-- 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}"/>
          </filterset>
       </copy>

       <!-- 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>
</project>


