mirror of
https://github.com/minio/minio.git
synced 2024-12-27 07:35:55 -05:00
2aa18cafc6
With CoreDNS now supporting etcdv3 as the DNS backend, we can update our federation target to etcdv3. Users will now be able to use etcdv3 server as the federation backbone. Minio will update bucket data to etcdv3 and CoreDNS can pick that data up and serve it as bucket style DNS path.
77 lines
2.3 KiB
Makefile
77 lines
2.3 KiB
Makefile
export GO15VENDOREXPERIMENT=1
|
|
|
|
BENCH_FLAGS ?= -cpuprofile=cpu.pprof -memprofile=mem.pprof -benchmem
|
|
PKGS ?= $(shell glide novendor)
|
|
# Many Go tools take file globs or directories as arguments instead of packages.
|
|
PKG_FILES ?= *.go zapcore benchmarks buffer zapgrpc zaptest zaptest/observer internal/bufferpool internal/exit internal/color internal/ztest
|
|
|
|
# The linting tools evolve with each Go version, so run them only on the latest
|
|
# stable release.
|
|
GO_VERSION := $(shell go version | cut -d " " -f 3)
|
|
GO_MINOR_VERSION := $(word 2,$(subst ., ,$(GO_VERSION)))
|
|
LINTABLE_MINOR_VERSIONS := 10
|
|
ifneq ($(filter $(LINTABLE_MINOR_VERSIONS),$(GO_MINOR_VERSION)),)
|
|
SHOULD_LINT := true
|
|
endif
|
|
|
|
|
|
.PHONY: all
|
|
all: lint test
|
|
|
|
.PHONY: dependencies
|
|
dependencies:
|
|
@echo "Installing Glide and locked dependencies..."
|
|
glide --version || go get -u -f github.com/Masterminds/glide
|
|
glide install
|
|
@echo "Installing test dependencies..."
|
|
go install ./vendor/github.com/axw/gocov/gocov
|
|
go install ./vendor/github.com/mattn/goveralls
|
|
ifdef SHOULD_LINT
|
|
@echo "Installing golint..."
|
|
go install ./vendor/github.com/golang/lint/golint
|
|
else
|
|
@echo "Not installing golint, since we don't expect to lint on" $(GO_VERSION)
|
|
endif
|
|
|
|
# Disable printf-like invocation checking due to testify.assert.Error()
|
|
VET_RULES := -printf=false
|
|
|
|
.PHONY: lint
|
|
lint:
|
|
ifdef SHOULD_LINT
|
|
@rm -rf lint.log
|
|
@echo "Checking formatting..."
|
|
@gofmt -d -s $(PKG_FILES) 2>&1 | tee lint.log
|
|
@echo "Installing test dependencies for vet..."
|
|
@go test -i $(PKGS)
|
|
@echo "Checking vet..."
|
|
@$(foreach dir,$(PKG_FILES),go tool vet $(VET_RULES) $(dir) 2>&1 | tee -a lint.log;)
|
|
@echo "Checking lint..."
|
|
@$(foreach dir,$(PKGS),golint $(dir) 2>&1 | tee -a lint.log;)
|
|
@echo "Checking for unresolved FIXMEs..."
|
|
@git grep -i fixme | grep -v -e vendor -e Makefile | tee -a lint.log
|
|
@echo "Checking for license headers..."
|
|
@./check_license.sh | tee -a lint.log
|
|
@[ ! -s lint.log ]
|
|
else
|
|
@echo "Skipping linters on" $(GO_VERSION)
|
|
endif
|
|
|
|
.PHONY: test
|
|
test:
|
|
go test -race $(PKGS)
|
|
|
|
.PHONY: cover
|
|
cover:
|
|
./scripts/cover.sh $(PKGS)
|
|
|
|
.PHONY: bench
|
|
BENCH ?= .
|
|
bench:
|
|
@$(foreach pkg,$(PKGS),go test -bench=$(BENCH) -run="^$$" $(BENCH_FLAGS) $(pkg);)
|
|
|
|
.PHONY: updatereadme
|
|
updatereadme:
|
|
rm -f README.md
|
|
cat .readme.tmpl | go run internal/readme/readme.go > README.md
|