(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:F do_prefix:F do_suffix:T) 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:{(EmptyPart)}) 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: [16777215 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:{(EmptyPart)}) 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:{(EmptyPart)}) 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: [16777215 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:F do_prefix:F do_suffix:T) 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:F do_prefix:F do_suffix:T) 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:{(EmptyPart)}) 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: [16777215 857] ) ] spids: [16777215 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: F body: (DoGroup children: [ (Sentence child: (AndOr ops: [Op_DAmp] 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)} ) ] ) 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: F body: (DoGroup children: [ (Sentence child: (AndOr ops: [Op_DAmp] 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)} ) ] ) terminator: <Op_Semi ';'> ) ] spids: [1178 1203] ) spids: [1167 1176] ) terminator: <Op_Semi ';'> ) ] spids: [16777215 1159] ) ] spids: [16777215 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: T 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: [16777215 1304] ) ] else_action: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GO_PACKAGE) (/) (${ VSub_Name target))}) ] spids: [1316 1332] ) ] spids: [1247 1335] ) spids: [16777215 16777215] ) ] 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:{(EmptyPart)}) 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: [16777215 1417] ) ] spids: [16777215 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:{(EmptyPart)}) 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: [16777215 1456] ) ] spids: [16777215 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 ops: [Op_DPipe] 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] ) ] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) (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 16777215] ) ] spids: [1597 1605 1692] ) ] spids: [16777215 1586] ) ] spids: [16777215 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: [16777215 1838] ) ] spids: [16777215 1858] ) (SimpleCommand words: [{(cat)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name KUBE_GOPATH) (/BUILD))} spids: [1864] ) (HereDoc op_id: Redir_DLess fd: 16777215 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: T 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: [1909 1913] ) ) } ) ) 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: 16777215 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: T spids: [1930] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [16777215 1919] ) ] spids: [16777215 1942] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:go_version) op:Equal spids:[1948])] spids: [1946] ) (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: [1953 1957] ) } ] ) } spids: [1951] ) ] spids: [1951] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:minimum_go_version) op:Equal spids:[1963])] spids: [1961] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:minimum_go_version) op: Equal rhs: {(go1.8.3)} spids: [1966] ) ] spids: [1966] ) (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: [1975 1980] ) ) } 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: [1994 1999] ) ) } 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: 16777215 body: { (DQ ('Detected go version: ') (BracedVarSub token: <VSub_Name go_version> bracket_op: (WholeArray op_id:Arith_Star) spids: [2026 2031] ) ('.\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: T spids: [2022] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] spids: [16777215 2011] ) ] spids: [16777215 2050] ) ] spids: [1899] ) spids: [1889 1898] ) (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: [2145 2148] ) } ) ) 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: [2156] ) ] spids: [2156] ) ] spids: [16777215 2153] ) ] spids: [16777215 2168] ) (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:[2209])] spids: [2207] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [2213 2230] ) } spids: [2212] ) ] spids: [2212] ) (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: [2258 2264] ) } ) (C {(unset)} {(GOBIN)}) (C {(export)} {(Lit_VarLike 'GO15VENDOREXPERIMENT=') (1)}) ] spids: [2101] ) spids: [2091 2100] ) (FuncDef name: 'kube::golang::place_bins' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[2329])] spids: [2327] ) (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: [2333 2341] ) } spids: [2332] ) ] spids: [2332] ) (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:[2345])] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[2364])] spids: [2362] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name KUBE_CLIENT_PLATFORMS> bracket_op: (WholeArray op_id:Lit_At) spids: [2374 2379] ) ) } ] do_arg_iter: F 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: T do_prefix: F do_suffix: F ) spids: [2399 2406] ) ) } spids: [2396] ) ] spids: [2394] ) (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: [2426] ) ] spids: [2426] ) (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: [16777215 2423] ) ] spids: [16777215 2463] ) (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: [2469] ) ] spids: [2467] ) (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: [16777215 2496] ) ] spids: [16777215 2554] ) ] spids: [2383 2557] ) spids: [2372 2381] ) ] spids: [2324] ) spids: [2314 2323] ) (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: [2578 2584] ) } spids: [2577] ) ] spids: [2575] ) 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: [2591 2597] ) } spids: [2590] ) ] spids: [2588] ) 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: [2604 2610] ) } spids: [2603] ) ] spids: [2601] ) 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: [2616] ) ] spids: [2614] ) 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: [16777215 2646] ) ] spids: [16777215 2655] ) (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: [16777215 2673] ) ] spids: [16777215 2682] ) (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: [2714 2716] ) ) } ) 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: [2735 2737] ) (' 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: [2771] ) ] spids: [2771] ) ] spids: [2572] ) spids: [2562 2571] ) (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: [2804] ) ] spids: [2802] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[2820])] spids: [2818] ) (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:[2835 2840]))} ) ] ) left_token: <Left_CommandSub '$('> spids: [2825 2842] ) } ] ) } spids: [2823] ) ] spids: [2823] ) (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:[2860 2865]))} ) (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: [2880 2885] ) } ) spids: [2874 2886] ) ) } {(-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: [2918 2923] ) } ) spids: [2912 2924] ) ) } ) ] spids: [2799] ) spids: [2789 2798] ) (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: [2951] ) ] spids: [2949] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:platform) op: Equal rhs: {($ VSub_Number '$2')} spids: [2957] ) ] spids: [2955] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:output_path) op: Equal rhs: {(DQ (${ VSub_Name KUBE_GOPATH) (/bin))} spids: [2963] ) ] spids: [2961] ) (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: T do_prefix: F do_suffix: F ) spids: [2994 3001] ) ) } spids: [2988] ) ] spids: [2988] ) ] spids: [16777215 2985] ) ] spids: [16777215 3005] ) (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: [3011 3019] ) } spids: [3010] ) ] spids: [3008] ) (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: [3042] ) ] spids: [3042] ) ] spids: [16777215 3039] ) ] spids: [16777215 3051] ) (C {(echo)} {(DQ (${ VSub_Name output_path) (/) (${ VSub_Name bin))}) ] spids: [2946] ) spids: [2936 2945] ) (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: [3084] ) ] spids: [3082] ) (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: [3091 3094] ) } spids: [3090] ) ] spids: [3088] ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:statics) op: Equal rhs: {(ArrayLiteralPart)} spids: [3102] ) ] spids: [3098] ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:nonstatics) op: Equal rhs: {(ArrayLiteralPart)} spids: [3111] ) ] spids: [3107] ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:tests) op: Equal rhs: {(ArrayLiteralPart)} spids: [3120] ) ] spids: [3116] ) (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:{(EmptyPart)}) spids: [3143 3146] ) (' GOARCH=') (BracedVarSub token: <VSub_Name GOARCH> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [3148 3151] ) (' GOROOT=') (BracedVarSub token: <VSub_Name GOROOT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [3153 3156] ) (' CGO_ENABLED=') (BracedVarSub token: <VSub_Name CGO_ENABLED> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [3158 3161] ) (' CC=') (BracedVarSub token: <VSub_Name CC> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(EmptyPart)}) spids: [3163 3166] ) ) } ] more_env: [(env_pair name:V val:{(2)} spids:[3126])] ) (ForEach iter_name: binary iter_words: [ { (DQ (BracedVarSub token: <VSub_Name binaries> bracket_op: (WholeArray op_id:Lit_At) spids: [3178 3183] ) ) } ] do_arg_iter: F 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: [3213] ) ] spids: [3213] ) ] spids: [16777215 3210] ) (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: [3239] ) ] spids: [3239] ) ] spids: [3219 3236] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:nonstatics) op: PlusEqual rhs: {(ArrayLiteralPart words:[{($ VSub_Name '$binary')}])} spids: [3248] ) ] spids: [3248] ) ] spids: [3245 3254] ) ] spids: [3187 3257] ) spids: [3176 3185] ) (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: [3266 3272] ) ) } 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: [16777215 3282] ) ] spids: [16777215 3295] ) (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: [3305 3308] ) } ) ) 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: [3342 3347] ) } ) spids: [3336 3348] ) ) } ] do_arg_iter: F 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: [3358 3378] ) } spids: [3357] ) ] spids: [3355] ) (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: [3405 3410] ) } ) spids: [3399 3411] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(DQ (${ VSub_Name binary))} ] more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3381])] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (progress) } {(DQ ('*'))} ) ] spids: [3352 3456] ) spids: [3334 3350] ) (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: [3472 3477] ) } ) spids: [3466 3478] ) ) } ] do_arg_iter: F 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: [3488 3508] ) } spids: [3487] ) ] spids: [3485] ) (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: [3532 3537] ) } ) spids: [3526 3538] ) ) } {(-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: [3482 3583] ) spids: [3464 3480] ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (progress) } {(DQ (Lit_Other '\\') (n))} ) ] spids: [16777215 3313] ) ] 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: [3612 3618] ) ) } 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: [3642 3647] ) } ) spids: [3636 3648] ) ) } {(-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: [3680 3685] ) } ) spids: [3674 3686] ) ) } ) ] spids: [16777215 3628] ) ] spids: [16777215 3690] ) (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: [3698 3704] ) ) } 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: [3735 3740] ) } ) spids: [3729 3741] ) ) } {(-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: [3773 3778] ) } ) spids: [3767 3779] ) ) } ] more_env: [(env_pair name:CGO_ENABLED val:{(0)} spids:[3717])] ) ] spids: [16777215 3714] ) ] spids: [16777215 3783] ) ] spids: [3600 3786] ) (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: [3803 3808] ) } ) spids: [3797 3809] ) ) } ] do_arg_iter: F 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: [3819 3841] ) } spids: [3818] ) ] spids: [3816] ) (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: [3849 3855] ) ) } spids: [3847] ) ] spids: [3845] ) (If arms: [ (if_arm cond: [ (AndOr ops: [Op_DAmp] 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: T ) ] ) ] action: [(ControlFlow token:<ControlFlow_Continue continue>)] spids: [16777215 3933] ) ] spids: [16777215 3939] ) (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: [3982 3987] ) } ) spids: [3976 3988] ) ) } {(-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: [4026 4032] ) ) } ) (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: [4053 4058] ) } ) spids: [4047 4059] ) ) } {(-gcflags)} {(DQ (${ VSub_Name gogcflags))} {(-ldflags)} {(DQ (${ VSub_Name goldflags))} {(-o)} {(DQ (${ VSub_Name outfile))} {(DQ (${ VSub_Name testpkg))} ) ] spids: [3813 4101] ) spids: [3795 3811] ) ] spids: [3079] ) spids: [3069 3078] ) (FuncDef name: 'kube::golang::get_physmem' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:mem) op:Equal spids:[4124])] spids: [4122] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4135 4149] ) } spids: [4134] ) ] spids: [4134] ) 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: [4157 4168] ) } ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 4152] ) ] spids: [16777215 4174] ) (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: F ) ] ) left_token: <Left_CommandSub '$('> spids: [4185 4199] ) } spids: [4184] ) ] spids: [4184] ) 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: [4207 4218] ) } ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 4202] ) ] spids: [16777215 4224] ) (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: [4254] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [4247 4256] ) } spids: [4246] ) ] spids: [4246] ) 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: [4264 4275] ) } ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 4259] ) ] spids: [16777215 4281] ) (C {(echo)} {(1)}) ] spids: [4119] ) spids: [4109 4118] ) (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: [4363 4367] ) ) } ] more_env: [(env_pair name:V val:{(2)} spids:[4350])] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:host_platform) op:Equal spids:[4374])] spids: [4372] ) (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: [4378 4386] ) } spids: [4377] ) ] spids: [4377] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:goflags) op: Equal spids: [4396] ) (assign_pair lhs: (LhsName name:goldflags) op: Equal spids: [4398] ) (assign_pair lhs: (LhsName name:gogcflags) op: Equal spids: [4400] ) ] spids: [4394] ) (C {(eval)} { (DQ ('goflags=(') (BracedVarSub token: <VSub_Name GOFLAGS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [4407 4410] ) (')') ) } ) (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:{(EmptyPart)}) spids: [4417 4420] ) (' ') (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (ldflags) } ) ] ) left_token: <Left_CommandSub '$('> spids: [4422 4430] ) ) } spids: [4415] ) ] spids: [4415] ) (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:{(EmptyPart)}) spids: [4436 4439] ) ) } spids: [4434] ) ] spids: [4434] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:use_go_build) op:Equal spids:[4446])] spids: [4444] ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:targets) op: Equal rhs: {(ArrayLiteralPart)} spids: [4453] ) ] spids: [4449] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:arg) op:Equal spids:[4460])] spids: [4458] ) (ForEach iter_name: arg do_arg_iter: T 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: [4494] ) ] spids: [4494] ) ] spids: [16777215 4491] ) (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: [4523] ) ] spids: [4523] ) ] spids: [4498 4516] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:targets) op: PlusEqual rhs: {(ArrayLiteralPart words:[{(DQ (${ VSub_Name arg))}])} spids: [4536] ) ] spids: [4536] ) ] spids: [4533 4546] ) ] spids: [4469 4549] ) spids: [16777215 16777215] ) (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: [4557 4563] ) } 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: [4578 4583] ) ) } ] ) } spids: [4575] ) ] spids: [4575] ) ] spids: [16777215 4572] ) ] spids: [16777215 4588] ) (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: [4598 4601] ) } ] ) } spids: [4596] ) ] spids: [4592] ) (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: [4609 4615] ) } 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: [4627] ) ] spids: [4627] ) ] spids: [16777215 4624] ) ] spids: [16777215 4637] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:binaries) op:Equal spids:[4643])] spids: [4641] ) (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:[4658 4663]))} ) ] ) left_token: <Left_CommandSub '$('> spids: [4648 4665] ) } ] ) } spids: [4646] ) ] spids: [4646] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:parallel) op: Equal rhs: {(false)} spids: [4672] ) ] spids: [4670] ) (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: [4680 4686] ) } right: {(1)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:gigs) op:Equal spids:[4700])] spids: [4698] ) (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: [4704 4712] ) } spids: [4703] ) ] spids: [4703] ) (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: [4757] ) ] spids: [4757] ) ] spids: [16777215 4733] ) ] 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: [4785] ) ] spids: [4785] ) ] spids: [4761 4789] ) ] spids: [16777215 4695] ) ] spids: [16777215 4792] ) (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: [4823 4828] ) ) } ) (ForEach iter_name: bindata iter_words: [ { (BracedVarSub token: <VSub_Name KUBE_BINDATAS> bracket_op: (WholeArray op_id:Lit_At) spids: [4838 4843] ) } ] do_arg_iter: F 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: [4890 4895] ) } ) spids: [4884 4896] ) ) } {(DQ (${ VSub_Name KUBE_ROOT) (/) (${ VSub_Name bindata))} ) ] spids: [16777215 4876] ) ] spids: [16777215 4910] ) ] spids: [4846 4913] ) spids: [4837 4844] ) (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: [4949 4954] ) ('} in parallel (output will appear in a burst when complete):') ) } {(DQ (BracedVarSub token:<VSub_Name targets> bracket_op:(WholeArray op_id:Lit_At) spids:[4959 4964]))} ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:platform) op:Equal spids:[4970])] spids: [4968] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Lit_At) spids: [4980 4985] ) ) } ] do_arg_iter: F 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: [5037 5040] ) } ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (log) (Lit_Other ':') (Lit_Other ':') (status) } {(DQ (${ VSub_Name platform) (': go build finished'))} ) ] ) spids: [4991 5059] ) terminator: <Op_Amp '&'> ) (Sentence child: (SimpleCommand redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: { (DQ (/tmp//) (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: { (EscapedLiteralPart token: <Lit_EscapedChar '\\/'> ) } replace: {(_)} do_all: T do_prefix: F do_suffix: F ) spids: [5066 5073] ) (.build) ) } spids: [5062] ) ] ) terminator: <Op_Amp '&'> ) ] spids: [4989 5080] ) spids: [4978 4987] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:fails) op: Equal rhs: {(0)} spids: [5086] ) ] spids: [5084] ) (ForEach iter_name: job iter_words: [ { (CommandSubPart command_list: (CommandList children:[(C {(jobs)} {(-p)})]) left_token: <Left_CommandSub '$('> spids: [5096 5100] ) } ] do_arg_iter: F body: (DoGroup children: [ (AndOr ops: [Op_DPipe] children: [ (C {(wait)} {(${ VSub_Name job)}) (C {(let)} {(DQ ('fails+=1'))}) ] ) ] spids: [5103 5121] ) spids: [5095 5101] ) (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Lit_At) spids: [5132 5137] ) ) } ] do_arg_iter: F body: (DoGroup children: [ (C {(cat)} { (DQ (/tmp//) (BracedVarSub token: <VSub_Name platform> suffix_op: (PatSub pat: { (EscapedLiteralPart token: <Lit_EscapedChar '\\/'> ) } replace: {(_)} do_all: T do_prefix: F do_suffix: F ) spids: [5148 5155] ) (.build) ) } ) ] spids: [5141 5160] ) spids: [5130 5139] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(${ VSub_Name fails)} ) ] spids: [16777215 4936] ) ] else_action: [ (ForEach iter_name: platform iter_words: [ { (DQ (BracedVarSub token: <VSub_Name platforms> bracket_op: (WholeArray op_id:Lit_At) spids: [5181 5186] ) ) } ] do_arg_iter: F 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: [5210 5215] ) ) } ) (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: [5249 5252] ) } ) ] ) spids: [5219 5255] ) ] spids: [5190 5258] ) spids: [5179 5188] ) ] spids: [5171 5261] ) ] ) spids: [4334 5264] ) ] spids: [4327] ) spids: [4317 4326] ) ] )