@@ -11,14 +11,14 @@ list: ## list Makefile targets
1111 @echo " The most used targets: \n"
1212 @grep -E ' ^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST ) | sort | awk ' BEGIN {FS = ":.*?## "}; {printf "\033[36m%-20s\033[0m %s\n", $$1, $$2}'
1313
14- unit-tests : generate fmt vet manifests # # Run unit tests
14+ unit-tests : install-tools generate fmt vet manifests # # Run unit tests
1515 ginkgo -r api/ internal/
1616
17- integration-tests : generate fmt vet manifests # # Run integration tests
17+ integration-tests : install-tools generate fmt vet manifests # # Run integration tests
1818 ginkgo -r controllers/
1919
20- manifests : controller-gen # # Generate manifests e.g. CRD, RBAC etc.
21- $( CONTROLLER_GEN ) $(CRD_OPTIONS ) rbac:roleName=operator-role paths=" ./api/...;./controllers/..." output:crd:artifacts:config=config/crd/bases
20+ manifests : install-tools # # Generate manifests e.g. CRD, RBAC etc.
21+ controller-gen $(CRD_OPTIONS ) rbac:roleName=operator-role paths=" ./api/...;./controllers/..." output:crd:artifacts:config=config/crd/bases
2222 ./hack/add-notice-to-yaml.sh config/rbac/role.yaml
2323# this is temporary workaround due to issue https://github.com/kubernetes/kubernetes/issues/91395
2424# the hack ensures that "protocal" is a required value where this field is listed as x-kubernetes-list-map-keys
3535 go vet ./...
3636
3737# Generate code
38- generate : controller-gen
39- $( CONTROLLER_GEN ) object:headerFile=./hack/NOTICE.go.txt paths=./api/...
40- $( CONTROLLER_GEN ) object:headerFile=./hack/NOTICE.go.txt paths=./internal/status/...
38+ generate : install-tools
39+ controller-gen object:headerFile=./hack/NOTICE.go.txt paths=./api/...
40+ controller-gen object:headerFile=./hack/NOTICE.go.txt paths=./internal/status/...
4141
4242# Build manager binary
4343manager : generate fmt vet
@@ -68,7 +68,7 @@ just-run: ## Just runs 'go run main.go' without regenerating any manifests or de
6868
6969delve : generate install deploy-namespace-rbac just-delve # # Deploys CRD, Namespace, RBACs and starts Delve debugger
7070
71- just-delve : # # Just starts Delve debugger
71+ just-delve : install-tools # # Just starts Delve debugger
7272 KUBE_CONFIG=${HOME} /.kube/config OPERATOR_NAMESPACE=rabbitmq-system dlv debug
7373
7474# Install CRDs into a cluster
@@ -127,31 +127,17 @@ kind-unprepare: ## Remove KIND support for LoadBalancer services
127127 @kubectl delete -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/metallb.yaml
128128 @kubectl delete -f https://raw.githubusercontent.com/metallb/metallb/v0.9.3/manifests/namespace.yaml
129129
130- system-tests : # # run end-to-end tests against Kubernetes cluster defined in ~/.kube/config
130+ system-tests : install-tools # # run end-to-end tests against Kubernetes cluster defined in ~/.kube/config
131131 NAMESPACE=" rabbitmq-system" ginkgo -nodes=3 -randomizeAllSpecs -r system_tests/
132132
133133docker-registry-secret : check-env-docker-credentials operator-namespace
134134 echo " creating registry secret and patching default service account"
135135 @kubectl -n $(K8S_OPERATOR_NAMESPACE ) create secret docker-registry $(DOCKER_REGISTRY_SECRET ) --docker-server=' $(DOCKER_REGISTRY_SERVER)' --docker-username=" $$ DOCKER_REGISTRY_USERNAME" --docker-password=" $$ DOCKER_REGISTRY_PASSWORD" || true
136136 @kubectl -n $(K8S_OPERATOR_NAMESPACE ) patch serviceaccount rabbitmq-cluster-operator -p ' {"imagePullSecrets": [{"name": "$(DOCKER_REGISTRY_SECRET)"}]}'
137137
138- controller-gen : # # download controller-gen if not in $PATH
139- ifeq (, $(shell which controller-gen) )
140- @{ \
141- set -e ;\
142- CONTROLLER_GEN_TMP_DIR=$$(mktemp -d) ;\
143- cd $$CONTROLLER_GEN_TMP_DIR ;\
144- go mod init tmp ;\
145- go get sigs.k8s.io/controller-tools/cmd/
[email protected] ;\
146- rm -rf $$CONTROLLER_GEN_TMP_DIR ;\
147- }
148- ifeq (, $(GOBIN ) )
149- GOBIN =$(GOPATH ) /bin
150- endif
151- CONTROLLER_GEN =$(GOBIN ) /controller-gen
152- else
153- CONTROLLER_GEN =$(shell which controller-gen)
154- endif
138+ install-tools :
139+ go mod download
140+ grep _ tools/tools.go | awk -F ' "' ' {print $$2}' | xargs -t go install
155141
156142operator-namespace :
157143ifeq (, $(K8S_OPERATOR_NAMESPACE ) )
0 commit comments