###############################################################################
# Copyright (c) 2019 Mia-Software and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     Unknown - initial API and implementation
###############################################################################
# Modisco publisher properties for use by the promoter job:
#
# rm -f publish.sh
# curl -s ${PUBLISH__PUBLISH_SH} > publish.sh
# chmod +x publish.sh
# bash -ex publish.sh
#
PUBLISH__ALIAS=${BUILD_ALIAS}
PUBLISH__BUILD_T=${buildType}
PUBLISH__DOWNLOADS_SH=${env.JOB_URL}${env.BUILD_NUMBER}/artifact/org.eclipse.modisco.updatesite/target/downloads.sh
PUBLISH__PUBLISH_SH=${env.JOB_URL}${env.BUILD_NUMBER}/artifact/org.eclipse.modisco.updatesite/target/publish.sh
PUBLISH__QUALIFIER=${buildId}
PUBLISH__UPDATES_SH=${env.JOB_URL}${env.BUILD_NUMBER}/artifact/org.eclipse.modisco.updatesite/target/updates.sh
PUBLISH__URL=${env.JOB_URL}${env.BUILD_NUMBER}/artifact/org.eclipse.modisco.updatesite/target/${project.groupId}-${unqualifiedVersion}.${buildId}.zip
PUBLISH__VERSION=${unqualifiedVersion}
