Get major and minor from version, for kubernetes

pull/2511/head
Anders F Björklund 2018-02-03 17:48:46 +01:00
parent 4425e463bb
commit ab52ab1f81
1 changed files with 21 additions and 2 deletions

View File

@ -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: