repertory/scripts/make_package.sh

44 lines
989 B
Bash

#!/bin/bash
PROJECT_VERSION=$1
DEST_DIR=$(realpath $2)
CURRENT_DIR=$(dirname "$0")
CURRENT_DIR=$(realpath ${CURRENT_DIR})
. "${CURRENT_DIR}/env.sh" "$3" "$4" "$5" "$6" "$7"
TEMP_DIR=$(mktemp -d)
function exit_and_clean() {
echo $1
rm -rf ${TEMP_DIR}
exit $2
}
if [ "${PROJECT_VERSION}" == "" ]; then
echo "Project version not set"
exit 1
fi
if [ ! -d "${PROJECT_DIST_DIR}" ]; then
echo "Dist directory not found: ${PROJECT_DIST_DIR}"
exit 1
fi
if [ "${DEST_DIR}" == "" ] || [ ! -d "${DEST_DIR}" ]; then
echo "Destination directory not found: ${DEST_DIR}"
exit 1
fi
PACKAGE_ROOT=${PROJECT_DIST_DIR}/..
PACKAGE_ROOT=$(realpath ${PACKAGE_ROOT})
rsync -av --progress ${PACKAGE_ROOT}/ ${TEMP_DIR}/ || exit_and_clean "Failed to rsync" 1
pushd "${DEST_DIR}"
tar cvzf ${PROJECT_APP_NAME}_${PROJECT_VERSION}_${PROJECT_BUILD_ARCH}_${PROJECT_OS}.tar.gz -C ${TEMP_DIR} . || exit_and_clean "Failed to create archive" 1
popd
exit_and_clean "Created package successfully" 0