Go框架demo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

72 lines
1.7 KiB

#!/bin/sh
# build.sh
# This script for build go projects.
# @version 170227:1
# @author zhangxuhong <zhangxuhong@xitu.io>
#
# [config]
echo "-[config]-"
# ----------------------------[manual config here]------------------------------
# REPO_SRC=/data/repo/collection_set_api
# BUILD_TARGET=collection_set_api
# ------------------------------------------------------------------------------
echo -e "\033[34mREPO_SRC set to: ${REPO_SRC}\033[0m"
echo -e "\033[34mBUILD_TARGET set to: ${BUILD_TARGET}\033[0m"
echo ""
sleep 1
# [set env]
echo "-[set env]-"
# $GOBIN
export GOBIN="${REPO_SRC}/bin"
echo -e "\033[34mGOBIN set to: ${GOBIN}\033[0m"
# $GOPATH
export GOPATH="${REPO_SRC}"
echo -e "\033[34mGOPATH set to: ${GOPATH}\033[0m"
echo ""
sleep 1
# [check old build target]
echo "-[check old build target]-"
if [ ! -d $GOBIN ]; then mkdir $GOBIN; fi
if [ -f "${GOBIN}/${BUILD_TARGET}" ]; then
echo -e "\033[43m[WARRING!] build target alerady exists, will remove it. \033[0m";
echo "old build_target detail:"
ls -alh "${GOBIN}/${BUILD_TARGET}";
oldShaSum=`shasum "${GOBIN}/${BUILD_TARGET}" | awk -F' ' '{print $1}'`;
echo "target sha: ${oldShaSum}";
rm -rf "${GOBIN}/${BUILD_TARGET}";
echo "old build target removed.";
fi
echo "done."
echo ""
sleep 1
# [build]
echo "-[build]-"
echo "build start: "
echo "go build -o ${GOBIN}/${BUILD_TARGET}"
cd "${GOPATH}/src"
go build -o "${GOBIN}/${BUILD_TARGET}"
ls -alh "${GOBIN}/${BUILD_TARGET}"
newShaSum=`shasum "${GOBIN}/${BUILD_TARGET}" | awk -F' ' '{print $1}'`;
echo "target sha: ${newShaSum}";
if [ "$oldShaSum" == "$newShaSum" ];then
echo -e "\033[43m[WARRING!] old build target shasum is equals to new build target. \033[0m"
fi
echo "done."