diff --git a/scripts/make_package.sh b/scripts/make_package.sh index ac851081..b98c473e 100644 --- a/scripts/make_package.sh +++ b/scripts/make_package.sh @@ -1,12 +1,20 @@ #!/bin/bash -DEST_DIR=$1 +DEST_DIR=$(realpath $1) CURRENT_DIR=$(dirname "$0") CURRENT_DIR=$(realpath ${CURRENT_DIR}) . "${CURRENT_DIR}/env.sh" "$2" "$3" "$4" "$5" "$6" +TEMP_DIR=$(mktemp -d) + +function exit_and_clean() { + echo $1 + rm -rf ${TEMP_DIR} + exit $2 +} + if [ ! -d "${PROJECT_DIST_DIR}" ]; then echo "Dist directory not found: ${PROJECT_DIST_DIR}" exit 1 @@ -19,3 +27,11 @@ 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}.tar.gz -C ${TEMP_DIR} . || exit_and_clean "Failed to create archive" 1 +popd + +exit_and_clean "Created package successfully" 0