GOOS=$(shell go env GOOS) GOARCH=$(shell go env GOARCH) GOBIN=$(shell go env GOBIN) ifeq ($(GOBIN),) GOBIN := $(shell go env GOPATH)/bin endif OSARCH=$(shell uname -m) GOLANGCI_LINT_PATH=$(GOBIN)/golangci-lint SWAG_PATH=$(GOBIN)/swag .PHONY: install-git-hooks install-git-hooks: @echo "Installing git hooks..." pre-commit install --hook-type pre-commit pre-commit install --hook-type commit-msg .PHONY: install-counterfeiter install-counterfeiter: @echo "Installing github.com/maxbrunsfeld/counterfeiter..." @go install github.com/maxbrunsfeld/counterfeiter/v6@v6.6.1 .PHONY: install-swag install-swag: @echo "Installing github.com/swaggo/swag..." @test -f $(SWAG_PATH) || (wget -qO- https://github.com/swaggo/swag/releases/download/v1.8.7/swag_1.8.7_$(GOOS)_$(OSARCH).tar.gz | tar -xz -C $(GOBIN)/) .PHONY: install-golangci-lint install-golangci-lint: @echo "Installing github.com/golangci/golangci-lint..." @test -f $(GOLANGCI_LINT_PATH) || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(GOBIN) v1.54.2 .PHONY: install-tools install-tools: install-golangci-lint install-counterfeiter install-swag .PHONY: install install: install-tools install-git-hooks .PHONY: generate generate: install-counterfeiter install-swag @echo "Running go generate..." go generate ./...