| 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) |