(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (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: [64 72] ) (/..) } spids: [63] ) ] spids: [63] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))}) (C {(kube) (Lit_Other ':') (Lit_Other ':') (golang) (Lit_Other ':') (Lit_Other ':') (setup_env)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SPECROOT) op: Equal rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/federation/apis/openapi-spec))} spids: [94] ) ] spids: [94] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TMP_SPECROOT) op: Equal rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/_tmp_federation/openapi-spec))} spids: [102] ) ] spids: [102] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_tmp) op: Equal rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/_tmp_federation))} spids: [110] ) ] spids: [110] ) (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name _tmp))}) (C {(cp)} {(-a)} {(DQ (${ VSub_Name SPECROOT))} {(DQ (${ VSub_Name TMP_SPECROOT))}) (C {(trap)} { (DQ ('cp -a ') (${ VSub_Name TMP_SPECROOT) (' ') (${ VSub_Name SPECROOT) ('/..; rm -rf ') (${ VSub_Name _tmp) ) } {(EXIT)} {(SIGINT)} ) (C {(rm)} {(${ VSub_Name SPECROOT) (/) (Lit_Other '*')}) (C {(DQ (${ VSub_Name KUBE_ROOT) (/hack/update-federation-openapi-spec.sh))}) (C {(echo)} { (DQ ('diffing ') (${ VSub_Name SPECROOT) (' against freshly generated federation openapi spec')) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{(0)} spids:[192])] spids: [192] ) (AndOr children: [ (C {(diff)} {(-Naupr)} {(-I)} {(SQ <'Auto generated by'>)} {(DQ (${ VSub_Name SPECROOT))} {(DQ (${ VSub_Name TMP_SPECROOT))} ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:ret) op:Equal rhs:{($ VSub_QMark '$?')} spids:[219])] spids: [219] ) ] op_id: Op_DPipe ) (If arms: [ (if_arm cond: [ (DBracket expr: (BoolBinary op_id:BoolBinary_eq left:{($ VSub_Name '$ret')} right:{(0)}) ) ] action: [(C {(echo)} {(DQ (${ VSub_Name SPECROOT) (' up to date.'))})] spids: [16777215 234] ) ] else_action: [ (C {(echo)} { (DQ (${ VSub_Name SPECROOT) (' is out of date. Please run hack/update-federation-openapi-spec.sh') ) } ) (C {(exit)} {(1)}) ] spids: [246 263] ) ] )