
This removes indirect dependencies from go.mod, and includes the fix for the missing -help flag info. The latest cobra release is v1.2.1. Given that there were minor security-related dependency cleanup during v1.2 release, I was tempted to pick up the latest version, but that caused dependency updates in golang.org/x/sys and golang.org/x/tools which may be too recent (golang.org/x/* follow the go's release support policy, so recent versions may not be compatible with go versions beyond go's official version support policy). Verified that dlv still builds with go1.12.x. (go1.12 is the oldest version of go that can build the latest delve already). $ go get -d github.com/spf13/cobra@v1.1.3 $ go mod tidy $ go mod vendor $ go run _scripts/gen-usage-docs.go
41 lines
1.1 KiB
Makefile
41 lines
1.1 KiB
Makefile
BIN="./bin"
|
|
SRC=$(shell find . -name "*.go")
|
|
|
|
ifeq (, $(shell which golangci-lint))
|
|
$(warning "could not find golangci-lint in $(PATH), run: curl -sfL https://install.goreleaser.com/github.com/golangci/golangci-lint.sh | sh")
|
|
endif
|
|
|
|
ifeq (, $(shell which richgo))
|
|
$(warning "could not find richgo in $(PATH), run: go get github.com/kyoh86/richgo")
|
|
endif
|
|
|
|
.PHONY: fmt lint test cobra_generator install_deps clean
|
|
|
|
default: all
|
|
|
|
all: fmt test cobra_generator
|
|
|
|
fmt:
|
|
$(info ******************** checking formatting ********************)
|
|
@test -z $(shell gofmt -l $(SRC)) || (gofmt -d $(SRC); exit 1)
|
|
|
|
lint:
|
|
$(info ******************** running lint tools ********************)
|
|
golangci-lint run -v
|
|
|
|
test: install_deps lint
|
|
$(info ******************** running tests ********************)
|
|
richgo test -v ./...
|
|
|
|
cobra_generator: install_deps
|
|
$(info ******************** building generator ********************)
|
|
mkdir -p $(BIN)
|
|
make -C cobra all
|
|
|
|
install_deps:
|
|
$(info ******************** downloading dependencies ********************)
|
|
go get -v ./...
|
|
|
|
clean:
|
|
rm -rf $(BIN)
|