Merge pull request #2511 from afbjorklund/version

Get major and minor from version, for kubernetes
pull/2517/head
Matt Rickard 2018-02-04 10:17:12 -08:00 committed by GitHub
commit 9dc3795ee2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
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." "This package gets the LD flags used to set the version of kubernetes."
import json import json
import re
import subprocess import subprocess
import sys import sys
from datetime import datetime from datetime import datetime
@ -24,12 +25,28 @@ from datetime import datetime
K8S_PACKAGE = 'k8s.io/kubernetes/' 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.'] 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') return 'gitCommit=%s' % get_from_godep('Rev')
def get_version(): def get_version():
return 'gitVersion=%s' % get_from_godep('Comment') 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): def get_from_godep(key):
with open('./Godeps/Godeps.json') as f: with open('./Godeps/Godeps.json') as f:
contents = json.load(f) contents = json.load(f)
@ -51,7 +68,9 @@ def get_build_date():
def main(): def main():
if len(sys.argv) > 1 and sys.argv[1] == "--k8s-version-only": if len(sys.argv) > 1 and sys.argv[1] == "--k8s-version-only":
return get_from_godep('Comment') 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 = '' ret = ''
for xarg in X_ARGS: for xarg in X_ARGS:
for arg in args: for arg in args: