(command.CommandList children: [ (C {<set>} {<-o>} {<errexit>}) (C {<set>} {<-o>} {<nounset>}) (C {<set>} {<-o>} {<pipefail>}) (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 '$('> child: (C {<dirname>} {(DQ (${ Id.VSub_Name BASH_SOURCE))}) ) <'/..'> } spids: [63] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:staging_repos) op: assign_op.Equal rhs: { (sh_array_literal left: <Id.Op_LParen _> words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ls>} {(DQ (${ Id.VSub_Name KUBE_ROOT) <'/staging/src/k8s.io/'>)}) ) } ] ) } spids: [76] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:staging_repos_pattern) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ <'|'>)} spids: [92] ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} { (DQ (braced_var_sub token: <Id.VSub_Name staging_repos> bracket_op: (bracket_op.WholeArray op_id:Id.Arith_Star) ) ) } ) ] ) ) } spids: [90] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<false>} spids: [111] ) ] ) (command.ForEach iter_name: i iter_words: [ { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<find>} {<'vendor/'>} {<-type>} {<d>}) ) } ] do_arg_iter: F body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:deps) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<go>} {<list>} {<-f>} {(SQ <'{{range .Deps}}{{.}}{{"\\n"}}{{end}}'>)} {<'./'> ($ Id.VSub_DollarName '$i')} ] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<echo>} {(DQ )}) ] ) ) } spids: [134] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:deps_on_main) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {<echo>} {(DQ (${ Id.VSub_Name deps))}) (C {<grep>} {<-v>} {(DQ <'k8s.io/kubernetes/vendor/'>)}) (C {<grep>} {(DQ <'k8s.io/kubernetes'>)}) ] negated: F ) (C {<echo>} {(DQ )}) ] ) ) } spids: [162] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name deps_on_main))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'Package '> (${ Id.VSub_Name i) <' has a cyclic dependency on the main repository.'> ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<true>} spids: [228] ) ] ) ] spids: [199 214] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:deps_on_staging) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (C {<echo>} {(DQ (${ Id.VSub_Name deps))}) (C {<grep>} {(DQ <'k8s.io/kubernetes/vendor/k8s.io'>)}) (C {<grep>} {<-E>} { (DQ <k8s.io> <Id.Lit_BadBackslash '\\'> <'/'> (${ Id.VSub_Name staging_repos_pattern) <Id.Lit_BadBackslash '\\'> <'>'> ) } ) ] negated: F ) (C {<echo>} {(DQ )}) ] ) ) } spids: [235] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ (${ Id.VSub_Name deps_on_staging))} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'Package '> (${ Id.VSub_Name i) <' has a cyclic dependency on staging repository packages: '> (${ Id.VSub_Name deps_on_staging) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<true>} spids: [311] ) ] ) ] spids: [279 294] ) ] ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name failed))} right: {(DQ <true>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [320 339] ) ] ) ] )