The format "go install github.com/kyoh86/richgo@latest" will work with go 1.16 and higher. It will not work with go 1.15. However, since installing "richgo" is only required for people who want to run the go tests for the Cobra project itself, I feel it is ok to require go 1.16 or higher in this case. Signed-off-by: Marc Khouzam <marc.khouzam@gmail.com> Signed-off-by: Marc Khouzam <marc.khouzam@gmail.com>
		
			
				
	
	
		
			36 lines
		
	
	
		
			914 B
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
		
			914 B
		
	
	
	
		
			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 install github.com/kyoh86/richgo@latest")
 | 
						|
endif
 | 
						|
 | 
						|
.PHONY: fmt lint test install_deps clean
 | 
						|
 | 
						|
default: all
 | 
						|
 | 
						|
all: fmt test
 | 
						|
 | 
						|
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
 | 
						|
	$(info ******************** running tests ********************)
 | 
						|
	richgo test -v ./...
 | 
						|
 | 
						|
install_deps:
 | 
						|
	$(info ******************** downloading dependencies ********************)
 | 
						|
	go get -v ./...
 | 
						|
 | 
						|
clean:
 | 
						|
	rm -rf $(BIN)
 |