Skip to content

Commit 474f442

Browse files
committed
make foo
1 parent 2d2128d commit 474f442

File tree

2 files changed

+28
-9
lines changed

2 files changed

+28
-9
lines changed

Makefile

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,12 @@ GOVULNCHECK_VER := v1.0.0
161161
GOVULNCHECK := $(abspath $(TOOLS_BIN_DIR)/$(GOVULNCHECK_BIN)-$(GOVULNCHECK_VER))
162162
GOVULNCHECK_PKG := golang.org/x/vuln/cmd/govulncheck
163163

164+
METRIC_GEN_VER := v2.9.2
165+
METRIC_GEN_BIN := metric-gen
166+
METRIC_GEN := $(abspath $(TOOLS_BIN_DIR)/$(METRIC_GEN_BIN)-$(METRIC_GEN_VER))
167+
METRIC_GEN_PKG := k8s.io/kube-state-metrics/exp/metric-gen/v2
168+
METRIC_GEN_MOD_REPLACE := $(METRIC_GEN_PKG)=github.com/chrischdi/kube-state-metrics/exp/metric-gen/v2@$(METRIC_GEN_VER) k8s.io/kube-state-metrics/v2=k8s.io/kube-state-metrics/v2@$(METRIC_GEN_VER)
169+
164170
GOVC_VER := $(shell cat go.mod | grep "github.com/vmware/govmomi" | awk '{print $$NF}')
165171
GOVC_BIN := govc
166172
GOVC := $(abspath $(TOOLS_BIN_DIR)/$(GOVC_BIN)-$(GOVC_VER))
@@ -182,6 +188,8 @@ RELEASE_NOTES_VER := $(CAPI_HACK_TOOLS_VER)
182188
RELEASE_NOTES_BIN := release-notes
183189
RELEASE_NOTES := $(abspath $(TOOLS_BIN_DIR)/$(RELEASE_NOTES_BIN)-$(RELEASE_NOTES_VER))
184190
RELEASE_NOTES_PKG := sigs.k8s.io/cluster-api/hack/tools/release
191+
# let go resolve the tools version via the CAPI version.
192+
RELEASE_NOTES_MOD_REQUIRE := sigs.k8s.io/cluster-api/hack/tools@$(RELEASE_NOTES_VER)
185193

186194
# Define Docker related variables. Releases should modify and double check these vars.
187195
REGISTRY ?= gcr.io/$(shell gcloud config get-value project)
@@ -235,7 +243,7 @@ help: # Display this help
235243

236244
.PHONY: generate
237245
generate: ## Run all generate targets
238-
$(MAKE) generate-modules generate-manifests generate-go-deepcopy generate-go-conversions generate-flavors
246+
$(MAKE) generate-modules generate-manifests generate-go-deepcopy generate-go-conversions generate-flavors generate-metrics-config
239247

240248
.PHONY: generate-manifests
241249
generate-manifests: $(CONTROLLER_GEN) ## Generate manifests e.g. CRD, RBAC etc.
@@ -313,6 +321,9 @@ generate-e2e-templates-main: $(KUSTOMIZE) ## Generate test templates for the mai
313321
# for DHCP overrides
314322
"$(KUSTOMIZE)" --load-restrictor LoadRestrictionsNone build $(E2E_TEMPLATE_DIR)/main/dhcp-overrides > $(E2E_TEMPLATE_DIR)/main/cluster-template-dhcp-overrides.yaml
315323

324+
.PHONY: generate-metrics-config
325+
generate-metrics-config: $(METRIC_GEN) ## Generate ./crd-metrics-config.yaml
326+
$(METRIC_GEN) ./apis/... > crd-metrics-config.yaml
316327

317328
## --------------------------------------
318329
## Lint / Verify
@@ -400,7 +411,6 @@ verify-flavors: $(FLAVOR_DIR) generate-flavors ## Verify generated flavors
400411
echo "flavor files in templates directory are out of date"; exit 1; \
401412
fi
402413

403-
404414
## --------------------------------------
405415
## Build
406416
## --------------------------------------
@@ -598,7 +608,6 @@ e2e-flavors-main: $(RELEASE_DIR)
598608
mkdir -p $(RELEASE_DIR)/main
599609
$(MAKE) generate-flavors FLAVOR_DIR=$(RELEASE_DIR)/main
600610

