| #!/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 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/') |
| |
| 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.x'" |
| composite-repository \ |
| -location "$UPDATE_NIGHTLY_HOME/$STREAM.x" \ |
| -add "$UPDATE_NIGHTLY_URL/$UPDATE_SITE__QUALIFIED_VERSION" \ |
| -repositoryName "$PROJECT_NAME $STREAM.x nightly builds" \ |
| -compressed |
| createP2Index "$UPDATE_NIGHTLY_HOME/$STREAM.x" |
| |
| LSINFO "Creating redirection from '$UPDATE_NIGHTLY_HOME/$STREAM.x/latest' to '$UPDATE_NIGHTLY_URL/$UPDATE_SITE__QUALIFIED_VERSION'" |
| createRedirect "$UPDATE_NIGHTLY_HOME/$STREAM.x/latest" "$UPDATE_NIGHTLY_URL/$UPDATE_SITE__QUALIFIED_VERSION" "$PROJECT_NAME $STREAM.x 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 |