(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (C {(export)} {(Lit_VarLike 'GO15VENDOREXPERIMENT=') (1)}) (FuncDef name: preload-dep body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:org) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [88] ) ] spids: [88] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:project) op: Equal rhs: {(DQ ($ VSub_Number '$2'))} spids: [94] ) ] spids: [94] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sha) op: Equal rhs: {(DQ ($ VSub_Number '$3'))} spids: [100] ) ] spids: [100] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Number 4> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [116 119] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:project_dir) op: Equal rhs: { (DQ (${ VSub_Name GOPATH) (/src/) (${ VSub_Name org) (/) (${ VSub_Name project) (.git) ) } spids: [127] ) ] spids: [127] ) ] spids: [16777215 124] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:project_dir) op: Equal rhs: {(DQ (${ VSub_Number 4))} spids: [147] ) ] spids: [147] ) ] spids: [144 155] ) (C {(echo)} { (DQ ('**HACK** preloading dep for ') (${ VSub_Name org) (' ') (${ VSub_Name project) (' at ') (${ VSub_Name sha) (' into ') (${ VSub_Name project_dir) ) } ) (SimpleCommand words: [ {(git)} {(clone)} {(DQ ('https://') (${ VSub_Name org) (/) (${ VSub_Name project))} {(DQ (${ VSub_Name project_dir))} ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [202] ) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[206]) ] ) (SimpleCommand words: [{(pushd)} {(DQ (${ VSub_Name project_dir))}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[218])] ) (C {(git)} {(checkout)} {(DQ (${ VSub_Name sha))}) (SimpleCommand words: [{(popd)}] redirects: [(Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[236])] ) ] spids: [85] ) spids: [81 84] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub '$('> spids: [244 252] ) (/..) } spids: [243] ) ] spids: [243] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))}) (Assignment keyword: Assign_Readonly pairs: [ (assign_pair lhs: (LhsName name:branch) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (BracedVarSub token: <VSub_Name KUBE_VERIFY_GIT_BRANCH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(master)}) spids: [271 275] ) } ) spids: [268 276] ) } spids: [267] ) ] spids: [265] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp Op_DAmp Op_DAmp] children: [ (Pipeline children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: { (BracedVarSub token: <VSub_Name KUBE_FORCE_VERIFY_CHECKS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [284 287] ) } right: {(Lit_Other '^') (Lit_Other '[') (yY) (Lit_Other ']') (Lit_Other '$')} ) ) ] negated: T ) (Pipeline children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (has_changes_against_upstream_branch) } {(DQ (${ VSub_Name branch))} {(SQ <Godeps/>)} ) ] negated: T ) (Pipeline children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (has_changes_against_upstream_branch) } {(DQ (${ VSub_Name branch))} {(SQ <vendor/>)} ) ] negated: T ) (Pipeline children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (has_changes_against_upstream_branch) } {(DQ (${ VSub_Name branch))} {(SQ <'hack/.*godep'>)} ) ] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})] spids: [16777215 372] ) ] spids: [16777215 379] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name TMP_GOPATH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [388 391] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_tmpdir) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(-d)} {(-t)} {(gopath.XXXXXX)})] ) left_token: <Left_CommandSub '$('> spids: [405 413] ) ) } spids: [403] ) ] spids: [403] ) ] spids: [16777215 396] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_tmpdir) op: Equal rhs: {(DQ (${ VSub_Name TMP_GOPATH))} spids: [423] ) ] spids: [423] ) ] spids: [416 430] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name KEEP_TMP> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{}) spids: [439 442] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:KEEP_TMP) op:Equal rhs:{(false)} spids:[450])] spids: [450] ) ] spids: [16777215 447] ) ] spids: [16777215 453] ) (FuncDef name: cleanup body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ (${ VSub_Name KEEP_TMP))} {(Lit_Other '=') (Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ('Leaving ') (${ VSub_Name _tmpdir) ( ' for you to examine or copy. Please delete it manually when finished. (rm -rf ' ) (${ VSub_Name _tmpdir) (')') ) } ) ] spids: [16777215 482] ) ] else_action: [ (C {(echo)} {(DQ ('Removing ') (${ VSub_Name _tmpdir))}) (C {(rm)} {(-rf)} {(DQ (${ VSub_Name _tmpdir))}) ] spids: [500 524] ) (C {(export)} {(Lit_VarLike 'GODEP=') (DQ )}) ] spids: [459] ) spids: [455 458] ) (C {(trap)} {(cleanup)} {(EXIT)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kubetmp) op: Equal rhs: {(DQ (${ VSub_Name _tmpdir) (/src/k8s.io))} spids: [545] ) ] spids: [545] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name _kubetmp))}) (Pipeline children: [ (C {(git)} {(archive)} {(--format) (Lit_Other '=') (tar)} {(--prefix) (Lit_Other '=') (kubernetes/)} { (CommandSubPart command_list: (CommandList children:[(C {(git)} {(write-tree)})]) left_token: <Left_CommandSub '$('> spids: [578 582] ) } ) (Subshell child: (AndOr ops: [Op_DAmp] children: [(C {(cd)} {(DQ (${ VSub_Name _kubetmp))}) (C {(tar)} {(xf)} {(-)})] ) spids: [586 602] ) ] negated: F ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_kubetmp) op: Equal rhs: {(DQ (${ VSub_Name _kubetmp) (/kubernetes))} spids: [604] ) ] spids: [604] ) (C {(export)} {(Lit_VarLike 'GOPATH=') (DQ (${ VSub_Name _tmpdir))}) (SimpleCommand words: [{(pushd)} {(DQ (${ VSub_Name _kubetmp))}] redirects: [ (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[634]) (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[637]) ] ) (C {(hack/godep-restore.sh)}) (C {(rm)} {(-rf)} {(./Godeps)} {(./vendor)}) (SimpleCommand words: [{(git)} {(init)}] redirects: [ (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[676]) (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[680]) ] ) (C {(hack/godep-save.sh)}) (SimpleCommand words: [{(popd)}] redirects: [ (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[693]) (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[696]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(0)} spids:[701])] spids: [701] ) (SimpleCommand words: [{(pushd)} {(DQ (${ VSub_Name KUBE_ROOT))}] redirects: [ (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[713]) (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[716]) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_out) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(diff)} {(-Naupr)} {(--ignore-matching-lines) (Lit_Other '=') (SQ <'^\\s*\\"GoVersion\\":'>) } {(--ignore-matching-line) (Lit_Other '=') (SQ <'^\\s*\\"GodepVersion\\":'>)} {(--ignore-matching-lines) (Lit_Other '=') (SQ <'^\\s*\\"Comment\\":'>) } {(Godeps/Godeps.json)} {(${ VSub_Name _kubetmp) (/Godeps/Godeps.json)} ) ] ) left_token: <Left_CommandSub '$('> spids: [731 760] ) ) } spids: [729] ) ] spids: [729] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Your Godeps.json is different:'))}) (C {(echo)} {(DQ (${ VSub_Name _out))}) (C {(echo)} {(DQ ('Godeps Verify failed.'))}) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name _out))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(godepdiff.patch)} spids: [798] ) ] ) (C {(echo)} { (DQ ("If you're seeing this locally, run the below command to fix your Godeps.json:")) } ) (C {(echo)} {(DQ ('patch -p0 < godepdiff.patch'))}) (C {(echo)} { (DQ ( "(The above output can be saved as godepdiff.patch if you're not running this locally)" ) ) } ) (C {(echo)} { (DQ ( '(The patch file should also be exported as a build artifact if run through CI)' ) ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:KEEP_TMP) op:Equal rhs:{(true)} spids:[831])] spids: [831] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id:BoolUnary_f child:{(godepdiff.patch)}) right: (BoolUnary op_id: BoolUnary_d child: { (DQ (BracedVarSub token: <VSub_Name ARTIFACTS_DIR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [848 851] ) ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Copying patch to artifacts..'))}) (C {(cp)} {(godepdiff.patch)} { (DQ (BracedVarSub token: <VSub_Name ARTIFACTS_DIR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [872 875] ) (/) ) } ) ] spids: [16777215 857] ) ] spids: [16777215 880] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[883])] spids: [883] ) ] spids: [16777215 764] ) ] spids: [16777215 887] ) (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_out) op: Equal rhs: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(diff)} {(-Naupr)} {(-x)} {(DQ (BUILD))} {(-x)} {(DQ ('AUTHORS*'))} {(-x)} {(DQ ('CONTRIBUTORS*'))} {(vendor)} {(${ VSub_Name _kubetmp) (/vendor)} ) ] ) left_token: <Left_CommandSub '$('> spids: [897 926] ) ) } spids: [895] ) ] spids: [895] ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Your vendored results are different:'))}) (C {(echo)} {(DQ (${ VSub_Name _out))}) (C {(echo)} {(DQ ('Godeps Verify failed.'))}) (SimpleCommand words: [{(echo)} {(DQ (${ VSub_Name _out))}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(vendordiff.patch)} spids: [964] ) ] ) (C {(echo)} { (DQ ("If you're seeing this locally, run the below command to fix your directories:")) } ) (C {(echo)} {(DQ ('patch -p0 < vendordiff.patch'))}) (C {(echo)} { (DQ ( "(The above output can be saved as godepdiff.patch if you're not running this locally)" ) ) } ) (C {(echo)} { (DQ ( '(The patch file should also be exported as a build artifact if run through CI)' ) ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:KEEP_TMP) op:Equal rhs:{(true)} spids:[997])] spids: [997] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id:BoolUnary_f child:{(vendordiff.patch)}) right: (BoolUnary op_id: BoolUnary_d child: { (DQ (BracedVarSub token: <VSub_Name ARTIFACTS_DIR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [1014 1017] ) ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Copying patch to artifacts..'))}) (C {(cp)} {(vendordiff.patch)} { (DQ (BracedVarSub token: <VSub_Name ARTIFACTS_DIR> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [1038 1041] ) (/) ) } ) ] spids: [16777215 1023] ) ] spids: [16777215 1046] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[1049])] spids: [1049] ) ] spids: [16777215 930] ) ] spids: [16777215 1053] ) (SimpleCommand words: [{(popd)}] redirects: [ (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1057]) (Redir op_id:Redir_Great fd:16777215 arg_word:{(/dev/null)} spids:[1060]) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id:Redir_Great left:{(${ VSub_Name ret)} right:{(0)}) ) terminator: <Op_Semi ';'> ) ] action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(${ VSub_Name ret)})] spids: [16777215 1080] ) ] spids: [16777215 1089] ) (C {(echo)} {(DQ ('Godeps Verified.'))}) ] )