(command.CommandList children: [ (C {(Id.KW_Set set)} {(-o)} {(errexit)}) (C {(Id.KW_Set set)} {(-o)} {(nounset)}) (C {(Id.KW_Set set)} {(-o)} {(pipefail)}) (C {(echo)} { (DQ ( 'Note: This assumes that swagger spec has been updated. Please run hack/update-federation-swagger-spec.sh to ensure that.' ) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:KUBE_ROOT) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {(dirname)} {(DQ (${ Id.VSub_Name BASH_SOURCE))})] ) ) (/..) } spids: [80] ) ] ) (C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/hack/lib/init.sh))}) (C {(source)} {(DQ (${ Id.VSub_Name KUBE_ROOT) (/hack/lib/swagger.sh))}) (C {(kube) (Id.Lit_Other ':') (Id.Lit_Other ':') (golang) (Id.Lit_Other ':') (Id.Lit_Other ':') (setup_env) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REPO_DIR) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name REPO_DIR> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {(DQ (${ Id.VSub_Name KUBE_ROOT))} ) ) } spids: [119] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:DEFAULT_OUTPUT) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name REPO_DIR) (/federation/docs/api-reference))} spids: [130] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OUTPUT) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Number 1> suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {(${ Id.VSub_Name DEFAULT_OUTPUT)} ) ) } spids: [138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SWAGGER_SPEC_PATH) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name REPO_DIR) (/federation/apis/swagger-spec))} spids: [148] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GROUP_VERSIONS) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen '('> words: [{(DQ (federation/v1beta1))} {(DQ (v1))} {(DQ (extensions/v1beta1))}] ) } spids: [157] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GV_DIRS) op: assign_op.Equal rhs: {(sh_array_literal left:<Id.Op_LParen '('>)} spids: [172] ) ] ) (command.ForEach iter_name: gv iter_words: [ { (DQ (braced_var_sub token: <Id.VSub_Name GROUP_VERSIONS> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(${ Id.VSub_Name gv)} right: {(DQ (federation/v1beta1))} ) ) terminator: <Id.Op_Semi ';'> ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GV_DIRS) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen '('> words: [ { (DQ (${ Id.VSub_Name REPO_DIR) (/) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(kube) (Id.Lit_Other ':') (Id.Lit_Other ':') (util) (Id.Lit_Other ':') (Id.Lit_Other ':') (group-version-to-pkg-path) } {(DQ (${ Id.VSub_Name gv))} ) ] ) ) ) } ] ) } spids: [215] ) ] ) ] spids: [195 212] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GV_DIRS) op: assign_op.PlusEqual rhs: { (sh_array_literal left: <Id.Op_LParen '('> words: [ { (DQ (${ Id.VSub_Name REPO_DIR) (/) (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {(kube) (Id.Lit_Other ':') (Id.Lit_Other ':') (util) (Id.Lit_Other ':') (Id.Lit_Other ':') (group-version-to-pkg-path) } {(DQ (${ Id.VSub_Name gv))} ) ] ) ) ) } ] ) } spids: [244] ) ] ) ] ) ] ) ) (command.Simple words: [ {(kube) (Id.Lit_Other ':') (Id.Lit_Other ':') (swagger) (Id.Lit_Other ':') (Id.Lit_Other ':') (gen_api_ref_docs) } {(DQ (${ Id.VSub_Name SWAGGER_SPEC_PATH))} {(DQ (${ Id.VSub_Name OUTPUT))} ] more_env: [ (env_pair name: GROUP_VERSIONS val: { (DQ (braced_var_sub token: <Id.VSub_Name GROUP_VERSIONS> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } spids: [275] ) (env_pair name: GV_DIRS val: { (DQ (braced_var_sub token: <Id.VSub_Name GV_DIRS> bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) ) ) } spids: [285] ) ] ) ] )