(command.CommandList children: [ (C {(Id.KW_Set set)} {(-o)} {(errexit)}) (C {(Id.KW_Set set)} {(-o)} {(nounset)}) (C {(Id.KW_Set set)} {(-o)} {(pipefail)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBE_ROOT) op: assign_op.Equal rhs: { (braced_var_sub token: (Token id:Id.VSub_Name val:KUBE_ROOT span_id:65) suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:67) command_list: (command.CommandList children: [(C {(dirname)} {(DQ (${ Id.VSub_Name BASH_SOURCE))})] ) ) (Id.Lit_Slash /) (..) } ) ) } spids: [63] ) ] ) (command.Case to_match: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:87) command_list: (command.CommandList children:[(C {(uname)} {(-s)})]) ) ) } arms: [ (case_arm pat_list: [{(Darwin)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_os) op: assign_op.Equal rhs: {(darwin)} spids: [101] ) ] ) ] spids: [97 98 105 -1] ) (case_arm pat_list: [{(Linux)}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_os) op: assign_op.Equal rhs: {(linux)} spids: [112] ) ] ) ] spids: [108 109 116 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.Simple words: [{(echo)} {(DQ ('Unsupported host OS. Must be Linux or Mac OS X.'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:129) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:133) arg_word: {(1)} ) ] spids: [119 120 138 -1] ) ] ) (command.Case to_match: { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:146) command_list: (command.CommandList children:[(C {(uname)} {(-m)})]) ) ) } arms: [ (case_arm pat_list: [{(x86_64) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_arch) op: assign_op.Equal rhs: {(amd64)} spids: [161] ) ] ) ] spids: [156 158 165 -1] ) (case_arm pat_list: [{(i) (Id.Lit_QMark '?') (86_64) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_arch) op: assign_op.Equal rhs: {(amd64)} spids: [175] ) ] ) ] spids: [168 172 179 -1] ) (case_arm pat_list: [{(amd64) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_arch) op: assign_op.Equal rhs: {(amd64)} spids: [187] ) ] ) ] spids: [182 184 191 -1] ) (case_arm pat_list: [{(arm) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_arch) op: assign_op.Equal rhs: {(arm)} spids: [199] ) ] ) ] spids: [194 196 203 -1] ) (case_arm pat_list: [{(i) (Id.Lit_QMark '?') (86) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_arch) op: assign_op.Equal rhs: {(386)} spids: [213] ) ] ) ] spids: [206 210 217 -1] ) (case_arm pat_list: [{(s390x) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_arch) op: assign_op.Equal rhs: {(s390x)} spids: [225] ) ] ) ] spids: [220 222 229 -1] ) (case_arm pat_list: [{(ppc64le) (Id.Lit_Star '*')}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host_arch) op: assign_op.Equal rhs: {(ppc64le)} spids: [237] ) ] ) ] spids: [232 234 241 -1] ) (case_arm pat_list: [{(Id.Lit_Star '*')}] action: [ (command.Simple words: [ {(echo)} {(DQ ('Unsupported host arch. Must be x86_64, 386, arm, s390x or ppc64le.'))} ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:254) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:258) arg_word: {(1)} ) ] spids: [244 245 263 -1] ) ] ) (command.ShFunction name: get_absolute_dirname body: (command.BraceGroup children: [ (C {(echo)} { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:284) command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {(cd)} { (DQ (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:288) command_list: (command.CommandList children: [(C {(dirname)} {(DQ ($ Id.VSub_Number '$1'))})] ) ) ) } ) (C {(pwd)}) ] ) ] ) ) ) } ) ] ) ) (command.ShFunction name: get_bin body: (command.BraceGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bin) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: (Token id:Id.VSub_Number val:1 span_id:318) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:(word.Empty)) ) ) } spids: [315] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:srcdir) op: assign_op.Equal rhs: { (DQ (braced_var_sub token: (Token id:Id.VSub_Number val:2 span_id:327) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:(word.Empty)) ) ) } spids: [324] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name bin))} right: {(DQ )} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:349) ) ] action: [ (C {(echo)} {(DQ ('Binary name is required'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:361) arg_word: {(1)} ) ] spids: [333 351] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name srcdir))} right: {(DQ )} ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:385) ) ] action: [ (C {(echo)} {(DQ ('Source directory path is required'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:397) arg_word: {(1)} ) ] spids: [369 387] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:locations) op: assign_op.Equal rhs: { (sh_array_literal left: (Token id:Id.Op_LParen val:'(' span_id:408) words: [ {(DQ (${ Id.VSub_Name KUBE_ROOT) (/_output/bin/) (${ Id.VSub_Name bin))} { (DQ (${ Id.VSub_Name KUBE_ROOT) (/_output/dockerized/bin/) (${ Id.VSub_Name host_os) (/) (${ Id.VSub_Name host_arch) (/) (${ Id.VSub_Name bin) ) } { (DQ (${ Id.VSub_Name KUBE_ROOT) (/_output/local/bin/) (${ Id.VSub_Name host_os) (/) (${ Id.VSub_Name host_arch) (/) (${ Id.VSub_Name bin) ) } { (DQ (${ Id.VSub_Name KUBE_ROOT) (/bazel-bin/) (${ Id.VSub_Name srcdir) (/) (${ Id.VSub_Name bin) ) } { (DQ (${ Id.VSub_Name KUBE_ROOT) (/platforms/) (${ Id.VSub_Name host_os) (/) (${ Id.VSub_Name host_arch) (/) (${ Id.VSub_Name bin) ) } ] ) } spids: [407] ) ] ) (C {(echo)} { (command_sub left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:499) command_list: (command.CommandList children: [ (command.Pipeline children: [ (command.Subshell command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {(ls)} {(-t)} { (DQ (braced_var_sub token: (Token id: Id.VSub_Name val: locations span_id: 508 ) bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:515) fd: 2 arg_word: {(/dev/null)} ) ] ) (C {(true)}) ] ) ] ) ) (C {(head)} {(-1)}) ] negated: F ) ] ) ) } ) ] ) ) (command.ShFunction name: print_error body: (command.BraceGroup children: [ (command.BraceGroup children: [ (C {(echo)} { (DQ ("It looks as if you don't have a compiled ") (braced_var_sub token: (Token id:Id.VSub_Number val:1 span_id:551) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:(word.Empty)) ) (' binary') ) } ) (C {(echo)}) (C {(echo)} {(DQ ('If you are running from a clone of the git repo, please run'))}) (C {(echo)} {(DQ ("'./build/run.sh make cross'. Note that this requires having"))}) (C {(echo)} {(DQ ('Docker installed.'))}) (C {(echo)}) (C {(echo)} {(DQ ('If you are running from a binary release tarball, something is wrong. '))} ) (C {(echo)} {(DQ ('Look at http://kubernetes.io/ for information on how to contact the '))} ) (C {(echo)} {(DQ ('development team for help.'))}) ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:608) fd: -1 arg_word: {(2)} ) ] ) ] ) ) ] )