<?xml version="1.0" encoding="UTF-8"?>
<!--
 ******************************************************************************
 * Copyright (c) 2008, 2010 VMware Inc.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *   VMware Inc. - initial contribution
 ******************************************************************************
-->

<project name="publish-multi-bundle" xmlns:ivy="antlib:org.apache.ivy.ant">

    <import file="common.xml"/>

<!-- Main targets -->

    <target name="publish-ivy" description="Publishes all ivy artifacts to remote Eclipse Ivy repositories">
        <all-bundles target="publish-ivy"/>
    </target>

    <target name="publish-maven" description="Publishes all maven artifacts to remote Eclipse Maven repositories">
        <all-bundles target="publish-maven"/>
    </target>

    <target name="install-maven">
        <all-bundles target="install-maven"/>
    </target>
    
    <target name="p2.extract-publisher" description="Extracts Equinox+P2 needed for P2 Publishing">
        <delete quiet="true" file="${p2.publishing.dir}"/>
        <mkdir dir="${p2.publishing.dir}"/>
        <get src="http://www.eclipse.org/downloads/download.php?file=/equinox/drops/R-3.6.1-201009090800/equinox-p2-agent-3.6.1-linux.tar.gz&amp;r=1"
             dest="${p2.publishing.dir}/p2agent.tar.gz"
             usetimestamp="true"/>
        
        <gunzip src="${p2.publishing.dir}/p2agent.tar.gz" dest="${p2.publishing.dir}"/>
        <untar src="${p2.publishing.dir}/p2agent.tar" dest="${p2.publishing.dir}"/>
        
        <move tofile="${p2.launcher.jar}">
            <fileset dir="${p2.publishing.dir}/plugins">
              <include name="org.eclipse.equinox.launcher*.jar"/>
            </fileset>
        </move>
    </target>

    <target name="publish-package-build">
        <fail message="The 'project.name' property must be set on this project.">
            <condition>
                <not>
                    <isset property="project.name"/>
                </not>
            </condition>
        </fail>
        <checksum file="${package.output.file}" algorithm="sha1"/>
        <sshexec host="build.eclipse.org" 
                username="${eclipse.buildId}" 
                keyfile="${key.file}" 
                passphrase="${passphrase}"
                command="mkdir -pv /opt/public/rt/virgo/zips/${adjusted.release.type}/${project.key}/${bundle.version}"/>
        <scp localFile="${package.output.file}"
                todir="${eclipse.buildId}@build.eclipse.org:/opt/public/rt/virgo/zips/${adjusted.release.type}/${project.key}/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
        <scp localFile="${package.output.file}.sha1"
                todir="${eclipse.buildId}@build.eclipse.org:/opt/public/rt/virgo/zips/${adjusted.release.type}/${project.key}/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
    </target>
    
    <target name="publish-updatesite-build">
        <fail message="The 'project.name' property must be set on this project.">
            <condition>
                <not>
                    <isset property="project.name"/>
                </not>
            </condition>
        </fail>
        <checksum file="${updatesite.output.file}" algorithm="sha1"/>
        <sshexec host="build.eclipse.org" 
                username="${eclipse.buildId}" 
                keyfile="${key.file}" 
                passphrase="${passphrase}"
                command="mkdir -pv /opt/public/rt/virgo/zips/${adjusted.release.type}/${project.key}/${bundle.version}"/>
        <scp localFile="${updatesite.output.file}"
                todir="${eclipse.buildId}@build.eclipse.org:/opt/public/rt/virgo/zips/${adjusted.release.type}/${project.key}/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
        <scp localFile="${updatesite.output.file}.sha1"
                todir="${eclipse.buildId}@build.eclipse.org:/opt/public/rt/virgo/zips/${adjusted.release.type}/${project.key}/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
    </target>
    
    <target name="publish-package-download">
        <fail message="The 'project.name' property must be set on this project.">
            <condition>
                <not>
                    <isset property="project.name"/>
                </not>
            </condition>
        </fail>
        <checksum file="${package.output.file}" algorithm="sha1"/>
        <sshexec host="build.eclipse.org" 
                username="${eclipse.committerId}" 
                keyfile="${key.file}" 
                passphrase="${passphrase}"
                command="mkdir -pv /home/data/httpd/download.eclipse.org/virgo/${adjusted.release.type}/${project.key}/${bundle.version}"/>
        <scp localFile="${package.output.file}"
                todir="${eclipse.committerId}@build.eclipse.org:/home/data/httpd/download.eclipse.org/virgo/${adjusted.release.type}/${project.key}/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
        <scp localFile="${package.output.file}.sha1"
                todir="${eclipse.committerId}@build.eclipse.org:/home/data/httpd/download.eclipse.org/virgo/${adjusted.release.type}/${project.key}/${bundle.version}" 
                keyfile="${key.file}"
                passphrase="${passphrase}" />
    </target>

</project>
