#!/bin/bash DEST_DIR=$(realpath $2) TEMP_DIR=$(mktemp -d) CURRENT_DIR=$(dirname "$0") CURRENT_DIR=$(realpath ${CURRENT_DIR}) . "${CURRENT_DIR}/env.sh" "$3" "$4" "$5" "$6" "$7" if [ -f "../dist/version.sh" ]; then source ../dist/version.sh fi 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