linuxkit/tools/alpine/go-compile.sh
Justin Cormack 17f5da9fea Provide way for programs to use CGO with go-compile script if they need to
Signed-off-by: Justin Cormack <justin.cormack@docker.com>
2017-07-31 16:11:07 +01:00

37 lines
818 B
Bash
Executable File

#!/bin/sh
set -e
usage() {
echo "Usage: dir"
exit 1
}
[ $# = 0 ] && usage
dir="$1"
cd "$dir"
# lint before building
>&2 echo "gofmt..."
test -z $(gofmt -s -l .| grep -v .pb. | grep -v vendor/ | tee /dev/stderr)
>&2 echo "govet..."
test -z $(GOOS=linux go tool vet -printf=false . 2>&1 | grep -v vendor/ | tee /dev/stderr)
>&2 echo "golint..."
test -z $(find . -type f -name "*.go" -not -path "*/vendor/*" -not -name "*.pb.*" -exec golint {} \; | tee /dev/stderr)
>&2 echo "ineffassign..."
test -z $(find . -type f -name "*.go" -not -path "*/vendor/*" -not -name "*.pb.*" -exec ineffassign {} \; | tee /dev/stderr)
>&2 echo "go test..."
go test
>&2 echo "go build..."
[ "${REQUIRE_CGO}" = 1 ] || export CGO_ENABLED=0
go install -buildmode pie -ldflags "-s -w ${ldflags} -extldflags \"-fno-PIC -static\""