Get major and minor from version, for kubernetes
parent
4425e463bb
commit
ab52ab1f81
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue