... | ... |
@@ -2,10 +2,16 @@ language: go |
2 | 2 |
|
3 | 3 |
go: |
4 | 4 |
- 1.4 |
5 |
+ - 1.5 |
|
5 | 6 |
|
6 | 7 |
env: |
7 |
- - TEST_ASSETS=true |
|
8 |
- - TEST_ASSETS=false |
|
8 |
+ - TEST_ASSETS=true |
|
9 |
+ - TEST_ASSETS=false |
|
10 |
+ |
|
11 |
+matrix: |
|
12 |
+ exclude: |
|
13 |
+ - go: 1.5 |
|
14 |
+ env: TEST_ASSETS=true |
|
9 | 15 |
|
10 | 16 |
install: |
11 | 17 |
- export PATH=$GOPATH/bin:./_tools/etcd/bin:$PATH |
... | ... |
@@ -485,29 +485,49 @@ KUBE_GIT_VERSION='${KUBE_GIT_VERSION-}' |
485 | 485 |
EOF |
486 | 486 |
} |
487 | 487 |
|
488 |
+# golang 1.5 wants `-X key=val`, but golang 1.4- REQUIRES `-X key val` |
|
489 |
+os::build::ldflag() { |
|
490 |
+ local key=${1} |
|
491 |
+ local val=${2} |
|
492 |
+ |
|
493 |
+ GO_VERSION=($(go version)) |
|
494 |
+ |
|
495 |
+ if [[ -z $(echo "${GO_VERSION[2]}" | grep -E 'go1.5') ]]; then |
|
496 |
+ echo "-X ${OS_GO_PACKAGE}/pkg/version.${key} ${val}" |
|
497 |
+ else |
|
498 |
+ echo "-X ${OS_GO_PACKAGE}/pkg/version.${key}=${val}" |
|
499 |
+ fi |
|
500 |
+} |
|
501 |
+ |
|
488 | 502 |
# os::build::ldflags calculates the -ldflags argument for building OpenShift |
489 | 503 |
os::build::ldflags() { |
490 |
- ( |
|
491 |
- # Run this in a subshell to prevent settings/variables from leaking. |
|
492 |
- set -o errexit |
|
493 |
- set -o nounset |
|
494 |
- set -o pipefail |
|
504 |
+ # Run this in a subshell to prevent settings/variables from leaking. |
|
505 |
+ set -o errexit |
|
506 |
+ set -o nounset |
|
507 |
+ set -o pipefail |
|
508 |
+ |
|
509 |
+ cd "${OS_ROOT}" |
|
510 |
+ |
|
511 |
+ os::build::get_version_vars |
|
495 | 512 |
|
496 |
- cd "${OS_ROOT}" |
|
513 |
+ declare -a ldflags=() |
|
497 | 514 |
|
498 |
- os::build::get_version_vars |
|
515 |
+ ldflags+=($(os::build::ldflag "majorFromGit" "${OS_GIT_MAJOR}")) |
|
516 |
+ ldflags+=($(os::build::ldflag "minorFromGit" "${OS_GIT_MINOR}")) |
|
517 |
+ ldflags+=($(os::build::ldflag "versionFromGit" "${OS_GIT_VERSION}")) |
|
518 |
+ ldflags+=($(os::build::ldflag "commitFromGit" "${OS_GIT_COMMIT}")) |
|
499 | 519 |
|
500 |
- declare -a ldflags=() |
|
501 |
- ldflags+=(-X "${OS_GO_PACKAGE}/pkg/version.majorFromGit" "${OS_GIT_MAJOR}") |
|
502 |
- ldflags+=(-X "${OS_GO_PACKAGE}/pkg/version.minorFromGit" "${OS_GIT_MINOR}") |
|
503 |
- ldflags+=(-X "${OS_GO_PACKAGE}/pkg/version.versionFromGit" "${OS_GIT_VERSION}") |
|
504 |
- ldflags+=(-X "${OS_GO_PACKAGE}/pkg/version.commitFromGit" "${OS_GIT_COMMIT}") |
|
520 |
+ GO_VERSION=($(go version)) |
|
521 |
+ if [[ -z $(echo "${GO_VERSION[2]}" | grep -E 'go1.5') ]]; then |
|
505 | 522 |
ldflags+=(-X "k8s.io/kubernetes/pkg/version.gitCommit" "${KUBE_GIT_COMMIT}") |
506 | 523 |
ldflags+=(-X "k8s.io/kubernetes/pkg/version.gitVersion" "${KUBE_GIT_VERSION}") |
524 |
+ else |
|
525 |
+ ldflags+=(-X "k8s.io/kubernetes/pkg/version.gitCommit=${KUBE_GIT_COMMIT}") |
|
526 |
+ ldflags+=(-X "k8s.io/kubernetes/pkg/version.gitVersion=${KUBE_GIT_VERSION}") |
|
527 |
+ fi |
|
507 | 528 |
|
508 |
- # The -ldflags parameter takes a single string, so join the output. |
|
509 |
- echo "${ldflags[*]-}" |
|
510 |
- ) |
|
529 |
+ # The -ldflags parameter takes a single string, so join the output. |
|
530 |
+ echo "${ldflags[*]-}" |
|
511 | 531 |
} |
512 | 532 |
|
513 | 533 |
# os::build::require_clean_tree exits if the current Git tree is not clean. |
... | ... |
@@ -8,7 +8,6 @@ import ( |
8 | 8 |
"github.com/golang/glog" |
9 | 9 |
"github.com/gonum/graph" |
10 | 10 |
"github.com/gonum/graph/encoding/dot" |
11 |
- "github.com/gonum/graph/internal" |
|
12 | 11 |
"github.com/gonum/graph/path" |
13 | 12 |
kapi "k8s.io/kubernetes/pkg/api" |
14 | 13 |
utilerrors "k8s.io/kubernetes/pkg/util/errors" |
... | ... |
@@ -205,7 +204,7 @@ func outputHelper(info, namespace string, singleNamespace bool) string { |
205 | 205 |
type DepthFirst struct { |
206 | 206 |
EdgeFilter func(graph.Edge) bool |
207 | 207 |
Visit func(u, v graph.Node) |
208 |
- stack internal.NodeStack |
|
208 |
+ stack NodeStack |
|
209 | 209 |
} |
210 | 210 |
|
211 | 211 |
// Walk performs a depth-first traversal of the graph g starting from the given node |
... | ... |
@@ -247,3 +246,22 @@ func (d *DepthFirst) visited(id int) bool { |
247 | 247 |
} |
248 | 248 |
return false |
249 | 249 |
} |
250 |
+ |
|
251 |
+// NodeStack implements a LIFO stack of graph.Node. |
|
252 |
+// NodeStack is internal only in go 1.5. |
|
253 |
+type NodeStack []graph.Node |
|
254 |
+ |
|
255 |
+// Len returns the number of graph.Nodes on the stack. |
|
256 |
+func (s *NodeStack) Len() int { return len(*s) } |
|
257 |
+ |
|
258 |
+// Pop returns the last graph.Node on the stack and removes it |
|
259 |
+// from the stack. |
|
260 |
+func (s *NodeStack) Pop() graph.Node { |
|
261 |
+ v := *s |
|
262 |
+ v, n := v[:len(v)-1], v[len(v)-1] |
|
263 |
+ *s = v |
|
264 |
+ return n |
|
265 |
+} |
|
266 |
+ |
|
267 |
+// Push adds the node n to the stack at the last position. |
|
268 |
+func (s *NodeStack) Push(n graph.Node) { *s = append(*s, n) } |