(CommandList children: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_GO_PACKAGE) op: Equal rhs: {(k8s.io/kubernetes)} spids: [49] ) ] spids: [47] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_GOPATH) op: Equal rhs: {(DQ (${ VSub_Name KUBE_OUTPUT) (/go))} spids: [54] ) ] spids: [52] ) (FuncDef name: "kube::golang::server_targets" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: { (ArrayLiteralPart words: [ {(cmd/kube-proxy)} {(cmd/kube-apiserver)} {(cmd/kube-controller-manager)} {(cmd/cloud-controller-manager)} {(cmd/kubelet)} {(cmd/kubeadm)} {(cmd/hyperkube)} {(vendor/k8s.io/kube-aggregator)} {(vendor/k8s.io/apiextensions-apiserver)} {(plugin/cmd/kube-scheduler)} ] ) } spids: [84] ) ] spids: [82] ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name targets> bracket_op: (WholeArray op_id:Lit_At) spids: [124 129] ) ) } ) ] spids: [79] ) spids: [69 78] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_SERVER_TARGETS) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (server_targets) } ) ] ) left_token: <Left_CommandSub "$("> spids: [139 147] ) } ] ) } spids: [137] ) ] spids: [135] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_SERVER_BINARIES) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_SERVER_TARGETS> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [155 163] ) ) } ] ) } spids: [152] ) ] spids: [150] ) (FuncDef name: "kube::golang::node_targets" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: {(ArrayLiteralPart words:[{(cmd/kube-proxy)}{(cmd/kubelet)}])} spids: [189] ) ] spids: [187] ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name targets> bracket_op: (WholeArray op_id:Lit_At) spids: [205 210] ) ) } ) ] spids: [184] ) spids: [174 183] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_TARGETS) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (node_targets) } ) ] ) left_token: <Left_CommandSub "$("> spids: [220 228] ) } ] ) } spids: [218] ) ] spids: [216] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_BINARIES) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_NODE_TARGETS> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [236 244] ) ) } ] ) } spids: [233] ) ] spids: [231] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_BINARIES_WIN) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_NODE_BINARIES> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(.exe)} do_all: False do_prefix: False do_suffix: True ) spids: [253 262] ) ) } ] ) } spids: [250] ) ] spids: [248] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name KUBE_BUILD_PLATFORMS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [274 277] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_SERVER_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])} spids: [288] ) ] spids: [286] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])} spids: [298] ) ] spids: [296] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])} spids: [308] ) ] spids: [306] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_CLIENT_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(${ VSub_Name KUBE_BUILD_PLATFORMS)}])} spids: [318] ) ] spids: [316] ) ] spids: [-1 283] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name KUBE_FASTBUILD> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [330 333] ) ) } right: {(DQ (true))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_SERVER_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])} spids: [350] ) ] spids: [348] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])} spids: [358] ) ] spids: [356] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name KUBE_BUILDER_OS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [369 372] ) ) } right: {(DQ (darwin)) (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(darwin/amd64)}{(linux/amd64)}])} spids: [390] ) ] spids: [388] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_CLIENT_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(darwin/amd64)}{(linux/amd64)}])} spids: [405] ) ] spids: [403] ) ] spids: [-1 385] ) ] else_action: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])} spids: [423] ) ] spids: [421] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_CLIENT_PLATFORMS) op: Equal rhs: {(ArrayLiteralPart words:[{(linux/amd64)}])} spids: [431] ) ] spids: [429] ) ] spids: [418 437] ) ] spids: [325 345] ) ] else_action: [ (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_SERVER_PLATFORMS) op: Equal rhs: { (ArrayLiteralPart words: [ {(linux/amd64)} {(linux/arm)} {(linux/arm64)} {(linux/s390x)} {(linux/ppc64le)} ] ) } spids: [449] ) ] spids: [447] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_NODE_PLATFORMS) op: Equal rhs: { (ArrayLiteralPart words: [ {(linux/amd64)} {(linux/arm)} {(linux/arm64)} {(linux/s390x)} {(linux/ppc64le)} {(windows/amd64)} ] ) } spids: [478] ) ] spids: [476] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_CLIENT_PLATFORMS) op: Equal rhs: { (ArrayLiteralPart words: [ {(linux/amd64)} {(linux/386)} {(linux/arm)} {(linux/arm64)} {(linux/s390x)} {(linux/ppc64le)} {(darwin/amd64)} {(darwin/386)} {(windows/amd64)} {(windows/386)} ] ) } spids: [510] ) ] spids: [508] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_PLATFORMS) op: Equal rhs: { (ArrayLiteralPart words: [ {(linux/amd64)} {(linux/arm)} {(linux/arm64)} {(linux/s390x)} {(linux/ppc64le)} {(darwin/amd64)} {(windows/amd64)} ] ) } spids: [554] ) ] spids: [552] ) ] spids: [439 581] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_CLIENT_TARGETS) op: Equal rhs: {(ArrayLiteralPart words:[{(cmd/kubectl)}{(federation/cmd/kubefed)}])} spids: [592] ) ] spids: [590] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_CLIENT_BINARIES) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_TARGETS> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [608 616] ) ) } ] ) } spids: [605] ) ] spids: [603] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_CLIENT_BINARIES_WIN) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_BINARIES> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(.exe)} do_all: False do_prefix: False do_suffix: True ) spids: [625 634] ) ) } ] ) } spids: [622] ) ] spids: [620] ) (FuncDef name: "kube::golang::test_targets" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: { (ArrayLiteralPart words: [ {(cmd/gendocs)} {(cmd/genkubedocs)} {(cmd/genman)} {(cmd/genyaml)} {(cmd/genswaggertypedocs)} {(cmd/linkcheck)} {(federation/cmd/genfeddocs)} {(vendor/github.com/onsi/ginkgo/ginkgo)} {(test/e2e/e2e.test)} ] ) } spids: [660] ) ] spids: [658] ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name targets> bracket_op: (WholeArray op_id:Lit_At) spids: [697 702] ) ) } ) ] spids: [655] ) spids: [645 654] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_TARGETS) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (test_targets) } ) ] ) left_token: <Left_CommandSub "$("> spids: [711 719] ) } ] ) } spids: [709] ) ] spids: [707] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_BINARIES) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_TARGETS> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [727 735] ) ) } ] ) } spids: [724] ) ] spids: [722] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_BINARIES_WIN) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_BINARIES> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (PatSub pat: {} replace: {(.exe)} do_all: False do_prefix: False do_suffix: True ) spids: [744 753] ) ) } ] ) } spids: [741] ) ] spids: [739] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_PORTABLE) op: Equal rhs: { (ArrayLiteralPart words: [ {(test/e2e/testing-manifests)} {(test/kubemark)} {(federation/develop)} {(hack/e2e.go)} {(hack/e2e-internal)} {(hack/get-build.sh)} {(hack/ginkgo-e2e.sh)} {(hack/federated-ginkgo-e2e.sh)} {(hack/lib)} ] ) } spids: [762] ) ] spids: [760] ) (FuncDef name: "kube::golang::server_test_targets" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: { (ArrayLiteralPart words: [{(cmd/kubemark)} {(vendor/github.com/onsi/ginkgo/ginkgo)}] ) } spids: [822] ) ] spids: [820] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name OSTYPE> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [841 844] ) ) } right: {(DQ (linux)) (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:targets) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(test/e2e_node/e2e_node.test)}])} spids: [860] ) ] spids: [860] ) ] spids: [-1 857] ) ] spids: [-1 868] ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name targets> bracket_op: (WholeArray op_id:Lit_At) spids: [875 880] ) ) } ) ] spids: [817] ) spids: [807 816] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_SERVER_TARGETS) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (server_test_targets) } ) ] ) left_token: <Left_CommandSub "$("> spids: [890 898] ) } ] ) } spids: [888] ) ] spids: [886] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_SERVER_BINARIES) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_SERVER_TARGETS> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [906 914] ) ) } ] ) } spids: [903] ) ] spids: [901] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_TEST_SERVER_PLATFORMS) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_SERVER_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [923 928] ) ) } ] ) } spids: [920] ) ] spids: [918] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_PARALLEL_BUILD_MEMORY) op: Equal rhs: {(11)} spids: [944] ) ] spids: [942] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_ALL_TARGETS) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_SERVER_TARGETS> bracket_op: (WholeArray op_id:Lit_At) spids: [964 969] ) ) } { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_TARGETS> bracket_op: (WholeArray op_id:Lit_At) spids: [974 979] ) ) } { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_TARGETS> bracket_op: (WholeArray op_id:Lit_At) spids: [984 989] ) ) } { (DQ (BracedVarSub token: <VSub_Name KUBE_TEST_SERVER_TARGETS> bracket_op: (WholeArray op_id:Lit_At) spids: [994 999] ) ) } {(cmd/gke-certificates-controller)} ] ) } spids: [959] ) ] spids: [957] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_ALL_BINARIES) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_ALL_TARGETS> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [1012 1020] ) ) } ] ) } spids: [1009] ) ] spids: [1007] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_STATIC_LIBRARIES) op: Equal rhs: { (ArrayLiteralPart words: [ {(cloud-controller-manager)} {(kube-apiserver)} {(kube-controller-manager)} {(kube-scheduler)} {(kube-proxy)} {(kube-aggregator)} {(kubeadm)} {(kubectl)} ] ) } spids: [1027] ) ] spids: [1025] ) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:KUBE_BINDATAS) op: Equal rhs: {(ArrayLiteralPart words:[{(test/e2e/generated/gobindata_util.go)}])} spids: [1062] ) ] spids: [1060] ) (FuncDef name: "kube::golang::is_statically_linked_library" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:e) op:Equal spids:[1086])] spids: [1084] ) (Sentence child: (ForEach iter_name: e iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_STATIC_LIBRARIES> bracket_op: (WholeArray op_id:Lit_At) spids: [1096 1101] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Number "$1"))} right: {(Lit_Other "*") (DQ (/) ($ VSub_Name "$e"))} ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] spids: [1105 1130] ) spids: [1094 1103] ) terminator: <Op_Semi ";"> ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-n)} { (DQ (BracedVarSub token: <VSub_Name KUBE_STATIC_OVERRIDES> suffix_op: (StringUnary op_id:VTest_ColonPlus arg_word:{(x)}) spids: [1149 1153] ) ) } {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (ForEach iter_name: e iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_STATIC_OVERRIDES> bracket_op: (WholeArray op_id:Lit_At) spids: [1169 1174] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ ($ VSub_Number "$1"))} right: {(Lit_Other "*") (DQ (/) ($ VSub_Name "$e"))} ) ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(0)} ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] spids: [1178 1203] ) spids: [1167 1176] ) terminator: <Op_Semi ";"> ) ] spids: [-1 1159] ) ] spids: [-1 1207] ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) terminator: <Op_Semi ";"> ) ] spids: [1081] ) spids: [1071 1080] ) (FuncDef name: "kube::golang::binaries_from_targets" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:target) op:Equal spids:[1239])] spids: [1237] ) (ForEach iter_name: target do_arg_iter: True body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name target))} right: {(Lit_Other "^") ("(") (Lit_Other "[") (Lit_Other "[") (Lit_Other ":") (alnum) (Lit_Other ":") (Lit_Other "]") (Lit_Other "]") (Lit_Other "+") (DQ (.)) (")") (Lit_Other "+") (Lit_Other "[") (Lit_Other "[") (Lit_Other ":") (alnum) (Lit_Other ":") (Lit_Other "]") (Lit_Other "]") (Lit_Other "+") (DQ (/)) } ) ) terminator: <Op_Semi ";"> ) ] action: [(C {(echo)} {(DQ (${ VSub_Name target))})] spids: [-1 1304] ) ] else_action: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GO_PACKAGE) (/) (${ VSub_Name target))}) ] spids: [1316 1332] ) ] spids: [1247 1335] ) spids: [-1 -1] ) ] spids: [1234] ) spids: [1224 1233] ) (FuncDef name: "kube::golang::host_platform" body: (BraceGroup children: [ (C {(echo)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTOS)})]) left_token: <Left_CommandSub "$("> spids: [1362 1368] ) (/) (CommandSubPart command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTARCH)})]) left_token: <Left_CommandSub "$("> spids: [1370 1376] ) ) } ) ] spids: [1356] ) spids: [1346 1355] ) (FuncDef name: "kube::golang::current_platform" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:os) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name GOOS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [1399 1402] ) ) } spids: [1397] ) ] spids: [1395] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$os")})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:os) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(go)} {(env)} {(GOHOSTOS)})] ) left_token: <Left_CommandSub "$("> spids: [1421 1427] ) } spids: [1420] ) ] spids: [1420] ) ] spids: [-1 1417] ) ] spids: [-1 1430] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name GOARCH> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [1438 1441] ) ) } spids: [1436] ) ] spids: [1434] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{($ VSub_Name "$arch")})) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(go)} {(env)} {(GOHOSTARCH)})] ) left_token: <Left_CommandSub "$("> spids: [1460 1466] ) } spids: [1459] ) ] spids: [1459] ) ] spids: [-1 1456] ) ] spids: [-1 1469] ) (C {(echo)} {(DQ ($ VSub_Name "$os") (/) ($ VSub_Name "$arch"))}) ] spids: [1392] ) spids: [1382 1391] ) (FuncDef name: "kube::golang::set_platform_envs" body: (BraceGroup children: [ (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1507 1510] ) } ) ) (BraceGroup children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (error_exit) } {(DQ ("!!! Internal error. No platform set in kube::golang::set_platform_envs"))} ) ] spids: [1516] ) ] op_id: Op_DPipe ) (C {(export)} {(Lit_VarLike "GOOS=") (BracedVarSub token: <VSub_Name platform> suffix_op: (StringUnary op_id:VOp1_Percent arg_word:{(Lit_Slash /) ("*")}) spids: [1539 1544] ) } ) (C {(export)} {(Lit_VarLike "GOARCH=") (BracedVarSub token: <VSub_Name platform> suffix_op: (StringUnary op_id:VOp1_DPound arg_word:{("*") (Lit_Slash /)}) spids: [1550 1555] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (host_platform) } ) ] ) left_token: <Left_CommandSub "$("> spids: [1567 1575] ) } right: {(DQ (linux/amd64))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Case to_match: {(DQ (${ VSub_Name platform))} arms: [ (case_arm pat_list: [{(DQ (linux/arm))}] action: [ (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)}) (C {(export)} {(Lit_VarLike "CC=") (arm-linux-gnueabihf-gcc)}) ] spids: [1609 1611 1626 -1] ) (case_arm pat_list: [{(DQ (linux/arm64))}] action: [ (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)}) (C {(export)} {(Lit_VarLike "CC=") (aarch64-linux-gnu-gcc)}) ] spids: [1630 1632 1647 -1] ) (case_arm pat_list: [{(DQ (linux/ppc64le))}] action: [ (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)}) (C {(export)} {(Lit_VarLike "CC=") (powerpc64le-linux-gnu-gcc)}) ] spids: [1651 1653 1668 -1] ) (case_arm pat_list: [{(DQ (linux/s390x))}] action: [ (C {(export)} {(Lit_VarLike "CGO_ENABLED=") (1)}) (C {(export)} {(Lit_VarLike "CC=") (s390x-linux-gnu-gcc)}) ] spids: [1672 1674 1689 -1] ) ] spids: [1597 1605 1692] ) ] spids: [-1 1586] ) ] spids: [-1 1695] ) ] spids: [1500] ) spids: [1490 1499] ) (FuncDef name: "kube::golang::unset_platform_envs" body: (BraceGroup children: [ (C {(unset)} {(GOOS)}) (C {(unset)} {(GOARCH)}) (C {(unset)} {(GOROOT)}) (C {(unset)} {(CGO_ENABLED)}) (C {(unset)} {(CC)}) ] spids: [1710] ) spids: [1700 1709] ) (FuncDef name: "kube::golang::create_gopath_tree" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:go_pkg_dir) op: Equal rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/src/) (${ VSub_Name KUBE_GO_PACKAGE))} spids: [1758] ) ] spids: [1756] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:go_pkg_basedir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name go_pkg_dir))})] ) left_token: <Left_CommandSub "$("> spids: [1773 1781] ) } spids: [1772] ) ] spids: [1770] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name go_pkg_basedir))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalOr left: (LogicalNot child: (BoolUnary op_id: BoolUnary_e child: {(DQ (${ VSub_Name go_pkg_dir))} ) ) right: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(readlink)} {(${ VSub_Name go_pkg_dir)})] ) left_token: <Left_CommandSub "$("> spids: [1818 1824] ) ) } right: {(DQ (${ VSub_Name KUBE_ROOT))} ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(ln)} {(-snf)} {(DQ (${ VSub_Name KUBE_ROOT))} {(DQ (${ VSub_Name go_pkg_dir))}) ] spids: [-1 1838] ) ] spids: [-1 1858] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: {(DQ (${ VSub_Name KUBE_GOPATH) (/BUILD))} spids: [1864] ) (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ( "# This dummy BUILD file prevents Bazel from trying to descend through the\n" ) ("# infinite loop created by the symlink at\n") ("# ") (${ VSub_Name go_pkg_dir) ("\n") ) } do_expansion: True here_end: EOF was_filled: True spids: [1872] ) ] ) ] spids: [1753] ) spids: [1743 1752] ) (FuncDef name: "kube::golang::verify_go_version" body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (DQ (CommandSubPart command_list: (CommandList children:[(C {(which)} {(go)})]) left_token: <Left_CommandSub "$("> spids: [1908 1912] ) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (usage_from_stdin) } ] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("Can't find 'go' in PATH, please fix and retry.\n") ( "See http://golang.org/doc/install for installation instructions.\n" ) ) } do_expansion: True here_end: EOF was_filled: True spids: [1929] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [-1 1918] ) ] spids: [-1 1940] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:go_version) op:Equal spids:[1946])] spids: [1944] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:go_version) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children:[(C {(go)} {(version)})]) left_token: <Left_CommandSub "$("> spids: [1951 1955] ) } ] ) } spids: [1949] ) ] spids: [1949] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:minimum_go_version) op:Equal spids:[1961])] spids: [1959] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:minimum_go_version) op: Equal rhs: {(go1.8.3)} spids: [1964] ) ] spids: [1964] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolBinary op_id: Redir_Less left: { (DQ (BracedVarSub token: <VSub_Name go_version> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [1973 1978] ) ) } right: {(DQ (${ VSub_Name minimum_go_version))} ) right: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (BracedVarSub token: <VSub_Name go_version> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 2)})) spids: [1992 1997] ) ) } right: {(DQ (devel))} ) ) ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (usage_from_stdin) } ] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("Detected go version: ") (BracedVarSub token: <VSub_Name go_version> bracket_op: (WholeArray op_id:Arith_Star) spids: [2024 2029] ) (".\n") ("Kubernetes requires ") (${ VSub_Name minimum_go_version) (" or greater.\n") ("Please install ") (${ VSub_Name minimum_go_version) (" or later.\n") ) } do_expansion: True here_end: EOF was_filled: True spids: [2020] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [-1 2009] ) ] spids: [-1 2047] ) ] spids: [1898] ) spids: [1888 1897] ) (FuncDef name: "kube::golang::setup_env" body: (BraceGroup children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (verify_go_version) } ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (create_gopath_tree) } ) (C {(export)} {(Lit_VarLike "GOPATH=") (DQ (${ VSub_Name KUBE_GOPATH))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_EXTRA_GOPATH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [2142 2145] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:GOPATH) op: Equal rhs: {(DQ (${ VSub_Name GOPATH) (":") (${ VSub_Name KUBE_EXTRA_GOPATH))} spids: [2153] ) ] spids: [2153] ) ] spids: [-1 2150] ) ] spids: [-1 2165] ) (C {(export)} {(Lit_VarLike "PATH=") (DQ (${ VSub_Name KUBE_GOPATH) ("/bin:") (${ VSub_Name PATH))} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:subdir) op:Equal spids:[2206])] spids: [2204] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:subdir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (realpath)} {(.)}) (C {(sed)} {(DQ ("s|") ($ VSub_Name "$KUBE_ROOT") ("||"))}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [2210 2227] ) } spids: [2209] ) ] spids: [2209] ) (C {(cd)} { (DQ (${ VSub_Name KUBE_GOPATH) (/src/) (${ VSub_Name KUBE_GO_PACKAGE) (/) (${ VSub_Name subdir) ) } ) (C {(export)} {(Lit_VarLike "GOROOT=") (CommandSubPart command_list: (CommandList children:[(C {(go)} {(env)} {(GOROOT)})]) left_token: <Left_CommandSub "$("> spids: [2255 2261] ) } ) (C {(unset)} {(GOBIN)}) (C {(export)} {(Lit_VarLike "GO15VENDOREXPERIMENT=") (1)}) ] spids: [2098] ) spids: [2088 2097] ) (FuncDef name: "kube::golang::place_bins" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[2326])] spids: [2324] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host_platform) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (host_platform) } ) ] ) left_token: <Left_CommandSub "$("> spids: [2330 2338] ) } spids: [2329] ) ] spids: [2329] ) (SimpleCommand words: [ {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} {(DQ ("Placing binaries"))} ] more_env: [(env_pair name:V val:{(2)} spids:[2342])] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[2361])] spids: [2359] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [2371 2376] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:platform_src) op: Equal rhs: { (DQ (/) (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: {(EscapedLiteralPart token:<Lit_EscapedChar "\\/">)} replace: {(_)} do_all: True do_prefix: False do_suffix: False ) spids: [2396 2403] ) ) } spids: [2393] ) ] spids: [2391] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Name "$platform")} right: {($ VSub_Name "$host_platform")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:platform_src) op: Equal rhs: {(DQ )} spids: [2423] ) ] spids: [2423] ) (C {(rm)} {(-f)} {(DQ (${ VSub_Name THIS_PLATFORM_BIN))}) (C {(ln)} {(-s)} {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))} {(DQ (${ VSub_Name THIS_PLATFORM_BIN))} ) ] spids: [-1 2420] ) ] spids: [-1 2460] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:full_binpath_src) op: Equal rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/bin) (${ VSub_Name platform_src))} spids: [2466] ) ] spids: [2464] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_d child: {(DQ (${ VSub_Name full_binpath_src))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))} ) (C {(find)} {(DQ (${ VSub_Name full_binpath_src))} {(-maxdepth)} {(1)} {(-type)} {(f)} {(-exec)} {(rsync)} {(-pc)} {(Lit_LBrace "{") (Lit_RBrace "}")} {(DQ (${ VSub_Name KUBE_OUTPUT_BINPATH) (/) (${ VSub_Name platform))} {(EscapedLiteralPart token:<Lit_EscapedChar "\\;">)} ) ] spids: [-1 2493] ) ] spids: [-1 2551] ) ] spids: [2380 2554] ) spids: [2369 2378] ) ] spids: [2321] ) spids: [2311 2320] ) (FuncDef name: "kube::golang::fallback_if_stdlib_not_installable" body: (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:go_root_dir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(go)} {(env)} {(GOROOT)})]) left_token: <Left_CommandSub "$("> spids: [2575 2581] ) } spids: [2574] ) ] spids: [2572] ) terminator: <Op_Semi ";"> ) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:go_host_os) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTOS)})]) left_token: <Left_CommandSub "$("> spids: [2588 2594] ) } spids: [2587] ) ] spids: [2585] ) terminator: <Op_Semi ";"> ) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:go_host_arch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(go)} {(env)} {(GOHOSTARCH)})]) left_token: <Left_CommandSub "$("> spids: [2601 2607] ) } spids: [2600] ) ] spids: [2598] ) terminator: <Op_Semi ";"> ) (Sentence child: (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:cgo_pkg_dir) op: Equal rhs: {(${ VSub_Name go_root_dir) (/pkg/) (${ VSub_Name go_host_os) (_) (${ VSub_Name go_host_arch) (_cgo) } spids: [2613] ) ] spids: [2611] ) terminator: <Op_Semi ";"> ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-e)} {(${ VSub_Name cgo_pkg_dir)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ";"> ) ] spids: [-1 2643] ) ] spids: [-1 2652] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other "[")} {(-w)} {(${ VSub_Name go_root_dir) (/pkg)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ";"> ) ] spids: [-1 2670] ) ] spids: [-1 2679] ) (Sentence child: (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} {(DQ ("+++ Warning: stdlib pkg with cgo flag not found."))} ) terminator: <Op_Semi ";"> ) (Sentence child: (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} { (DQ ("+++ Warning: stdlib pkg cannot be rebuilt since ") (${ VSub_Name go_root_dir) ("/pkg is not writable by ") (CommandSubPart command_list: (CommandList children:[(C {(whoami)})]) left_token: <Left_Backtick "`"> spids: [2711 2713] ) ) } ) terminator: <Op_Semi ";"> ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} { (DQ ("+++ Warning: Make ") (${ VSub_Name go_root_dir) ("/pkg writable for ") (CommandSubPart command_list: (CommandList children:[(C {(whoami)})]) left_token: <Left_Backtick "`"> spids: [2732 2734] ) (" for a one-time stdlib install, Or") ) } ) (Sentence child: (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} { (DQ ( "+++ Warning: Rebuild stdlib using the command 'CGO_ENABLED=0 go install -a -installsuffix cgo std'" ) ) } ) terminator: <Op_Semi ";"> ) (Sentence child: (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} {(DQ ("+++ Falling back to go build, which is slower"))} ) terminator: <Op_Semi ";"> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_go_build) op: Equal rhs: {(true)} spids: [2768] ) ] spids: [2768] ) ] spids: [2569] ) spids: [2559 2568] ) (FuncDef name: "kube::golang::build_kube_toolchain" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: { (ArrayLiteralPart words: [ {(hack/cmd/teststale)} {(vendor/github.com/jteeuwen/go-bindata/go-bindata)} ] ) } spids: [2801] ) ] spids: [2799] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[2817])] spids: [2815] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:binaries) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (binaries_from_targets) } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[28322837]))} ) ] ) left_token: <Left_CommandSub "$("> spids: [2822 2839] ) } ] ) } spids: [2820] ) ] spids: [2820] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status)} {(DQ ("Building the toolchain targets:"))} {(DQ (BracedVarSub token:<VSub_Name binaries> bracket_op:(WholeArray op_id:Lit_At) spids:[28572862]))} ) (C {(go)} {(install)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [2877 2882] ) } ) spids: [2871 2883] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} { (DQ (BracedVarSub token: <VSub_Name binaries> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name binaries> bracket_op: (WholeArray op_id:Lit_At) spids: [2915 2920] ) } ) spids: [2909 2921] ) ) } ) ] spids: [2796] ) spids: [2786 2795] ) (FuncDef name: "kube::golang::output_filename_for_binary" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:binary) op: Equal rhs: {($ VSub_Number "$1")} spids: [2948] ) ] spids: [2946] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:platform) op: Equal rhs: {($ VSub_Number "$2")} spids: [2954] ) ] spids: [2952] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:output_path) op: Equal rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/bin))} spids: [2960] ) ] spids: [2958] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: {($ VSub_Name "$platform")} right: {($ VSub_Name "$host_platform")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:output_path) op: Equal rhs: { (DQ (${ VSub_Name output_path) (/) (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: {(EscapedLiteralPart token:<Lit_EscapedChar "\\/">)} replace: {(_)} do_all: True do_prefix: False do_suffix: False ) spids: [2991 2998] ) ) } spids: [2985] ) ] spids: [2985] ) ] spids: [-1 2982] ) ] spids: [-1 3002] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:bin) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {(DQ (${ VSub_Name binary))})] ) left_token: <Left_CommandSub "$("> spids: [3008 3016] ) } spids: [3007] ) ] spids: [3005] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(${ VSub_Name GOOS)} right: {(DQ (windows))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:bin) op: Equal rhs: {(DQ (${ VSub_Name bin) (.exe))} spids: [3039] ) ] spids: [3039] ) ] spids: [-1 3036] ) ] spids: [-1 3048] ) (C {(echo)} {(DQ (${ VSub_Name output_path) (/) (${ VSub_Name bin))}) ] spids: [2943] ) spids: [2933 2942] ) (FuncDef name: "kube::golang::build_binaries_for_platform" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:platform) op: Equal rhs: {($ VSub_Number "$1")} spids: [3081] ) ] spids: [3079] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:use_go_build) op: Equal rhs: { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [3088 3091] ) } spids: [3087] ) ] spids: [3085] ) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:statics) op: Equal rhs: {(ArrayLiteralPart)} spids: [3099] ) ] spids: [3095] ) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:nonstatics) op: Equal rhs: {(ArrayLiteralPart)} spids: [3108] ) ] spids: [3104] ) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:tests) op: Equal rhs: {(ArrayLiteralPart)} spids: [3117] ) ] spids: [3113] ) (SimpleCommand words: [ {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (info)} { (DQ ("Env for ") (${ VSub_Name platform) (": GOOS=") (BracedVarSub token: <VSub_Name GOOS> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [3140 3143] ) (" GOARCH=") (BracedVarSub token: <VSub_Name GOARCH> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [3145 3148] ) (" GOROOT=") (BracedVarSub token: <VSub_Name GOROOT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [3150 3153] ) (" CGO_ENABLED=") (BracedVarSub token: <VSub_Name CGO_ENABLED> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [3155 3158] ) (" CC=") (BracedVarSub token: <VSub_Name CC> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [3160 3163] ) ) } ] more_env: [(env_pair name:V val:{(2)} spids:[3123])] ) (ForEach iter_name: binary iter_words: [ { (DQ (BracedVarSub token: <VSub_Name binaries> bracket_op: (WholeArray op_id:Lit_At) spids: [3175 3180] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name binary))} right: {(DQ (.test)) (Lit_Other "$")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tests) op: PlusEqual rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$binary")}])} spids: [3210] ) ] spids: [3210] ) ] spids: [-1 3207] ) (if_arm cond: [ (Sentence child: (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (is_statically_linked_library) } {(DQ (${ VSub_Name binary))} ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:statics) op: PlusEqual rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$binary")}])} spids: [3236] ) ] spids: [3236] ) ] spids: [3216 3233] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:nonstatics) op: PlusEqual rhs: {(ArrayLiteralPart words:[{($ VSub_Name "$binary")}])} spids: [3245] ) ] spids: [3245] ) ] spids: [3242 3251] ) ] spids: [3184 3254] ) spids: [3173 3182] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (BracedVarSub token: <VSub_Name statics> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [3263 3269] ) ) } right: {(0)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Sentence child: (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (fallback_if_stdlib_not_installable) } ) terminator: <Op_Semi ";"> ) ] spids: [-1 3279] ) ] spids: [-1 3292] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name use_go_build> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [3302 3305] ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (progress) } {(DQ (" "))} ) (ForEach iter_name: binary iter_words: [ { (DQ (BracedVarSub token: <VSub_Name statics> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name statics> bracket_op: (WholeArray op_id:Lit_At) spids: [3339 3344] ) } ) spids: [3333 3345] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:outfile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (output_filename_for_binary) } {(DQ (${ VSub_Name binary))} {(DQ (${ VSub_Name platform))} ) ] ) left_token: <Left_CommandSub "$("> spids: [3355 3375] ) } spids: [3354] ) ] spids: [3352] ) (SimpleCommand words: [ {(go)} {(build)} {(-o)} {(DQ (${ VSub_Name outfile))} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [3402 3407] ) } ) spids: [3396 3408] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(DQ (${ VSub_Name binary))} ] more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3378])] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (progress) } {(DQ ("*"))} ) ] spids: [3349 3453] ) spids: [3331 3347] ) (ForEach iter_name: binary iter_words: [ { (DQ (BracedVarSub token: <VSub_Name nonstatics> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name nonstatics> bracket_op: (WholeArray op_id:Lit_At) spids: [3469 3474] ) } ) spids: [3463 3475] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:outfile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (output_filename_for_binary) } {(DQ (${ VSub_Name binary))} {(DQ (${ VSub_Name platform))} ) ] ) left_token: <Left_CommandSub "$("> spids: [3485 3505] ) } spids: [3484] ) ] spids: [3482] ) (C {(go)} {(build)} {(-o)} {(DQ (${ VSub_Name outfile))} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [3529 3534] ) } ) spids: [3523 3535] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(DQ (${ VSub_Name binary))} ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (progress) } {(DQ ("*"))} ) ] spids: [3479 3580] ) spids: [3461 3477] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (progress) } {(DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\n">))} ) ] spids: [-1 3310] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (BracedVarSub token: <VSub_Name nonstatics> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [3608 3614] ) ) } right: {(0)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(go)} {(install)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [3638 3643] ) } ) spids: [3632 3644] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} { (DQ (BracedVarSub token: <VSub_Name nonstatics> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name nonstatics> bracket_op: (WholeArray op_id:Lit_At) spids: [3676 3681] ) } ) spids: [3670 3682] ) ) } ) ] spids: [-1 3624] ) ] spids: [-1 3686] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (BracedVarSub token: <VSub_Name statics> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [3694 3700] ) ) } right: {(0)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (SimpleCommand words: [ {(go)} {(install)} {(-installsuffix)} {(cgo)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [3731 3736] ) } ) spids: [3725 3737] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} { (DQ (BracedVarSub token: <VSub_Name statics> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name statics> bracket_op: (WholeArray op_id:Lit_At) spids: [3769 3774] ) } ) spids: [3763 3775] ) ) } ] more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3713])] ) ] spids: [-1 3710] ) ] spids: [-1 3779] ) ] spids: [3596 3782] ) (ForEach iter_name: test iter_words: [ { (DQ (BracedVarSub token: <VSub_Name tests> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name tests> bracket_op: (WholeArray op_id:Lit_At) spids: [3799 3804] ) } ) spids: [3793 3805] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:outfile) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (output_filename_for_binary) } {(DQ (${ VSub_Name test))} {(DQ (${ VSub_Name platform))} ) ] ) left_token: <Left_CommandSub "$("> spids: [3815 3837] ) } spids: [3814] ) ] spids: [3812] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:testpkg) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(${ VSub_Name test)})] ) left_token: <Left_CommandSub "$("> spids: [3845 3851] ) ) } spids: [3843] ) ] spids: [3841] ) (If arms: [ (if_arm cond: [ (AndOr children: [ (C {(test)} {(-x)} {(DQ (${ VSub_Name KUBE_GOPATH) (/bin/teststale))}) (Pipeline children: [ (C {(DQ (${ VSub_Name KUBE_GOPATH) (/bin/teststale))} {(-binary)} {(DQ (${ VSub_Name outfile))} {(-package)} {(DQ (${ VSub_Name testpkg))} ) ] negated: True ) ] op_id: Op_DAmp ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [-1 3929] ) ] spids: [-1 3935] ) (C {(go)} {(install)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [3978 3983] ) } ) spids: [3972 3984] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(DQ (${ VSub_Name testpkg))} ) (C {(mkdir)} {(-p)} { (DQ (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(${ VSub_Name outfile)})] ) left_token: <Left_CommandSub "$("> spids: [4022 4028] ) ) } ) (C {(go)} {(test)} {(-i)} {(-c)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [4049 4054] ) } ) spids: [4043 4055] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(-o)} {(DQ (${ VSub_Name outfile))} {(DQ (${ VSub_Name testpkg))} ) ] spids: [3809 4097] ) spids: [3791 3807] ) ] spids: [3076] ) spids: [3066 3075] ) (FuncDef name: "kube::golang::get_physmem" body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:mem) op:Equal spids:[4120])] spids: [4118] ) (If arms: [ (if_arm cond: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mem) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {(MemAvailable)} {(/proc/meminfo)}) (C {(awk)} {(SQ <"{ print $2 }">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [4131 4145] ) } spids: [4130] ) ] spids: [4130] ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithWord w:{(${ VSub_Name mem)}) right: (ArithWord w:{(Lit_Digits 1048576)}) ) spids: [4153 4164] ) } ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 4148] ) ] spids: [-1 4170] ) (If arms: [ (if_arm cond: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mem) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {(MemTotal)} {(/proc/meminfo)}) (C {(awk)} {(SQ <"{ print $2 }">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [4181 4195] ) } spids: [4180] ) ] spids: [4180] ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithWord w:{(${ VSub_Name mem)}) right: (ArithWord w:{(Lit_Digits 1048576)}) ) spids: [4203 4214] ) } ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 4198] ) ] spids: [-1 4220] ) (If arms: [ (if_arm cond: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:mem) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(sysctl)} {(-n)} {(hw.memsize)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [4250] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [4243 4252] ) } spids: [4242] ) ] spids: [4242] ) terminator: <Op_Semi ";"> ) ] action: [ (C {(echo)} { (ArithSubPart anode: (ArithBinary op_id: Arith_Slash left: (ArithWord w:{(${ VSub_Name mem)}) right: (ArithWord w:{(Lit_Digits 1073741824)}) ) spids: [4260 4271] ) } ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [-1 4255] ) ] spids: [-1 4277] ) (C {(echo)} {(1)}) ] spids: [4115] ) spids: [4105 4114] ) (FuncDef name: "kube::golang::build_binaries" body: (BraceGroup children: [ (Subshell child: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (setup_env) } ) (SimpleCommand words: [ {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (info) } { (DQ ("Go version: ") (CommandSubPart command_list: (CommandList children:[(C {(go)} {(version)})]) left_token: <Left_CommandSub "$("> spids: [4359 4363] ) ) } ] more_env: [(env_pair name:V val:{(2)} spids:[4346])] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[4370])] spids: [4368] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:host_platform) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (host_platform) } ) ] ) left_token: <Left_CommandSub "$("> spids: [4374 4382] ) } spids: [4373] ) ] spids: [4373] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:goflags) op: Equal spids: [4392] ) (assign_pair lhs: (LhsName name:goldflags) op: Equal spids: [4394] ) (assign_pair lhs: (LhsName name:gogcflags) op: Equal spids: [4396] ) ] spids: [4390] ) (C {(eval)} { (DQ ("goflags=(") (BracedVarSub token: <VSub_Name GOFLAGS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [4403 4406] ) (")") ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:goldflags) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name GOLDFLAGS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [4413 4416] ) (" ") (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (version) (Lit_Other ":") (Lit_Other ":") (ldflags) } ) ] ) left_token: <Left_CommandSub "$("> spids: [4418 4426] ) ) } spids: [4411] ) ] spids: [4411] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gogcflags) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name GOGCFLAGS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )}) spids: [4432 4435] ) ) } spids: [4430] ) ] spids: [4430] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:use_go_build) op:Equal spids:[4442])] spids: [4440] ) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: {(ArrayLiteralPart)} spids: [4449] ) ] spids: [4445] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:arg) op:Equal spids:[4456])] spids: [4454] ) (ForEach iter_name: arg do_arg_iter: True body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name arg))} right: {(DQ (--use_go_build))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:use_go_build) op: Equal rhs: {(true)} spids: [4490] ) ] spids: [4490] ) ] spids: [-1 4487] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name arg))} right: {(-) (Lit_Other "*")} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:goflags) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])} spids: [4519] ) ] spids: [4519] ) ] spids: [4494 4512] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:targets) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])} spids: [4532] ) ] spids: [4532] ) ] spids: [4529 4542] ) ] spids: [4465 4545] ) spids: [-1 -1] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: { (BracedVarSub token: <VSub_Name targets> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [4553 4559] ) } right: {(0)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: { (ArrayLiteralPart words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_ALL_TARGETS> bracket_op: (WholeArray op_id:Lit_At) spids: [4574 4579] ) ) } ] ) } spids: [4571] ) ] spids: [4571] ) ] spids: [-1 4568] ) ] spids: [-1 4584] ) (Assignment keyword: Assign_Local flags: ["'-a'"] pairs: [ (assign_pair lhs: (LhsName name:platforms) op: Equal rhs: { (ArrayLiteralPart words: [ { (BracedVarSub token: <VSub_Name KUBE_BUILD_PLATFORMS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [4594 4597] ) } ] ) } spids: [4592] ) ] spids: [4588] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_eq left: { (BracedVarSub token: <VSub_Name platforms> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [4605 4611] ) } right: {(0)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:platforms) op: Equal rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name host_platform))}])} spids: [4623] ) ] spids: [4623] ) ] spids: [-1 4620] ) ] spids: [-1 4633] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[4639])] spids: [4637] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:binaries) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (binaries_from_targets) } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[46544659]))} ) ] ) left_token: <Left_CommandSub "$("> spids: [4644 4661] ) } ] ) } spids: [4642] ) ] spids: [4642] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:parallel) op: Equal rhs: {(false)} spids: [4668] ) ] spids: [4666] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_gt left: { (BracedVarSub token: <VSub_Name platforms> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [4676 4682] ) } right: {(1)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:gigs) op:Equal spids:[4696])] spids: [4694] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:gigs) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (get_physmem) } ) ] ) left_token: <Left_CommandSub "$("> spids: [4700 4708] ) } spids: [4699] ) ] spids: [4699] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_ge left: {(${ VSub_Name gigs)} right: {(${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY)} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } { (DQ ("Multiple platforms requested and available ") (${ VSub_Name gigs) ("G >= threshold ") (${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY) ("G, building platforms in parallel") ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:parallel) op: Equal rhs: {(true)} spids: [4753] ) ] spids: [4753] ) ] spids: [-1 4729] ) ] else_action: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } { (DQ ("Multiple platforms requested, but available ") (${ VSub_Name gigs) ("G < threshold ") (${ VSub_Name KUBE_PARALLEL_BUILD_MEMORY) ("G, building platforms in serial") ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:parallel) op: Equal rhs: {(false)} spids: [4781] ) ] spids: [4781] ) ] spids: [4757 4785] ) ] spids: [-1 4691] ) ] spids: [-1 4788] ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (build_kube_toolchain) } ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } {(DQ ("Generating bindata:"))} { (DQ (BracedVarSub token: <VSub_Name KUBE_BINDATAS> bracket_op: (WholeArray op_id:Lit_At) spids: [4819 4824] ) ) } ) (ForEach iter_name: bindata iter_words: [ { (BracedVarSub token: <VSub_Name KUBE_BINDATAS> bracket_op: (WholeArray op_id:Lit_At) spids: [4834 4839] ) } ] do_arg_iter: False body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_f child: { (DQ (${ VSub_Name KUBE_ROOT) (/) (${ VSub_Name bindata) ) } ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(go)} {(generate)} { (DQ (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) suffix_op: (StringUnary op_id: VTest_ColonPlus arg_word: { (BracedVarSub token: <VSub_Name goflags> bracket_op: (WholeArray op_id:Lit_At) spids: [4886 4891] ) } ) spids: [4880 4892] ) ) } {(DQ (${ VSub_Name KUBE_ROOT) (/) (${ VSub_Name bindata))} ) ] spids: [-1 4872] ) ] spids: [-1 4906] ) ] spids: [4842 4909] ) spids: [4833 4840] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name parallel))} right: {(DQ (true))} ) ) terminator: <Op_Semi ";"> ) ] action: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } { (DQ ("Building go targets for {") (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Arith_Star) spids: [4945 4950] ) ("} in parallel (output will appear in a burst when complete):") ) } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[49554960]))} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[4966])] spids: [4964] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Lit_At) spids: [4976 4981] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (Subshell child: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (set_platform_envs) } {(DQ (${ VSub_Name platform))} ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } {(DQ (${ VSub_Name platform) (": go build started"))} ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (build_binaries_for_platform) } {(${ VSub_Name platform)} { (BracedVarSub token: <VSub_Name use_go_build> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {} ) spids: [5033 5036] ) } ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } {(DQ (${ VSub_Name platform) (": go build finished"))} ) ] ) spids: [4987 5055] ) terminator: <Op_Amp "&"> ) (Sentence child: (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: -1 arg_word: { (DQ (/tmp//) (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: { (EscapedLiteralPart token: <Lit_EscapedChar "\\/"> ) } replace: {(_)} do_all: True do_prefix: False do_suffix: False ) spids: [5062 5069] ) (.build) ) } spids: [5058] ) ] ) terminator: <Op_Amp "&"> ) ] spids: [4985 5076] ) spids: [4974 4983] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fails) op: Equal rhs: {(0)} spids: [5082] ) ] spids: [5080] ) (ForEach iter_name: job iter_words: [ { (CommandSubPart command_list: (CommandList children:[(C {(jobs)} {(-p)})]) left_token: <Left_CommandSub "$("> spids: [5092 5096] ) } ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(wait)} {(${ VSub_Name job)}) (C {(let)} {(DQ ("fails+=1"))}) ] op_id: Op_DPipe ) ] spids: [5099 5117] ) spids: [5091 5097] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Lit_At) spids: [5128 5133] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(cat)} { (DQ (/tmp//) (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: { (EscapedLiteralPart token: <Lit_EscapedChar "\\/"> ) } replace: {(_)} do_all: True do_prefix: False do_suffix: False ) spids: [5144 5151] ) (.build) ) } ) ] spids: [5137 5156] ) spids: [5126 5135] ) (C {(exit)} {(${ VSub_Name fails)}) ] spids: [-1 4932] ) ] else_action: [ (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Lit_At) spids: [5177 5182] ) ) } ] do_arg_iter: False body: (DoGroup children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") (status) } {(DQ ("Building go targets for ") (${ VSub_Name platform) (":"))} { (DQ (BracedVarSub token: <VSub_Name targets> bracket_op: (WholeArray op_id:Lit_At) spids: [5206 5211] ) ) } ) (Subshell child: (CommandList children: [ (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (set_platform_envs) } {(DQ (${ VSub_Name platform))} ) (C {(kube) (Lit_Other ":") (Lit_Other ":") (golang) (Lit_Other ":") (Lit_Other ":") (build_binaries_for_platform) } {(${ VSub_Name platform)} { (BracedVarSub token: <VSub_Name use_go_build> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [5245 5248] ) } ) ] ) spids: [5215 5251] ) ] spids: [5186 5254] ) spids: [5175 5184] ) ] spids: [5167 5257] ) ] ) spids: [4330 5260] ) ] spids: [4323] ) spids: [4313 4322] ) ] )