601-
602611
.PHONY: generate-flavors
603612
generate-flavors: $(FLAVOR_DIR)
604613
go run ./packaging/flavorgen --output-dir $(FLAVOR_DIR)
@@ -755,13 +764,15 @@ $(GOLANGCI_LINT_BIN): $(GOLANGCI_LINT) ## Build a local copy of golangci-lint.
755764
.PHONY: $(GOVULNCHECK_BIN)
756765
$(GOVULNCHECK_BIN): $(GOVULNCHECK) ## Build a local copy of govulncheck.
757766

767+
.PHONY: $(METRIC_GEN_BIN)
768+
$(METRIC_GEN_BIN): $(METRIC_GEN) ## Build a local copy of metric-gen.
769+
758770
.PHONY: $(GOVC_BIN)
759771
$(GOVC_BIN): $(GOVC) ## Build a local copy of govc.
760772

761773
.PHONY: $(KIND_BIN)
762774
$(KIND_BIN): $(KIND) ## Build a local copy of kind.
763775

764-
765776
.PHONY: $(RELEASE_NOTES_BIN)
766777
$(RELEASE_NOTES_BIN): $(RELEASE_NOTES) ## Build a local copy of release-notes.
767778

@@ -807,15 +818,17 @@ $(GOLANGCI_LINT): # Build golangci-lint.
807818
$(GOVULNCHECK): # Build govulncheck.
808819
GOBIN=$(TOOLS_BIN_DIR) $(GO_INSTALL) $(GOVULNCHECK_PKG) $(GOVULNCHECK_BIN) $(GOVULNCHECK_VER)
809820

821+
$(METRIC_GEN): # Build metric-gen.
822+
GOBIN=$(TOOLS_BIN_DIR) GOMOD_REPLACE="$(METRIC_GEN_MOD_REPLACE)" $(GO_TOOLS_BUILD) $(METRIC_GEN_PKG) $(METRIC_GEN_BIN) $(METRIC_GEN_VER)
823+
810824
$(GOVC): # Build GOVC.
811825
CGO_ENABLED=0 GOBIN=$(TOOLS_BIN_DIR) $(GO_INSTALL) $(GOVC_PKG) $(GOVC_BIN) $(GOVC_VER)
812826

813827
$(KIND): # Build kind.
814828
GOBIN=$(TOOLS_BIN_DIR) $(GO_INSTALL) $(KIND_PKG) $(KIND_BIN) $(KIND_VER)
815829

816-
817830
$(RELEASE_NOTES): # Build release-notes.
818-
GOBIN=$(TOOLS_BIN_DIR) $(GO_TOOLS_BUILD) $(RELEASE_NOTES_PKG) $(RELEASE_NOTES_BIN) $(RELEASE_NOTES_VER)
831+
GOBIN=$(TOOLS_BIN_DIR) GOMOD_REQUIRE="$(RELEASE_NOTES_MOD_REQUIRE)" $(GO_TOOLS_BUILD) $(RELEASE_NOTES_PKG) $(RELEASE_NOTES_BIN) $(RELEASE_NOTES_VER)
819832

820833
## --------------------------------------
821834
## Helpers

hack/go-tools-build.sh

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ if [ -z "${GOBIN}" ]; then
3737
exit 1
3838
fi
3939

40-
CAPI_HACK_TOOLS="sigs.k8s.io/cluster-api/hack/tools"
40+
GOMOD_REPLACE=${GOMOD_REPLACE:=}
41+
GOMOD_REQUIRE=${GOMOD_REQUIRE:=}
4142

4243
rm -f "${GOBIN}/${2}"* || true
4344

@@ -52,8 +53,13 @@ cd "${TMP_MODULE_DIR}"
5253

5354
# Initialize a go module and place a tools.go file for building the binary.
5455
go mod init "tools"
55-
# Set require for "sigs.k8s.io/cluster-api" to let go resolve the tools version via the CAPI version.
56-
go mod edit -require "${CAPI_HACK_TOOLS}@${3}"
56+
57+
for PARAM in ${GOMOD_REPLACE}; do
58+
eval go mod edit -replace ${PARAM}
59+
done
60+
for PARAM in ${GOMOD_REQUIRE}; do
61+
eval go mod edit -require ${PARAM}
62+
done
5763

5864
# Create go file which imports the required package and resolve dependencies.
5965
cat << EOF > tools.go

0 commit comments

Comments
 (0)