Платформа ЦРНП "Мирокод" для разработки проектов
https://git.mirocod.ru
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
861 B
39 lines
861 B
PKG := github.com/goccy/go-json |
|
|
|
BIN_DIR := $(CURDIR)/bin |
|
PKGS := $(shell go list ./... | grep -v internal/cmd|grep -v test) |
|
COVER_PKGS := $(foreach pkg,$(PKGS),$(subst $(PKG),.,$(pkg))) |
|
|
|
COMMA := , |
|
EMPTY := |
|
SPACE := $(EMPTY) $(EMPTY) |
|
COVERPKG_OPT := $(subst $(SPACE),$(COMMA),$(COVER_PKGS)) |
|
|
|
$(BIN_DIR): |
|
@mkdir -p $(BIN_DIR) |
|
|
|
.PHONY: cover |
|
cover: |
|
go test -coverpkg=$(COVERPKG_OPT) -coverprofile=cover.out ./... |
|
|
|
.PHONY: cover-html |
|
cover-html: cover |
|
go tool cover -html=cover.out |
|
|
|
.PHONY: lint |
|
lint: golangci-lint |
|
golangci-lint run |
|
|
|
golangci-lint: | $(BIN_DIR) |
|
@{ \ |
|
set -e; \ |
|
GOLANGCI_LINT_TMP_DIR=$$(mktemp -d); \ |
|
cd $$GOLANGCI_LINT_TMP_DIR; \ |
|
go mod init tmp; \ |
|
GOBIN=$(BIN_DIR) go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.36.0; \ |
|
rm -rf $$GOLANGCI_LINT_TMP_DIR; \ |
|
} |
|
|
|
.PHONY: generate |
|
generate: |
|
go generate ./internal/...
|
|
|