(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:BINS) op: Equal rhs: { (ArrayLiteralPart words: [ {(cmd/gendocs)} {(cmd/genkubedocs)} {(cmd/genman)} {(cmd/genyaml)} {(federation/cmd/genfeddocs)} ] ) } spids: [94] ) ] spids: [94] ) (C {(make)} {(-C)} {(DQ (${ VSub_Name KUBE_ROOT))} {(Lit_VarLike 'WHAT=') (DQ (BracedVarSub token: <VSub_Name BINS> bracket_op: (WholeArray op_id:Arith_Star) spids: [126 131] ) ) } ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (ensure-temp-dir)} ) (C {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') (gen-docs)} {(DQ (${ VSub_Name KUBE_TEMP))} ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobNEqual left: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(diff)} {(${ VSub_Name KUBE_ROOT) (/docs/.generated_docs)} {(${ VSub_Name KUBE_TEMP) (/docs/.generated_docs)} ) ] ) left_token: <Left_CommandSub '$('> spids: [167 179] ) ) } right: {(DQ )} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ ( "List of generated docs doesn't match a freshly built list. Please run hack/update-generated-docs.sh" ) ) } ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 190] ) ] spids: [16777215 204] ) (While cond: [(Sentence child:(C {(read)} {(file)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name file))} right: {(DQ (docs/.generated_docs))} ) ) (ControlFlow token:<ControlFlow_Continue continue>) ] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(grep)} {(DQ (hack/generate-docs.sh))} {(DQ (${ VSub_Name KUBE_ROOT) (/) (${ VSub_Name file))} ) ] ) left_token: <Left_CommandSub '$('> spids: [262 278] ) ) } right: {(DQ )} ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} { (DQ (${ VSub_Name file) ( " doesn't seem to have the correct boilerplate content for an autogenerated file." ) ) } ) (C {(echo)} {(DQ ('Please run hack/update-generated-docs.sh'))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 289] ) ] spids: [16777215 314] ) ] spids: [220 316] ) redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {(DQ (${ VSub_Name KUBE_ROOT) (/docs/.generated_docs))} spids: [318] ) ] ) ] )