#!/usr/bin/make -f ANTLR_VERSION="4.13.0" # Run tests test: @go test ./... -cover # Pull go dependencies dep: @printf "⇒ Download requirements: " @CGO_ENABLED=0 \ go mod download && echo OK @printf "⇒ Tidy requirements: " @CGO_ENABLED=0 \ go mod tidy -v && echo OK # Run linters lint: @golangci-lint --timeout=5m run # Run tests with race detection and produce coverage output cover: @go test -v -race ./... -coverprofile=coverage.txt -covermode=atomic @go tool cover -html=coverage.txt -o coverage.html # Reformat code format: @echo "⇒ Processing gofmt check" @gofmt -s -w ./ @echo "⇒ Processing goimports check" @goimports -w ./ policy: @wget -q https://www.antlr.org/download/antlr-${ANTLR_VERSION}-complete.jar -O antlr4-tool.jar @java -Xmx500M -cp "`pwd`/antlr4-tool.jar" "org.antlr.v4.Tool" -o `pwd`/netmap/parser/ -Dlanguage=Go -no-listener -visitor `pwd`/netmap/parser/Query.g4 `pwd`/netmap/parser/QueryLexer.g4 # Run `make %` in truecloudlab/frostfs-sdk-go container(Golang+Java) docker/%: @docker build -t truecloudlab/frostfs-sdk-go --platform linux/amd64 . > /dev/null @docker run --rm -t \ -v `pwd`:/work \ -u "$$(id -u):$$(id -g)" \ --env HOME=/work \ truecloudlab/frostfs-sdk-go make $* # Synchronize tree service sync-tree: @./syncTree.sh # Show this help prompt help: @echo ' Usage:' @echo '' @echo ' make ' @echo '' @echo ' Targets:' @echo '' @awk '/^#/{ comment = substr($$0,3) } comment && /^[a-zA-Z][a-zA-Z0-9_-]+ ?:/{ print " ", $$1, comment }' $(MAKEFILE_LIST) | column -t -s ':' | grep -v 'IGNORE' | sort -u