github.com/sttk/sabi@v0.5.0/build.sh (about) 1 #!/usr/bin/env bash 2 3 errcheck() { 4 exitcd=$1 5 if [[ "$exitcd" != "0" ]]; then 6 exit $exitcd 7 fi 8 } 9 10 clean() { 11 go clean --cache 12 errcheck $? 13 } 14 15 format() { 16 go fmt ./... 17 errcheck $? 18 } 19 20 compile() { 21 go vet ./... 22 errcheck $? 23 go build ./... 24 errcheck $? 25 } 26 27 test() { 28 go test -v $(go list ./... | grep -v /benchmark) 29 errcheck $? 30 } 31 32 unit() { 33 go test -v -run $1 $(go list ./... | grep -v /benchmark) 34 errcheck $? 35 } 36 37 cover() { 38 mkdir -p coverage 39 errcheck $? 40 go test -coverprofile=coverage/cover.out $(go list ./... | grep -v /benchmark) 41 errcheck $? 42 go tool cover -html=coverage/cover.out -o coverage/cover.html 43 errcheck $? 44 } 45 46 bench() { 47 local dir=$1 48 if [[ "$dir" == "" ]]; then 49 dir="." 50 fi 51 pushd $dir 52 go test -bench . --benchmem 53 errcheck $? 54 popd 55 } 56 57 if [[ "$#" == "0" ]]; then 58 clean 59 format 60 compile 61 test 62 cover 63 64 elif [[ "$1" == "unit" ]]; then 65 unit $2 66 67 elif [[ "$1" == "bench" ]]; then 68 bench $2 69 70 else 71 for a in "$@"; do 72 case "$a" in 73 clean) 74 clean 75 ;; 76 format) 77 format 78 ;; 79 compile) 80 compile 81 ;; 82 test) 83 test 84 ;; 85 cover) 86 cover 87 ;; 88 '') 89 compile 90 ;; 91 *) 92 echo "Bad task: $a" 93 exit 1 94 ;; 95 esac 96 done 97 fi