github.com/ninadingole/gotest-ls@v0.0.3/Makefile (about)

     1  NO_COLOR=\033[0m
     2  OK_COLOR=\033[32;01m
     3  
     4  BINARY = gotest-ls
     5  BINDIR = bin
     6  
     7  export GO111MODULE=on
     8  
     9  GO ?= go
    10  GOFLAGS ?= -v
    11  GOLANGCI_LINT ?= golangci-lint-$(GOLANGCI_LINT_VERSION)
    12  
    13  .PHONY: all
    14  all: deps test build
    15  
    16  clean:
    17  	@echo "$(OK_COLOR)==> Cleaning... $(NO_COLOR)"
    18  	@rm -rf $(BINDIR)
    19  
    20  .PHONY: deps
    21  deps:
    22  	$(GO) mod vendor -v
    23  
    24  .PHONE: build
    25  build:
    26  	@echo "$(OK_COLOR)==> Building$(NO_COLOR)"
    27  	@$(GO) build $(GOFLAGS) -o $(BINDIR)/$(BINARY) main.go
    28  
    29  ## run unit tests
    30  test:
    31  	@echo "$(OK_COLOR)==> Running tests$(NO_COLOR)"
    32  	$(GO) test -covermode=atomic -coverprofile=coverage.out -race -shuffle=on ./...
    33  
    34  .PHONY: lint
    35  lint: bin/$(GOLANGCI_LINT)
    36  	@echo "$(OK_COLOR)==> Running lint$(NO_COLOR)"
    37  	@gofumpt -e -d -w .
    38  	@bin/$(GOLANGCI_LINT) run -c .golangci.yml
    39  
    40  # Download and install golangci-lint
    41  bin/$(GOLANGCI_LINT):
    42  	@echo "$(OK_COLOR)==> Installing golangci-lint $(GOLANGCI_LINT_VERSION)$(NO_COLOR)"; \
    43  	curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ./bin "$(GOLANGCI_LINT_VERSION)"
    44  	@mv ./bin/golangci-lint bin/$(GOLANGCI_LINT)