(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: [-1 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:-1 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:-1 arg_word:{(/dev/null)} spids:[218])] ) (C {(git)} {(checkout)} {(DQ (${ VSub_Name sha))}) (SimpleCommand words: [{(popd)}] redirects: [(Redir op_id:Redir_Great fd:-1 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 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: True ) (AndOr children: [ (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: True ) (AndOr children: [ (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: True ) (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: True ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) terminator: <Op_Semi ";"> ) ] action: [(C {(exit)} {(0)})] spids: [-1 372] ) ] spids: [-1 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: [-1 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: [-1 447] ) ] spids: [-1 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: [-1 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 children: [(C {(cd)} {(DQ (${ VSub_Name _kubetmp))}) (C {(tar)} {(xf)} {(-)})] op_id: Op_DAmp ) spids: [586 602] ) ] negated: False ) (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:-1 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:-1 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:-1 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:-1 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: True ) 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:-1 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:{(SQ )}) 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:{(SQ )}) spids: [872 875] ) (/) ) } ) ] spids: [-1 857] ) ] spids: [-1 880] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[883])] spids: [883] ) ] spids: [-1 764] ) ] spids: [-1 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: True ) 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:-1 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:{(SQ )}) 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:{(SQ )}) spids: [1038 1041] ) (/) ) } ) ] spids: [-1 1023] ) ] spids: [-1 1046] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(1)} spids:[1049])] spids: [1049] ) ] spids: [-1 930] ) ] spids: [-1 1053] ) (SimpleCommand words: [{(popd)}] redirects: [ (Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[1057]) (Redir op_id:Redir_Great fd:-1 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: [(C {(exit)} {(${ VSub_Name ret)})] spids: [-1 1080] ) ] spids: [-1 1089] ) (C {(echo)} {(DQ ("Godeps Verified."))}) ] )