|
|
- #!/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."
-
-
-
|