5
0
mirror of https://github.com/cwinfo/matterbridge.git synced 2024-11-30 01:31:36 +00:00
matterbridge/vendor/go.uber.org/atomic/Makefile

79 lines
2.0 KiB
Makefile
Raw Normal View History

2020-08-09 22:29:54 +00:00
# Directory to place `go install`ed binaries into.
export GOBIN ?= $(shell pwd)/bin
2020-08-09 22:29:54 +00:00
GOLINT = $(GOBIN)/golint
2020-12-31 13:48:12 +00:00
GEN_ATOMICINT = $(GOBIN)/gen-atomicint
GEN_ATOMICWRAPPER = $(GOBIN)/gen-atomicwrapper
STATICCHECK = $(GOBIN)/staticcheck
2020-12-31 13:48:12 +00:00
GO_FILES ?= $(shell find . '(' -path .git -o -path vendor ')' -prune -o -name '*.go' -print)
# Also update ignore section in .codecov.yml.
COVER_IGNORE_PKGS = \
go.uber.org/atomic/internal/gen-atomicint \
go.uber.org/atomic/internal/gen-atomicwrapper
.PHONY: build
build:
2020-08-09 22:29:54 +00:00
go build ./...
.PHONY: test
test:
2020-08-09 22:29:54 +00:00
go test -race ./...
2020-08-09 22:29:54 +00:00
.PHONY: gofmt
gofmt:
$(eval FMT_LOG := $(shell mktemp -t gofmt.XXXXX))
gofmt -e -s -l $(GO_FILES) > $(FMT_LOG) || true
@[ ! -s "$(FMT_LOG)" ] || (echo "gofmt failed:" && cat $(FMT_LOG) && false)
2020-08-09 22:29:54 +00:00
$(GOLINT):
2020-12-31 13:48:12 +00:00
cd tools && go install golang.org/x/lint/golint
$(STATICCHECK):
cd tools && go install honnef.co/go/tools/cmd/staticcheck
$(GEN_ATOMICWRAPPER): $(wildcard ./internal/gen-atomicwrapper/*)
go build -o $@ ./internal/gen-atomicwrapper
$(GEN_ATOMICINT): $(wildcard ./internal/gen-atomicint/*)
go build -o $@ ./internal/gen-atomicint
2019-06-16 21:33:25 +00:00
2020-08-09 22:29:54 +00:00
.PHONY: golint
golint: $(GOLINT)
$(GOLINT) ./...
2020-12-31 13:48:12 +00:00
.PHONY: staticcheck
staticcheck: $(STATICCHECK)
$(STATICCHECK) ./...
.PHONY: lint
2020-12-31 13:48:12 +00:00
lint: gofmt golint staticcheck generatenodirty
# comma separated list of packages to consider for code coverage.
COVER_PKG = $(shell \
go list -find ./... | \
grep -v $(foreach pkg,$(COVER_IGNORE_PKGS),-e "^$(pkg)$$") | \
paste -sd, -)
2020-08-09 22:29:54 +00:00
.PHONY: cover
cover:
2020-12-31 13:48:12 +00:00
go test -coverprofile=cover.out -coverpkg $(COVER_PKG) -v ./...
2020-08-09 22:29:54 +00:00
go tool cover -html=cover.out -o cover.html
2020-12-31 13:48:12 +00:00
.PHONY: generate
generate: $(GEN_ATOMICINT) $(GEN_ATOMICWRAPPER)
go generate ./...
.PHONY: generatenodirty
generatenodirty:
@[ -z "$$(git status --porcelain)" ] || ( \
echo "Working tree is dirty. Commit your changes first."; \
exit 1 )
@make generate
@status=$$(git status --porcelain); \
[ -z "$$status" ] || ( \
echo "Working tree is dirty after `make generate`:"; \
echo "$$status"; \
echo "Please ensure that the generated code is up-to-date." )