@@ -59,15 +59,14 @@ YAML_PATCH_BIN := yaml-patch
5959YAML_PATCH := $(TOOLS_DIR ) /$(YAML_PATCH_BIN ) -$(YAML_PATCH_VER )
6060export YAML_PATCH # so hack scripts can use it
6161
62- OPENSHIFT_GOIMPORTS_VER := c72f1dc2e3aacfa00aece3391d938c9bc734e791
63- OPENSHIFT_GOIMPORTS_BIN := openshift-goimports
64- OPENSHIFT_GOIMPORTS := $(TOOLS_DIR ) /$(OPENSHIFT_GOIMPORTS_BIN ) -$(OPENSHIFT_GOIMPORTS_VER )
65- export OPENSHIFT_GOIMPORTS # so hack scripts can use it
66-
6762GOLANGCI_LINT_VER := v2.1.6
6863GOLANGCI_LINT_BIN := golangci-lint
6964GOLANGCI_LINT := $(TOOLS_GOBIN_DIR ) /$(GOLANGCI_LINT_BIN ) -$(GOLANGCI_LINT_VER )
7065
66+ GOIMPORTS_VER := v0.35.0
67+ GOIMPORTS_BIN := goimports
68+ GOIMPORTS := $(TOOLS_GOBIN_DIR ) /$(GOIMPORTS_BIN ) -$(GOIMPORTS_VER )
69+
7170GOTESTSUM_VER := v1.8.1
7271GOTESTSUM_BIN := gotestsum
7372GOTESTSUM := $(abspath $(TOOLS_DIR ) ) /$(GOTESTSUM_BIN ) -$(GOTESTSUM_VER )
@@ -145,6 +144,9 @@ install: ## install binaries to GOBIN
145144$(GOLANGCI_LINT ) :
146145 GOBIN=$(TOOLS_GOBIN_DIR ) $(GO_INSTALL ) github.com/golangci/golangci-lint/v2/cmd/golangci-lint $(GOLANGCI_LINT_BIN ) $(GOLANGCI_LINT_VER )
147146
147+ $(GOIMPORTS ) :
148+ GOBIN=$(TOOLS_GOBIN_DIR ) $(GO_INSTALL ) golang.org/x/tools/cmd/goimports $(GOIMPORTS_BIN ) $(GOIMPORTS_VER )
149+
148150$(LOGCHECK ) :
149151 GOBIN=$(TOOLS_GOBIN_DIR ) $(GO_INSTALL ) sigs.k8s.io/logtools/logcheck $(LOGCHECK_BIN ) $(LOGCHECK_VER )
150152
@@ -164,7 +166,7 @@ vendor: ## Vendor the dependencies
164166 go mod vendor
165167.PHONY : vendor
166168
167- tools : $(GOLANGCI_LINT ) $(CONTROLLER_GEN ) $(YAML_PATCH ) $(GOTESTSUM ) $(OPENSHIFT_GOIMPORTS ) $( CODE_GENERATOR )
169+ tools : $(GOLANGCI_LINT ) $(CONTROLLER_GEN ) $(YAML_PATCH ) $(GOTESTSUM ) $(CODE_GENERATOR )
168170.PHONY : tools
169171
170172$(CONTROLLER_GEN ) :
@@ -186,7 +188,8 @@ $(KUBE_APPLYCONFIGURATION_GEN):
186188 GOBIN=$(GOBIN_DIR ) $(GO_INSTALL ) k8s.io/code-generator/cmd/$(KUBE_APPLYCONFIGURATION_GEN_BIN ) $(KUBE_APPLYCONFIGURATION_GEN_BIN ) $(KUBE_APPLYCONFIGURATION_GEN_VER )
187189
188190
189- codegen : $(CONTROLLER_GEN ) $(YAML_PATCH ) $(CODE_GENERATOR ) $(KUBE_CLIENT_GEN ) $(KUBE_LISTER_GEN ) $(KUBE_INFORMER_GEN ) $(KUBE_APPLYCONFIGURATION_GEN ) # # Run the codegenerators
191+ codegen : WHAT ?= ./sdk/kcp ./sdk/client
192+ codegen : $(CONTROLLER_GEN ) $(YAML_PATCH ) $(CODE_GENERATOR ) $(KUBE_CLIENT_GEN ) $(KUBE_LISTER_GEN ) $(KUBE_INFORMER_GEN ) $(KUBE_APPLYCONFIGURATION_GEN )
190193 go mod download
191194 ./hack/update-codegen.sh
192195 $(MAKE ) imports
@@ -209,12 +212,17 @@ verify-codegen:
209212 exit 1; \
210213 fi
211214
212- $(OPENSHIFT_GOIMPORTS ) :
213- GOBIN=$(TOOLS_GOBIN_DIR ) $(GO_INSTALL ) github.com/openshift-eng/openshift-goimports $(OPENSHIFT_GOIMPORTS_BIN ) $(OPENSHIFT_GOIMPORTS_VER )
214-
215215.PHONY : imports
216- imports : $(OPENSHIFT_GOIMPORTS )
217- $(OPENSHIFT_GOIMPORTS ) -m github.com/kube-bind/kube-bind
216+ imports : $(GOLANGCI_LINT ) $(GOIMPORTS ) verify-go-versions
217+ if [ -n " $( WHAT) " ]; then \
218+ $(GOLANGCI_LINT ) fmt --enable gci -c $(ROOT_DIR ) /.golangci.yaml $(WHAT ) ; \
219+ $(GOIMPORTS ) -local github.com/kube-bind/kube-bind -w $(WHAT ) ; \
220+ else \
221+ for MOD in . $$ (git ls-files ' **/go.mod' | sed ' s,/go.mod,,' ); do \
222+ (set -x; cd $$ MOD; $( GOLANGCI_LINT) fmt --enable gci -c $( ROOT_DIR) /.golangci.yaml); \
223+ $(GOIMPORTS ) -local github.com/kube-bind/kube-bind -w . ; \
224+ done ; \
225+ fi
218226
219227$(TOOLS_DIR ) /verify_boilerplate.py :
220228 mkdir -p $(TOOLS_DIR )
0 commit comments