blob: 9c8329e2f3181913e2019aeba815125b8232f461 [file] [log] [blame]
export GO111MODULE=on
default: fmt vet errcheck test lint
# Taken from https://github.com/codecov/example-go#caveat-multiple-files
.PHONY: test
test:
echo "mode: atomic" > coverage.txt
for d in `go list ./...`; do \
go test -p 1 -v -timeout 6m -race -coverprofile=profile.out -covermode=atomic $$d || exit 1; \
if [ -f profile.out ]; then \
tail +2 profile.out >> coverage.txt; \
rm profile.out; \
fi \
done
GOLINT := $(shell command -v golint)
.PHONY: lint
lint:
ifndef GOLINT
go get golang.org/x/lint/golint
endif
go list ./... | xargs golint
.PHONY: vet
vet:
go vet ./...
ERRCHECK := $(shell command -v errcheck)
# See https://github.com/kisielk/errcheck/pull/141 for details on ignorepkg
.PHONY: errcheck
errcheck:
ifndef ERRCHECK
go get github.com/kisielk/errcheck
endif
errcheck -ignorepkg fmt github.com/Shopify/sarama/...
.PHONY: fmt
fmt:
@if [ -n "$$(go fmt ./...)" ]; then echo 'Please run go fmt on your code.' && exit 1; fi
.PHONY : install_dependencies
install_dependencies: get
.PHONY: get
get:
go get -v ./...
.PHONY: clean
clean:
go clean ./...
.PHONY: tidy
tidy:
go mod tidy -v