ezpaarse-project/ezpaarse

View on GitHub
bin/uploadversion

Summary

Maintainability
Test Coverage
#!/bin/bash
#
# Script used to upload a version
#

set +e

MY_PATH=$(cd ${0%/*} && echo $PWD/${0##*/})
BIN_PATH=`dirname "$MY_PATH"`
EZPAARSE_PATH=$BIN_PATH/..

# read version number from the command line
VERSION=$v
VERSION_PREFIX=""
VERSION_NAME=""
CURRENT_VERSION="`$BIN_PATH/readconfig -k version`"

[ -z "$VERSION" ] && VERSION="$CURRENT_VERSION"
if [ "$VERSION" == "latest" ]; then
  VERSION="`git log --pretty=format:'%h' -n 1`"
  VERSION_PREFIX="$CURRENT_VERSION+`date +"%j"`"
  VERSION_NAME="$CURRENT_VERSION-`date +"%j"`"
fi

EZPAARSE_NAME="ezpaarse-$VERSION_NAME$VERSION"

if [ ! -d $EZPAARSE_PATH/$EZPAARSE_NAME/ ]; then
  echo "Error: $EZPAARSE_PATH/$EZPAARSE_NAME/ folder does not exist. Please run 'make zip' before."
  exit 1
fi

# check the --force option
FORCE_UPLOAD=$o
if [ "$FORCE_UPLOAD" != "--force" ]; then
  FORCE_UPLOAD=""
fi

# check the destination folder does not exist yet
UPLOAD_EXISTS=`ssh analogist@stats.intra.inist.fr "ls var/www/ezpaarse/versions/$VERSION_PREFIX$VERSION/ 2>/dev/null"`
if [[ "$UPLOAD_EXISTS" != "" && $FORCE_UPLOAD == "" ]]; then
  echo "Uploaded folder $VERSION_PREFIX$VERSION already exists on analogist Web site. Use --force option  if you need to upload again."
  exit 1
else
  echo "Uploading to analogist:var/www/ezpaarse/versions/$VERSION_PREFIX$VERSION/"
  ssh    analogist@stats.intra.inist.fr " rm -rf var/www/ezpaarse/versions/$VERSION_PREFIX$VERSION/ 2>/dev/null"
  scp -r $EZPAARSE_PATH/$EZPAARSE_NAME/ analogist@stats.intra.inist.fr:var/www/ezpaarse/versions/$VERSION_PREFIX$VERSION/
  echo "Updating versions/index.txt file."
  ssh analogist@stats.intra.inist.fr "touch var/www/ezpaarse/versions/index.txt"
  # cleanup double
  ssh analogist@stats.intra.inist.fr "sed -i '/^$VERSION_PREFIX$VERSION.*$/d' var/www/ezpaarse/versions/index.txt"
  # append new version archives to the list
  for vfile in `ls $EZPAARSE_PATH/$EZPAARSE_NAME/`
  do
    ssh analogist@stats.intra.inist.fr "echo $VERSION_PREFIX$VERSION/$vfile >> var/www/ezpaarse/versions/index.txt"
  done
  echo "$VERSION_PREFIX$VERSION is now uploaded."
  exit 0
fi