Skip to content

Commit d4ef512

Browse files
authored
Merge pull request #31 from oracle/tinglwan-fix-makefile
remove deprecated go get
2 parents 2b44772 + 6a96a2b commit d4ef512

File tree

1 file changed

+32
-25
lines changed

1 file changed

+32
-25
lines changed

Makefile

Lines changed: 32 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -104,32 +104,38 @@ operator-yaml: manifests kustomize
104104
undeploy: ## Undeploy controller from the K8s cluster specified in ~/.kube/config.
105105
$(KUSTOMIZE) build config/default | kubectl delete -f -
106106

107+
##@ Build Dependencies
108+
109+
## Location to install dependencies to
110+
LOCALBIN ?= $(shell pwd)/bin
111+
$(LOCALBIN):
112+
mkdir -p $(LOCALBIN)
113+
114+
## Tool Binaries
115+
KUSTOMIZE ?= $(LOCALBIN)/kustomize
116+
CONTROLLER_GEN ?= $(LOCALBIN)/controller-gen
117+
ENVTEST ?= $(LOCALBIN)/setup-envtest
118+
119+
## Tool Versions
120+
KUSTOMIZE_VERSION ?= v3.8.7
121+
CONTROLLER_TOOLS_VERSION ?= v0.6.1
122+
123+
KUSTOMIZE_INSTALL_SCRIPT ?= "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh"
124+
.PHONY: kustomize
125+
kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary.
126+
$(KUSTOMIZE): $(LOCALBIN)
127+
curl -s $(KUSTOMIZE_INSTALL_SCRIPT) | bash -s -- $(subst v,,$(KUSTOMIZE_VERSION)) $(LOCALBIN)
128+
129+
.PHONY: controller-gen
130+
controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary.
131+
$(CONTROLLER_GEN): $(LOCALBIN)
132+
GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-tools/cmd/controller-gen@$(CONTROLLER_TOOLS_VERSION)
133+
134+
.PHONY: envtest
135+
envtest: $(ENVTEST) ## Download envtest-setup locally if necessary.
136+
$(ENVTEST): $(LOCALBIN)
137+
GOBIN=$(LOCALBIN) go install sigs.k8s.io/controller-runtime/tools/setup-envtest@latest
107138

108-
CONTROLLER_GEN = $(shell pwd)/bin/controller-gen
109-
controller-gen: ## Download controller-gen locally if necessary.
110-
$(call go-get-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen@v0.6.1)
111-
112-
KUSTOMIZE = $(shell pwd)/bin/kustomize
113-
kustomize: ## Download kustomize locally if necessary.
114-
$(call go-get-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v3@v3.8.7)
115-
116-
ENVTEST = $(shell pwd)/bin/setup-envtest
117-
envtest: ## Download envtest-setup locally if necessary.
118-
$(call go-get-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest@latest)
119-
120-
# go-get-tool will 'go get' any package $2 and install it to $1.
121-
PROJECT_DIR := $(shell dirname $(abspath $(lastword $(MAKEFILE_LIST))))
122-
define go-get-tool
123-
@[ -f $(1) ] || { \
124-
set -e ;\
125-
TMP_DIR=$$(mktemp -d) ;\
126-
cd $$TMP_DIR ;\
127-
go mod init tmp ;\
128-
echo "Downloading $(2)" ;\
129-
GOBIN=$(PROJECT_DIR)/bin go get $(2) ;\
130-
rm -rf $$TMP_DIR ;\
131-
}
132-
endef
133139

134140
.PHONY: bundle
135141
bundle: manifests kustomize ## Generate bundle manifests and metadata, then validate generated files.
@@ -186,3 +192,4 @@ catalog-build: opm ## Build a catalog image.
186192
.PHONY: catalog-push
187193
catalog-push: ## Push a catalog image.
188194
$(MAKE) docker-push IMG=$(CATALOG_IMG)
195+

0 commit comments

Comments
 (0)