@@ -6,20 +6,20 @@ SRCROOT="$( CDPATH='' cd -- "$(dirname "$0")/../.." && pwd -P )"
66# This script installs all our golang-based codegen utility CLIs necessary for codegen.
77# Some dependencies are vendored in go.mod (ones which are actually imported in our codebase).
88# Other dependencies are only used as a CLI and do not need vendoring in go.mod (doing so adds
9- # unecessary dependencies to go.mod). We want to maintain a single source of truth for versioning
9+ # unnecessary dependencies to go.mod). We want to maintain a single source of truth for versioning
1010# our binaries (either go.mod or go install <pkg>@<version>), so we use two techniques to install
1111# our CLIs:
1212# 1. For CLIs which are NOT vendored in go.mod, we can run `go install <pkg>@<version>` with an explicit version
1313# 2. For packages which we *do* vendor in go.mod, we determine version from go.mod followed by `go install` with that version
1414go_mod_install () {
15- module=$( go list -f ' {{.Module}}' $1 | awk ' {print $1}' )
16- module_version=$( go list -m $module | awk ' {print $NF}' | head -1)
17- go install $1 @$module_version
15+ module=$( go list -f ' {{.Module}}' " $1 " | awk ' {print $1}' )
16+ module_version=$( go list -m " $module " | awk ' {print $NF}' | head -1)
17+ go install " $1 @$module_version "
1818}
1919
2020# All binaries are compiled into the argo-cd/dist directory, which is added to the PATH during codegen
2121export GOBIN=" ${SRCROOT} /dist"
22- mkdir -p $GOBIN
22+ mkdir -p " $GOBIN "
2323
2424# protoc-gen-go* is used to generate <service>.pb.go from .proto files
2525# go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.0
@@ -41,8 +41,9 @@ go_mod_install k8s.io/code-generator/cmd/defaulter-gen
4141go_mod_install k8s.io/code-generator/cmd/informer-gen
4242go_mod_install k8s.io/code-generator/cmd/lister-gen
4343
44- # We still install openapi-gen from go.mod since upstream does not utilize release tags
45- go_mod_install k8s.io/kube-openapi/cmd/openapi-gen
44+ # We still install openapi-gen from go.mod since upstream does not utilize release tags. Use go install in order for
45+ # replace directives to be respected.
46+ go install k8s.io/kube-openapi/cmd/openapi-gen
4647
4748# controller-gen is run by ./hack/gen-crd-spec to generate the CRDs
4849go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.18.0
@@ -51,7 +52,7 @@ go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.18.0
5152go install github.com/go-swagger/go-swagger/cmd/swagger@v0.28.0
5253
5354# goimports is used to auto-format generated code
54- go install golang.org/x/tools/cmd/goimports@v0.1.8
55+ go install golang.org/x/tools/cmd/goimports@v0.35.0
5556
5657# mockery is used to generate mock
5758go install github.com/vektra/mockery/v3@v3.3.6
0 commit comments