From ab52ab1f81b2e7f72caa78b55047cbe018b6a33c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Anders=20F=20Bj=C3=B6rklund?= Date: Sat, 3 Feb 2018 17:48:46 +0100 Subject: [PATCH] Get major and minor from version, for kubernetes --- hack/get_k8s_version.py | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/hack/get_k8s_version.py b/hack/get_k8s_version.py index 7e9690cba8..91733ea36b 100644 --- a/hack/get_k8s_version.py +++ b/hack/get_k8s_version.py @@ -17,6 +17,7 @@ "This package gets the LD flags used to set the version of kubernetes." import json +import re import subprocess import sys from datetime import datetime @@ -24,12 +25,28 @@ from datetime import datetime K8S_PACKAGE = 'k8s.io/kubernetes/' X_ARGS = ['-X k8s.io/minikube/vendor/k8s.io/kubernetes/pkg/version.', '-X k8s.io/minikube/vendor/k8s.io/client-go/pkg/version.'] -def get_rev(): +def get_commit(): return 'gitCommit=%s' % get_from_godep('Rev') def get_version(): return 'gitVersion=%s' % get_from_godep('Comment') +def get_major_and_minor(): + major = '' + minor = '' + version = get_from_godep('Comment') + # [kubernetes/hack/lib/version.sh]: + # Try to match the "git describe" output to a regex to try to extract + # the "major" and "minor" versions and whether this is the exact tagged + # version or whether the tree is between two tagged versions. + m = re.match('^v([0-9]+)\.([0-9]+)(\.[0-9]+)?([-].*)?$', version) + if m: + major = m.group(1) + minor = m.group(2) + if m.group(4): + minor += "+" + return ('gitMajor=%s' % major, 'gitMinor=%s' % minor) + def get_from_godep(key): with open('./Godeps/Godeps.json') as f: contents = json.load(f) @@ -51,7 +68,9 @@ def get_build_date(): def main(): if len(sys.argv) > 1 and sys.argv[1] == "--k8s-version-only": return get_from_godep('Comment') - args = [get_rev(), get_version(), get_tree_state(), get_build_date()] + major, minor = get_major_and_minor() + args = [get_commit(), get_tree_state(), get_version(), + major, minor, get_build_date()] ret = '' for xarg in X_ARGS: for arg in args: