Skip to content

Commit 3a8af5a

Browse files
authored
Merge pull request kubernetes#131459 from BenTheElder/codegen-streamline
automatically setup hack/update-codegen.sh dependencies
2 parents e9379e9 + d5bf33e commit 3a8af5a

File tree

5 files changed

+39
-26
lines changed

5 files changed

+39
-26
lines changed

hack/lib/protoc.sh

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -101,19 +101,20 @@ function kube::protoc::diff() {
101101
}
102102

103103
function kube::protoc::install() {
104+
local os
105+
local arch
106+
local download_folder
107+
local download_file
108+
local third_party_dir
109+
110+
os=$(kube::util::host_os)
111+
arch=$(kube::util::host_arch)
112+
download_folder="protoc-v${PROTOC_VERSION}-${os}-${arch}"
113+
download_file="${download_folder}.zip"
114+
third_party_dir="${KUBE_ROOT}/third_party"
104115
# run in a subshell to isolate caller from directory changes
105116
(
106-
local os
107-
local arch
108-
local download_folder
109-
local download_file
110-
111-
os=$(kube::util::host_os)
112-
arch=$(kube::util::host_arch)
113-
download_folder="protoc-v${PROTOC_VERSION}-${os}-${arch}"
114-
download_file="${download_folder}.zip"
115-
116-
cd "${KUBE_ROOT}/third_party" || return 1
117+
cd "${third_party_dir}" || return 1
117118
if [[ $(readlink protoc) != "${download_folder}" ]]; then
118119
local url
119120
if [[ ${os} == "darwin" ]]; then
@@ -136,8 +137,12 @@ function kube::protoc::install() {
136137
rm "${download_file}"
137138
fi
138139
kube::log::info "protoc v${PROTOC_VERSION} installed. To use:"
139-
kube::log::info "export PATH=\"$(pwd)/protoc:\${PATH}\""
140+
kube::log::info "export PATH=\"${third_party_dir}/protoc:\${PATH}\""
140141
)
142+
# export updated PATH so install-protoc.sh can be sourced
143+
# CLI callers will need to use the export indicated above
144+
PATH="${third_party_dir}/protoc:${PATH}"
145+
export PATH
141146
}
142147

143148
# Marker function to indicate protoc.sh has been fully sourced

hack/tools/go.mod

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ require (
1212
github.com/jcchavezs/porto v0.6.0
1313
github.com/vektra/mockery/v2 v2.53.3
1414
go.uber.org/automaxprocs v1.6.0
15-
golang.org/x/mod v0.23.0
15+
golang.org/x/mod v0.24.0
16+
golang.org/x/tools v0.32.0
1617
gotest.tools/gotestsum v1.12.0
1718
honnef.co/go/tools v0.6.0
1819
k8s.io/publishing-bot v0.5.0
@@ -199,11 +200,10 @@ require (
199200
go.uber.org/zap v1.24.0 // indirect
200201
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0 // indirect
201202
golang.org/x/exp/typeparams v0.0.0-20250210185358-939b2ce775ac // indirect
202-
golang.org/x/sync v0.11.0 // indirect
203-
golang.org/x/sys v0.30.0 // indirect
203+
golang.org/x/sync v0.13.0 // indirect
204+
golang.org/x/sys v0.32.0 // indirect
204205
golang.org/x/term v0.29.0 // indirect
205206
golang.org/x/text v0.22.0 // indirect
206-
golang.org/x/tools v0.30.0 // indirect
207207
google.golang.org/protobuf v1.36.4 // indirect
208208
gopkg.in/yaml.v2 v2.4.0 // indirect
209209
gopkg.in/yaml.v3 v3.0.1 // indirect

hack/tools/go.sum

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -699,8 +699,8 @@ golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs=
699699
golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
700700
golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
701701
golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
702-
golang.org/x/mod v0.23.0 h1:Zb7khfcRGKk+kqfxFaP5tZqCnDZMjC5VtUBs87Hr6QM=
703-
golang.org/x/mod v0.23.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
702+
golang.org/x/mod v0.24.0 h1:ZfthKaKaT4NrhGVZHO1/WDTwGES4De8KtWO0SIbNJMU=
703+
golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww=
704704
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
705705
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
706706
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -745,8 +745,8 @@ golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk=
745745
golang.org/x/net v0.16.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
746746
golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44=
747747
golang.org/x/net v0.22.0/go.mod h1:JKghWKKOSdJwpW2GEx0Ja7fmaKnMsbu+MWVZTokSYmg=
748-
golang.org/x/net v0.35.0 h1:T5GQRQb2y08kTAByq9L4/bz8cipCdA8FbRTXewonqY8=
749-
golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk=
748+
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
749+
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
750750
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
751751
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
752752
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -769,8 +769,8 @@ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
769769
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
770770
golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
771771
golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
772-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
773-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
772+
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
773+
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
774774
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
775775
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
776776
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
@@ -829,8 +829,8 @@ golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
829829
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
830830
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
831831
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
832-
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
833-
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
832+
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
833+
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
834834
golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE=
835835
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
836836
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@@ -924,8 +924,8 @@ golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8
924924
golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58=
925925
golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
926926
golang.org/x/tools v0.19.0/go.mod h1:qoJWxmGSIBmAeriMx19ogtrEPrGtDbPK634QFIcLAhc=
927-
golang.org/x/tools v0.30.0 h1:BgcpHewrV5AUp2G9MebG4XPFI1E2W41zU1SaqVA9vJY=
928-
golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY=
927+
golang.org/x/tools v0.32.0 h1:Q7N1vhpkQv7ybVzLFtTjvQya2ewbwNDZzUgfXGqtMWU=
928+
golang.org/x/tools v0.32.0/go.mod h1:ZxrU41P/wAbZD8EDa6dDCa6XfpkhJ7HFMjHJXfBDu8s=
929929
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
930930
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
931931
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=

hack/tools/tools.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,7 @@ import (
4040
// for publishing bot
4141
_ "golang.org/x/mod/modfile"
4242
_ "k8s.io/publishing-bot/cmd/publishing-bot/config"
43+
44+
// used by go-to-protobuf
45+
_ "golang.org/x/tools/cmd/goimports"
4346
)

hack/update-codegen.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ if [[ "${DBG_CODEGEN}" == 1 ]]; then
4949
kube::log::status "DBG: starting generated_files"
5050
fi
5151

52+
echo "installing goimports from hack/tools"
53+
go -C "${KUBE_ROOT}/hack/tools" install golang.org/x/tools/cmd/goimports
54+
55+
kube::protoc::install
56+
5257
# Generate a list of directories we don't want to play in.
5358
DIRS_TO_AVOID=()
5459
kube::util::read-array DIRS_TO_AVOID < <(

0 commit comments

Comments
 (0)