blob: ee062f5a87102a0a05f953f4cbc2ed365eb8b78d [file] [log] [blame]
#!/bin/sh
# ====================================================================
# Copyright (c) 2014 Obeo
# 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:
# Obeo - initial API and implementation
# ====================================================================
[ -z "${GIT_BRANCH}" -o -z "${UPDATE_SITE__ARTIFACT_URL}" -o -z "${UPDATE_SITE__ARTIFACT_NAME}" -o -z "${UPDATE_SITE__UNQUALIFIED_VERSION}" -o -z "${UPDATE_SITE__QUALIFIED_VERSION}" ] && {
echo "Execution aborted.
One or more of the required variables is not set. They are normally
provided by the Hudson build.
- GIT_BRANCH: the git branch that has been build.
- UPDATE_SITE__ARTIFACT_URL: the URL where the zipped update site to publish can be donwload.
- UPDATE_SITE__ARTIFACT_NAME: the filename of the zipped update site.
- UPDATE_SITE__UNQUALIFIED_VERSION: the unqualified version of the update site to publish.
- UPDATE_SITE__QUALIFIED_VERSION: the qualified version of the update site to publish.
"
exit 1
}
source "$(dirname "${0}")/init.sh"
LSINFO "Publishing nightly build (${UPDATE_SITE__QUALIFIED_VERSION}) of ${PROJECT_NAME}"
# the update site
for zip in *.zip;
do
LSDEBUG "Removing previous zipped update site '${zip}'"
rm -f ${zip}
done
LSINFO "Downloading '${UPDATE_SITE__ARTIFACT_URL}'"
wget -q --no-check-certificate ${UPDATE_SITE__ARTIFACT_URL} -O - > ${UPDATE_SITE__ARTIFACT_NAME}
STREAM="$(echo ${UPDATE_SITE__UNQUALIFIED_VERSION} | sed-regex 's/^([0-9]+\.[0-9]+)\.[0-9]+$/\1/').x"
LSDEBUG "Stream name is '${STREAM}'"
if [ -d ${UPDATE_SITE__QUALIFIED_VERSION} ];then
LSDEBUG "Removing folder '${UPDATE_SITE__QUALIFIED_VERSION}'"
rm -rf ${UPDATE_SITE__QUALIFIED_VERSION}
fi
LSDEBUG "Unziping '${UPDATE_SITE__ARTIFACT_NAME}'"
unzip -qq ${UPDATE_SITE__ARTIFACT_NAME} -d ${UPDATE_SITE__QUALIFIED_VERSION}
if [ ! -d ${UPDATE_NIGHTLY_HOME} ]; then
LSDEBUG "Creating folder '${UPDATE_NIGHTLY_HOME}'"
mkdir -p ${UPDATE_NIGHTLY_HOME}
fi
LSINFO "Copying update site to '${UPDATE_NIGHTLY_HOME}'"
cp -rf ${UPDATE_SITE__QUALIFIED_VERSION} ${UPDATE_NIGHTLY_HOME}
## stream update
LSINFO "Adding '${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}' to '${UPDATE_NIGHTLY_HOME}/${STREAM}'"
composite-repository \
-location "${UPDATE_NIGHTLY_HOME}/${STREAM}" \
-add "${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}" \
-repositoryName "${PROJECT_NAME} ${STREAM} nightly builds" \
-compressed
createP2Index "${UPDATE_NIGHTLY_HOME}/${STREAM}"
LSINFO "Creating redirection from '${UPDATE_NIGHTLY_HOME}/${STREAM}/latest' to '${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}'"
createRedirect "${UPDATE_NIGHTLY_HOME}/${STREAM}/latest" "${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}" "${PROJECT_NAME} ${STREAM} latest nightly build"
## all updates
LSINFO "Adding '${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}' to '${UPDATE_NIGHTLY_HOME}'"
composite-repository \
-location "${UPDATE_NIGHTLY_HOME}" \
-add "${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}" \
-repositoryName "${PROJECT_NAME} nightly builds" \
-compressed
createP2Index "${UPDATE_NIGHTLY_HOME}"
if [ ${GIT_BRANCH} = "master" ]; then
LSINFO "On master branch, then create redirection from '${UPDATE_NIGHTLY_HOME}/latest' to '${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}'"
createRedirect "${UPDATE_NIGHTLY_HOME}/latest" "${UPDATE_NIGHTLY_URL}/${UPDATE_SITE__QUALIFIED_VERSION}" "${PROJECT_NAME} latest nightly build"
fi
# the javadoc
# the documentation