From 9afe9038fd307fbd9c77ca237db87e11b410bed2 Mon Sep 17 00:00:00 2001 From: wangqing Date: Tue, 29 Mar 2022 11:29:02 +0800 Subject: [PATCH] package.sh shellcheck and add require check Signed-off-by: wangqing --- package.sh | 38 ++++++++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 12 deletions(-) diff --git a/package.sh b/package.sh index 1cc356c..2346214 100644 --- a/package.sh +++ b/package.sh @@ -1,23 +1,37 @@ #!/bin/bash -green="\033[32m" +check_cmd() { + local cmd="$1" + if ! command -v "${cmd}" >/dev/null 2>&1; then + echo >&2 "I require ${cmd} but it's not installed. Aborting." + exit 1 + fi +} + +green() { + printf '\33[1;32m%b\n\33[0m' "$1" +} + +check_cmd yarn +check_cmd tar + RELEASE=sysomRelease-$(date +"%Y%m%d%H%M%S") APIDIR=sysom_api WEBDIR=sysom_web SCRIPTDIR=script TOOLSDIR=tools # build web -pushd sysom_web +pushd sysom_web || exit yarn yarn build -popd +popd || exit -mkdir -p ${RELEASE} -cp -r ${APIDIR}/ ${TOOLSDIR}/ ${RELEASE}/ -cp -r ${WEBDIR}/dist/ ${RELEASE}/${WEBDIR}/ -mkdir -p ${RELEASE}/${WEBDIR}/download/ -cp ${TOOLSDIR}/deploy/deploy.sh ${RELEASE}/ -cp -r ${SCRIPTDIR} ${RELEASE}/ -tar czf ${RELEASE}.tar.gz ${RELEASE}/ -rm -rf ${RELEASE} -printf "$green The release pacakge is ${RELEASE}.tar.gz\n\033[0m" +mkdir -p "${RELEASE}" +cp -r ${APIDIR}/ ${TOOLSDIR}/ "${RELEASE}"/ +cp -r ${WEBDIR}/dist/ "${RELEASE}"/${WEBDIR}/ +mkdir -p "${RELEASE}"/${WEBDIR}/download/ +cp ${TOOLSDIR}/deploy/deploy.sh "${RELEASE}"/ +cp -r ${SCRIPTDIR} "${RELEASE}"/ +tar czf "${RELEASE}".tar.gz "${RELEASE}"/ +rm -rf "${RELEASE}" +green "The release pacakge is ${RELEASE}.tar.gz"