bin/uploadversion
#!/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