github.com/jfrog/jfrog-cli-platform-services@v1.2.0/Makefile (about)

     1  SHELL := /bin/bash
     2  .DEFAULT_GOAL = build
     3  GOCMD = go
     4  export PROJECT_DIR ?= $(CURDIR)
     5  BINARY_CLI = bin
     6  WORKSPACE_ROOT = $(shell cd "${PROJECT_DIR}" && pwd)
     7  TOOLS_DIR := $(CURDIR)/.tools
     8  SCRIPTS_DIR = ${PROJECT_DIR}/.github/scripts
     9  LINKERFLAGS = -s -w
    10  COMPILERFLAGS = all=-trimpath=$(WORKSPACE_ROOT)
    11  GOOS = $(shell go env GOOS)
    12  GOARCH = $(shell go env GOARCH)
    13  GO_SOURCES = $(eval GO_SOURCES := $$(shell find . -type f -name "*.go" | grep -v ".*_mock\.go"))$(GO_SOURCES)
    14  
    15  ########## FORMAT ##########
    16  
    17  format: GOFUMPT GOIMPORTS
    18  	@${GOFUMPT} -w $(GO_SOURCES)
    19  	@${GOIMPORTS} -w -local jfrog.com $(GO_SOURCES)
    20  
    21  GOFUMPT = ${TOOLS_DIR}/gofumpt
    22  GOFUMPT_VERSION = 0.5.0
    23  
    24  GOFUMPT:
    25  	${GOFUMPT} --version 2>/dev/null | grep ${GOFUMPT_VERSION} || GOBIN=${TOOLS_DIR} $(GOCMD) install mvdan.cc/gofumpt@v${GOFUMPT_VERSION}
    26  
    27  GOIMPORTS = ${TOOLS_DIR}/goimports
    28  GOIMPORTS_VERSION = 0.16.1
    29  
    30  GOIMPORTS:
    31  	GOBIN=${TOOLS_DIR} $(GOCMD) install golang.org/x/tools/cmd/goimports@v${GOIMPORTS_VERSION}
    32  
    33  ########## ANALYSE ##########
    34  
    35  GOLANGCI_LINT         = ${TOOLS_DIR}/golangci-lint
    36  GOLANGCI_LINT_VERSION = 1.55.2
    37  
    38  verify: GOLANGCI_LINT
    39  	echo $(GO_SOURCES)
    40  	$(GOLANGCI_LINT) run --out-format tab --config "${WORKSPACE_ROOT}/.golangci.yml"
    41  
    42  GOLANGCI_LINT:
    43  	${GOLANGCI_LINT} --version 2>/dev/null | grep ${GOLANGCI_LINT_VERSION} || curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b ${TOOLS_DIR} v${GOLANGCI_LINT_VERSION}
    44  
    45  ########## BUILD ##########
    46  prereq::
    47  	${GOCMD} install github.com/jstemmer/go-junit-report@v1.0.0
    48  
    49  build::
    50  	go env GOOS GOARCH
    51  	go build -ldflags="${LINKERFLAGS}" -gcflags ${COMPILERFLAGS} -o ${BINARY_CLI}/worker-cli-plugin main.go
    52  
    53  
    54  build-install:: build
    55  	mkdir -p "${HOME}/.jfrog/plugins/worker/bin"
    56  	mv ${BINARY_CLI}/worker-cli-plugin "${HOME}/.jfrog/plugins/worker/bin/worker"
    57  	chmod +x "${HOME}/.jfrog/plugins/worker/bin/worker"
    58  
    59  ########## TEST ##########
    60  
    61  test: prereq
    62  	$(SCRIPTS_DIR)/gotest.sh ./... ${TEST_ARGS}
    63  
    64  .PHONY: $(MAKECMDGOALS)