|  | #  Copyright 2020 The Monogon Project Authors. | 
|  | # | 
|  | #  SPDX-License-Identifier: Apache-2.0 | 
|  | # | 
|  | #  Licensed under the Apache License, Version 2.0 (the "License"); | 
|  | #  you may not use this file except in compliance with the License. | 
|  | #  You may obtain a copy of the License at | 
|  | # | 
|  | #      http://www.apache.org/licenses/LICENSE-2.0 | 
|  | # | 
|  | #  Unless required by applicable law or agreed to in writing, software | 
|  | #  distributed under the License is distributed on an "AS IS" BASIS, | 
|  | #  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | 
|  | #  See the License for the specific language governing permissions and | 
|  | #  limitations under the License. | 
|  |  | 
|  | # This reimplements k8s.io/kubernetes-compatible version_x_defs, while namespacing | 
|  | # stamp variables with KUBERNETES_*. | 
|  | # The generated build defs then are defines by the workspace status script, see | 
|  | # //build/print-workspace-status.sh. | 
|  |  | 
|  | def version_x_defs(): | 
|  | stamp_pkgs = [ | 
|  | "k8s.io/component-base/version", | 
|  | "k8s.io/client-go/pkg/version", | 
|  | ] | 
|  |  | 
|  | stamp_vars = [ | 
|  | "buildDate", | 
|  | "gitCommit", | 
|  | "gitTreeState", | 
|  | ] | 
|  |  | 
|  | stable_stamp_vars = [ | 
|  | "gitMajor", | 
|  | "gitMinor", | 
|  | "gitVersion", | 
|  | ] | 
|  |  | 
|  | # Generate the cross-product. | 
|  | x_defs = {} | 
|  | for pkg in stamp_pkgs: | 
|  | for var in stamp_vars: | 
|  | x_defs["%s.%s" % (pkg, var)] = "{KUBERNETES_%s}" % var | 
|  | for pkg in stamp_pkgs: | 
|  | for var in stable_stamp_vars: | 
|  | x_defs["%s.%s" % (pkg, var)] = "{STABLE_KUBERNETES_%s}" % var | 
|  | return x_defs |