Skip to content

Commit 64bd79f

Browse files
committed
Convert go_binary linkstamp to x_defs
1 parent 14e1889 commit 64bd79f

File tree

14 files changed

+73
-10
lines changed

14 files changed

+73
-10
lines changed

cmd/cloud-controller-manager/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "cloud-controller-manager",
@@ -17,8 +18,8 @@ go_binary(
1718
"-static",
1819
],
1920
library = ":go_default_library",
20-
linkstamp = "k8s.io/kubernetes/pkg/version",
2121
tags = ["automanaged"],
22+
x_defs = version_x_defs(),
2223
)
2324

2425
go_library(

cmd/hyperkube/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ load(
88
"go_library",
99
"go_test",
1010
)
11+
load("//pkg/version:def.bzl", "version_x_defs")
1112

1213
go_binary(
1314
name = "hyperkube",
1415
library = ":go_default_library",
15-
linkstamp = "k8s.io/kubernetes/pkg/version",
1616
tags = ["automanaged"],
17+
x_defs = version_x_defs(),
1718
)
1819

1920
go_test(

cmd/kube-apiserver/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "kube-apiserver",
@@ -17,8 +18,8 @@ go_binary(
1718
"-static",
1819
],
1920
library = ":go_default_library",
20-
linkstamp = "k8s.io/kubernetes/pkg/version",
2121
tags = ["automanaged"],
22+
x_defs = version_x_defs(),
2223
)
2324

2425
go_library(

cmd/kube-controller-manager/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "kube-controller-manager",
@@ -17,8 +18,8 @@ go_binary(
1718
"-static",
1819
],
1920
library = ":go_default_library",
20-
linkstamp = "k8s.io/kubernetes/pkg/version",
2121
tags = ["automanaged"],
22+
x_defs = version_x_defs(),
2223
)
2324

2425
go_library(

cmd/kube-proxy/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "kube-proxy",
@@ -17,8 +18,8 @@ go_binary(
1718
"-static",
1819
],
1920
library = ":go_default_library",
20-
linkstamp = "k8s.io/kubernetes/pkg/version",
2121
tags = ["automanaged"],
22+
x_defs = version_x_defs(),
2223
)
2324

2425
go_library(

cmd/kubeadm/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "kubeadm",
@@ -17,8 +18,8 @@ go_binary(
1718
"-static",
1819
],
1920
library = ":go_default_library",
20-
linkstamp = "k8s.io/kubernetes/pkg/version",
2121
tags = ["automanaged"],
22+
x_defs = version_x_defs(),
2223
)
2324

2425
go_library(

cmd/kubectl/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ load(
55
"go_binary",
66
"go_library",
77
)
8+
load("//pkg/version:def.bzl", "version_x_defs")
89

910
go_binary(
1011
name = "kubectl",
@@ -15,11 +16,11 @@ go_binary(
1516
"-static",
1617
],
1718
library = ":go_default_library",
18-
linkstamp = "k8s.io/kubernetes/pkg/version",
1919
tags = ["automanaged"],
2020
visibility = [
2121
"//build/visible_to:COMMON_release",
2222
],
23+
x_defs = version_x_defs(),
2324
)
2425

2526
go_library(

cmd/kubelet/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,13 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "kubelet",
1314
library = ":go_default_library",
14-
linkstamp = "k8s.io/kubernetes/pkg/version",
1515
tags = ["automanaged"],
16+
x_defs = version_x_defs(),
1617
)
1718

1819
go_library(

hack/lib/version.sh

+3
Original file line numberDiff line numberDiff line change
@@ -118,12 +118,15 @@ kube::version::ldflag() {
118118
local key=${1}
119119
local val=${2}
120120

121+
# If you update these, also update the list pkg/version/def.bzl.
121122
echo "-X ${KUBE_GO_PACKAGE}/pkg/version.${key}=${val}"
122123
echo "-X ${KUBE_GO_PACKAGE}/vendor/k8s.io/client-go/pkg/version.${key}=${val}"
123124
}
124125

125126
# Prints the value that needs to be passed to the -ldflags parameter of go build
126127
# in order to set the Kubernetes based on the git tree status.
128+
# IMPORTANT: if you update any of these, also update the lists in
129+
# pkg/version/def.bzl and hack/print-workspace-status.sh.
127130
kube::version::ldflags() {
128131
kube::version::get_version_vars
129132

hack/print-workspace-status.sh

+2
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ kube::version::get_version_vars
2929
# instead of volatile-status.txt.
3030
# Stamped rules will be retriggered by changes to stable-status.txt, but not by
3131
# changes to volatile-status.txt.
32+
# IMPORTANT: the camelCase vars should match the lists in hack/lib/version.sh
33+
# and pkg/version/def.bzl.
3234
cat <<EOF
3335
STABLE_BUILD_GIT_COMMIT ${KUBE_GIT_COMMIT-}
3436
STABLE_BUILD_SCM_STATUS ${KUBE_GIT_TREE_STATE-}

pkg/version/def.bzl

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Implements hack/lib/version.sh's kube::version::ldflags() for Bazel.
2+
def version_x_defs():
3+
# This should match the list of packages in kube::version::ldflag
4+
stamp_pkgs = [
5+
"k8s.io/kubernetes/pkg/version",
6+
# In hack/lib/version.sh, this has a vendor/ prefix. That isn't needed here?
7+
"k8s.io/client-go/pkg/version",
8+
]
9+
# This should match the list of vars in kube::version::ldflags
10+
# It should also match the list of vars set in hack/print-workspace-status.sh.
11+
stamp_vars = [
12+
"buildDate",
13+
"gitCommit",
14+
"gitMajor",
15+
"gitMinor",
16+
"gitTreeState",
17+
"gitVersion",
18+
]
19+
# Generate the cross-product.
20+
x_defs = {}
21+
for pkg in stamp_pkgs:
22+
for var in stamp_vars:
23+
x_defs["%s.%s" % (pkg, var)] = "{%s}" % var
24+
return x_defs

plugin/cmd/kube-scheduler/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "kube-scheduler",
@@ -17,8 +18,8 @@ go_binary(
1718
"-static",
1819
],
1920
library = ":go_default_library",
20-
linkstamp = "k8s.io/kubernetes/pkg/version",
2121
tags = ["automanaged"],
22+
x_defs = version_x_defs(),
2223
)
2324

2425
go_library(
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Implements hack/lib/version.sh's kube::version::ldflags() for Bazel.
2+
def version_x_defs():
3+
# This should match the list of packages in kube::version::ldflag
4+
stamp_pkgs = [
5+
"k8s.io/kubernetes/pkg/version",
6+
# In hack/lib/version.sh, this has a vendor/ prefix. That isn't needed here?
7+
"k8s.io/client-go/pkg/version",
8+
]
9+
# This should match the list of vars in kube::version::ldflags
10+
# It should also match the list of vars set in hack/print-workspace-status.sh.
11+
stamp_vars = [
12+
"buildDate",
13+
"gitCommit",
14+
"gitMajor",
15+
"gitMinor",
16+
"gitTreeState",
17+
"gitVersion",
18+
]
19+
# Generate the cross-product.
20+
x_defs = {}
21+
for pkg in stamp_pkgs:
22+
for var in stamp_vars:
23+
x_defs["%s.%s" % (pkg, var)] = "{%s}" % var
24+
return x_defs

staging/src/k8s.io/kube-aggregator/BUILD

+2-1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ load(
77
"go_binary",
88
"go_library",
99
)
10+
load("//vendor/k8s.io/client-go/pkg/version:def.bzl", "version_x_defs")
1011

1112
go_binary(
1213
name = "kube-aggregator",
@@ -17,8 +18,8 @@ go_binary(
1718
"-static",
1819
],
1920
library = ":go_default_library",
20-
linkstamp = "k8s.io/kubernetes/pkg/version",
2121
tags = ["automanaged"],
22+
x_defs = version_x_defs(),
2223
)
2324

2425
go_library(

0 commit comments

Comments
 (0)