From 3a90386c78145d21d70387689500bfd773b8b4d8 Mon Sep 17 00:00:00 2001 From: Jan Chaloupka Date: Fri, 24 Jul 2015 16:56:18 +0200 Subject: [PATCH] golang 1.4 was happy with -X key val golang 1.5 complains ans wants -X key=val --- hack/lib/version.sh | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/hack/lib/version.sh b/hack/lib/version.sh index 794ab6f0851..1e02d7eaaf9 100644 --- a/hack/lib/version.sh +++ b/hack/lib/version.sh @@ -99,6 +99,20 @@ kube::version::load_version_vars() { source "${version_file}" } +# golang 1.5 wants `-X key=val`, but golang 1.4- REQUIRES `-X key val` +kube::version::ldflag() { + local key=${1} + local val=${2} + + GO_VERSION=($(go version)) + + if [[ -z $(echo "${GO_VERSION[2]}" | grep -E 'go1.5') ]]; then + echo "-X ${KUBE_GO_PACKAGE}/pkg/version.${key} ${val}" + else + echo "-X ${KUBE_GO_PACKAGE}/pkg/version.${key}=${val}" + fi +} + # Prints the value that needs to be passed to the -ldflags parameter of go build # in order to set the Kubernetes based on the git tree status. kube::version::ldflags() { @@ -106,18 +120,18 @@ kube::version::ldflags() { local -a ldflags=() if [[ -n ${KUBE_GIT_COMMIT-} ]]; then - ldflags+=(-X "${KUBE_GO_PACKAGE}/pkg/version.gitCommit" "${KUBE_GIT_COMMIT}") - ldflags+=(-X "${KUBE_GO_PACKAGE}/pkg/version.gitTreeState" "${KUBE_GIT_TREE_STATE}") + ldflags+=($(kube::version::ldflag "gitCommit" "${KUBE_GIT_COMMIT}")) + ldflags+=($(kube::version::ldflag "gitTreeState" "${KUBE_GIT_TREE_STATE}")) fi if [[ -n ${KUBE_GIT_VERSION-} ]]; then - ldflags+=(-X "${KUBE_GO_PACKAGE}/pkg/version.gitVersion" "${KUBE_GIT_VERSION}") + ldflags+=($(kube::version::ldflag "gitVersion" "${KUBE_GIT_VERSION}")) fi if [[ -n ${KUBE_GIT_MAJOR-} && -n ${KUBE_GIT_MINOR-} ]]; then ldflags+=( - -X "${KUBE_GO_PACKAGE}/pkg/version.gitMajor" "${KUBE_GIT_MAJOR}" - -X "${KUBE_GO_PACKAGE}/pkg/version.gitMinor" "${KUBE_GIT_MINOR}" + $(kube::version::ldflag "gitMajor" "${KUBE_GIT_MAJOR}") + $(kube::version::ldflag "gitMinor" "${KUBE_GIT_MINOR}") ) fi