repertory/scripts/deliver.sh

59 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
DEST_DIR=$1
DIST_DIR=$2
CURRENT_DIR=$(dirname "$0")
CURRENT_DIR=$(realpath ${CURRENT_DIR})
SOURCE_DIR=${CURRENT_DIR}/..
SOURCE_DIR=$(realpath ${SOURCE_DIR})
. "${CURRENT_DIR}/env.sh" "$3" "$4" "$5" "$6" "$7"
function error_exit() {
echo $1
exit $2
}
if [ "${DIST_DIR}" == "" ]; then
DIST_DIR="${CURRENT_DIR}/../dist"
fi
DIST_DIR=$(realpath "${DIST_DIR}")
if [ ! -d "${DIST_DIR}" ]; then
error_exit "dist directory not found: ${DIST_DIR}" 2
fi
if [ "${DEST_DIR}" == "" ]; then
error_exit "dest directory not set" 2
fi
if [ ! -d "${DEST_DIR}" ]; then
error_exit "dest directory not found: ${DEST_DIR}" 2
fi
pushd "${SOURCE_DIR}"
BRANCH=$(git branch --show-current)
RELEASE=$(grep set\(PROJECT_RELEASE_ITER ./config.sh | sed s/\)//g | awk '{print $2}')
popd
if [ "${BRANCH}" == "master" ] || [ "${BRANCH}" == "alpha" ] || [ "${BRANCH}" == "beta" ] || [ "${BRANCH}" == "rc" ]; then
DEST_DIR=${DEST_DIR}/${RELEASE}
else
DEST_DIR=${DEST_DIR}/nightly
fi
FILE_PART=${PROJECT_NAME}_${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_REVISION_VERSION}-${PROJECT_RELEASE_ITER}-${PROJECT_GIT_REV}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}
echo ${DEST_DIR}
pushd "${DIST_DIR}"
cp -f ./${FILE_PART}.tar.gz ${DEST_DIR} || error_exit "failed to deliver file: ${FILE_PART}.tar.gz" 1
cp -f ./${FILE_PART}.tar.gz.sha256 ${DEST_DIR} || error_exit "failed to deliver file: ${FILE_PART}.tar.gz.sha256" 1
if [ "${PROJECT_PRIVATE_KEY}" != "" ]; then
cp -f ./${FILE_PART}.tar.gz.sig ${DEST_DIR} || error_exit "failed to deliver file: ${FILE_PART}.tar.gz.sig" 1
fi
popd
error_exit "delivered ${FILE_PART}" 0