diff --git a/Makefile b/Makefile index 7fa9b95a5..ff1347f7f 100644 --- a/Makefile +++ b/Makefile @@ -65,7 +65,8 @@ IMG ?= $(IMAGE):$(VERSION) # Set the Operator SDK version to use. # This is useful for CI or a project to utilize a specific version of the operator-sdk toolkit. OPERATOR_SDK_VERSION ?= v1.35.0 - +# Set the path to Operator SDK - OPERATOR_SDK_VERSION will be ignored. +OPERATOR_SDK ?= bin/operator-sdk # Get the currently used golang install path (in GOPATH/bin, unless GOBIN is set) ifeq (,$(shell go env GOBIN)) @@ -131,19 +132,6 @@ test-e2e: manifests generate fmt vet ## Run e2e tests. test-metrics: go test -timeout 30m ./test/e2e -ginkgo.focus="Argo CD metrics controller" -coverprofile cover.out -ginkgo.v -.PHONY: operator-sdk -OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk -operator-sdk: ## Download operator-sdk locally if necessary. -ifeq (,$(wildcard $(OPERATOR_SDK))) - @{ \ - set -e ;\ - mkdir -p $(dir $(OPERATOR_SDK)) ;\ - OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ - curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\ - chmod +x $(OPERATOR_SDK) ;\ - } -endif - .PHONY: test-route test-route: go test -timeout 30m ./test/e2e -ginkgo.focus="Argo CD ConsoleLink controller" -coverprofile cover.out -ginkgo.v @@ -223,27 +211,17 @@ docker-push: ## Push container image with the manager. ##@ Build Dependencies -## Location to install dependencies to -LOCALBIN ?= $(shell pwd)/bin -$(LOCALBIN): - mkdir -p $(LOCALBIN) +# Do not use OPERATOR_SDK variable not to overwrite the user provided path +bin/operator-sdk: + mkdir -p bin + curl -sSLo bin/operator-sdk \ + https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$(shell go env GOOS)_$(shell go env GOARCH) + chmod +x bin/operator-sdk +# Install to bin/operator-sdk unless already there or explicit OPERATOR_SDK provided .PHONY: operator-sdk -OPERATOR_SDK ?= $(LOCALBIN)/operator-sdk -operator-sdk: ## Download operator-sdk locally if necessary. -ifeq (,$(wildcard $(OPERATOR_SDK))) -ifeq (,$(shell which operator-sdk 2>/dev/null)) - @{ \ - set -e ;\ - mkdir -p $(dir $(OPERATOR_SDK)) ;\ - OS=$(shell go env GOOS) && ARCH=$(shell go env GOARCH) && \ - curl -sSLo $(OPERATOR_SDK) https://github.com/operator-framework/operator-sdk/releases/download/$(OPERATOR_SDK_VERSION)/operator-sdk_$${OS}_$${ARCH} ;\ - chmod +x $(OPERATOR_SDK) ;\ - } -else -OPERATOR_SDK = $(shell which operator-sdk) -endif -endif +operator-sdk: $(OPERATOR_SDK) + @$(OPERATOR_SDK) version ifndef ignore-not-found ignore-not-found = false