From b87e3da6c27192b71ac72d8bf653373c49cd9cf7 Mon Sep 17 00:00:00 2001 From: "Ing. Lukas Koszegy" Date: Fri, 5 Jan 2024 10:03:43 +0100 Subject: [PATCH] simplify go-install-tool * fix comments * Unified makefile targets --- .../scaffolds/internal/templates/makefile.go | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/pkg/plugins/golang/v4/scaffolds/internal/templates/makefile.go b/pkg/plugins/golang/v4/scaffolds/internal/templates/makefile.go index 0121dcd509a..1364f1d6073 100644 --- a/pkg/plugins/golang/v4/scaffolds/internal/templates/makefile.go +++ b/pkg/plugins/golang/v4/scaffolds/internal/templates/makefile.go @@ -225,7 +225,7 @@ GOLANGCI_LINT_VERSION ?= v1.54.2 .PHONY: kustomize kustomize: $(KUSTOMIZE) ## Download kustomize locally if necessary. $(KUSTOMIZE): $(LOCALBIN) - $(call go-install-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize,$(KUSTOMIZE_VERSION)) + $(call go-install-tool,$(KUSTOMIZE),sigs.k8s.io/kustomize/kustomize/v5,$(KUSTOMIZE_VERSION)) .PHONY: controller-gen controller-gen: $(CONTROLLER_GEN) ## Download controller-gen locally if necessary. @@ -233,11 +233,13 @@ $(CONTROLLER_GEN): $(LOCALBIN) $(call go-install-tool,$(CONTROLLER_GEN),sigs.k8s.io/controller-tools/cmd/controller-gen,$(CONTROLLER_TOOLS_VERSION)) .PHONY: envtest -envtest: $(LOCALBIN) ## Download envtest-setup locally if necessary. +envtest: $(ENVTEST) ## Download setup-envtest locally if necessary. +$(ENVTEST): $(LOCALBIN) $(call go-install-tool,$(ENVTEST),sigs.k8s.io/controller-runtime/tools/setup-envtest,$(ENVTEST_VERSION)) .PHONY: golangci-lint -golangci-lint: $(LOCALBIN) +golangci-lint: $(GOLANGCI_LINT) ## Download golangci-lint locally if necessary. +$(GOLANGCI_LINT): $(LOCALBIN) $(call go-install-tool,$(GOLANGCI_LINT),github.com/golangci/golangci-lint/cmd/golangci-lint,${GOLANGCI_LINT_VERSION}) # go-install-tool will 'go install' any package with custom target and name of binary, if it doesn't exist @@ -247,15 +249,10 @@ golangci-lint: $(LOCALBIN) define go-install-tool @[ -f $(1) ] || { \ set -e; \ -version=@$(3) ;\ -url=$(2) ;\ -if echo $$version | grep 'v[2-9][0-9]*' -q; then \ - echo $$url | grep '/v[2-9][0-9]*/' -q || version="/$$(printf $$version | grep -o 'v[2-9][0-9]*')$$version" ;\ -fi ;\ -echo "Downloading $${url}$${version}" ;\ -GOBIN=$(GOBIN) go install $${url}$${version} ;\ -binary=$$(echo "$$url" | rev | cut -d'/' -f 1 | rev) ;\ -mv "$(GOBIN)/$${binary}" $(1) ;\ +package=$(2)@$(3) ;\ +echo "Downloading $${package}" ;\ +GOBIN=$(LOCALBIN) go install $${package} ;\ +mv "$$(echo "$(1)" | sed "s/-$(3)$$//")" $(1) ;\ } endef `