BIN ?= bin GOPLS_VERSION ?= v0.15.1 GOPLS_DIR ?= $(abspath $(BIN))/gopls GOPLS_VERSION_DIR ?= $(GOPLS_DIR)/$(GOPLS_VERSION) GOPLS_TEMP_FILE := $(shell mktemp) .PHONY: gopls-install gopls-run # Install gopls gopls-install: @rm -rf $(GOPLS_DIR) @mkdir $(GOPLS_DIR) @GOBIN=$(GOPLS_VERSION_DIR) go install golang.org/x/tools/gopls@$(GOPLS_VERSION) $(GOPLS_VERSION_DIR): gopls-install # Run gopls gopls-run: $(GOPLS_VERSION_DIR) $(GOPLS_VERSION_DIR)/gopls check $(SOURCES) 2>&1 >$(GOPLS_TEMP_FILE) @if [[ $$(wc -l < $(GOPLS_TEMP_FILE)) -ne 0 ]]; then \ cat $(GOPLS_TEMP_FILE); \ exit 1; \ fi rm $(GOPLS_TEMP_FILE)