From 858691b6ae79524a2bc897b256d30951d8604192 Mon Sep 17 00:00:00 2001 From: Michael Zalimeni Date: Wed, 21 Feb 2024 11:11:15 -0500 Subject: [PATCH] [NET-6741] make: Add target for updating dependencies across all modules (#19785) make: Add target for updating dependencies across all modules To enable more consistent and error-proof dependency management, add a Make target that will set a dependency version across all submodules that require it. Also runs `go mod tidy`. This first ensures the dependency addition is reverted if the module in question does not require it; it also ensures that any additional cleanup needed in `go.mod`/`go.sum` is applied. --- Makefile | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Makefile b/Makefile index 0734f77ee0..3618f17df8 100644 --- a/Makefile +++ b/Makefile @@ -239,6 +239,19 @@ go-mod-tidy/%: @echo "--> Running go mod tidy ($*)" @cd $* && go mod tidy +.PHONY: go-mod-get +go-mod-get: $(foreach mod,$(GO_MODULES),go-mod-get/$(mod)) ## Run go get and go mod tidy in every module for the given dependency + +.PHONY: go-mod-get/% +go-mod-get/%: +ifndef DEP_VERSION + $(error DEP_VERSION is undefined: set this to @, e.g. github.com/hashicorp/go-hclog@v1.5.0) +endif + @echo "--> Running go get ${DEP_VERSION} ($*)" + @cd $* && go get $(DEP_VERSION) + @echo "--> Running go mod tidy ($*)" + @cd $* && go mod tidy + ##@ Checks .PHONY: fmt