40 lines
730 B
Bash
40 lines
730 B
Bash
#!/usr/bin/env bash
|
|
# Do - The Simplest Build Tool on Earth.
|
|
# Documentation and examples see https://github.com/8gears/do
|
|
|
|
set -Eeuo pipefail # -e "Automatic exit from bash shell script on error" -u "Treat unset variables and parameters as errors"
|
|
|
|
build() {
|
|
echo "I am ${FUNCNAME[0]}ing"
|
|
go version
|
|
go build
|
|
}
|
|
|
|
test() {
|
|
_lint && _vet && _test
|
|
}
|
|
|
|
run() {
|
|
test && go run main.go
|
|
}
|
|
|
|
_test() {
|
|
go test -v -coverprofile=coverage.out -covermode count ./... | tee tests.out
|
|
}
|
|
|
|
_lint() {
|
|
golint -set_exit_status ./...
|
|
}
|
|
|
|
_vet() {
|
|
go vet ./...
|
|
}
|
|
|
|
all() {
|
|
test && build
|
|
}
|
|
|
|
"$@" # <- execute the task
|
|
|
|
[ "$#" -gt 0 ] || printf "Usage:\n\t./do.sh %s\n" "($(compgen -A function | grep '^[^_]' | paste -sd '|' -))"
|