(command.CommandList children: [ (command.ShFunction name: add_dependency_override body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'name='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'path='> ($ Id.VSub_Number '$2')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (C {<cat>} {<pubspec.yaml>}) (C {<grep>} {(DQ <'dependency_overrides:'>)}) ] negated: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<echo>} {(DQ <'dependency_overrides:'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<pubspec.yaml>} ) ] do_fork: T ) ] spids: [25 43] ) ] ) (C {<local>} {<Id.Lit_VarLike 'pubspec='> (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<cat>} {<pubspec.yaml>}) (C {<grep>} {<-v>} {(DQ ($ Id.VSub_DollarName '$name') <': .path: '>)}) ] negated: F ) ) } ) (command.Simple words: [{<echo>} {(DQ ($ Id.VSub_DollarName '$pubspec'))}] redirects: [(redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<pubspec.yaml>})] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_n child: {(DQ ($ Id.VSub_DollarName '$path'))} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} { (DQ <' '> ($ Id.VSub_DollarName '$name') <': {path: '> ($ Id.VSub_DollarName '$path') <'}'> ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<pubspec.yaml>} ) ] do_fork: T ) ] spids: [94 107] ) ] ) ] ) ) (command.ShFunction name: checkout_dependency_override_from_github body: (BraceGroup children: [ (C {<local>} {<Id.Lit_VarLike 'dependency_name='> ($ Id.VSub_Number '$1')}) (C {<local>} {<Id.Lit_VarLike 'org_project='> ($ Id.VSub_Number '$2')}) (C {<local>} {<Id.Lit_VarLike 'branch='> ($ Id.VSub_Number '$3')}) (C {<local>} {<Id.Lit_VarLike 'path='> (braced_var_sub token: <Id.VSub_Number 4> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<Id.Lit_Slash '/'>} ) ) } ) (C {<local>} {<Id.Lit_VarLike 'url='> <https> <Id.Lit_Colon ':'> <'//github.com/'> ($ Id.VSub_DollarName '$org_project') } ) (C {<echo>} { (DQ <'** Checking out '> ($ Id.VSub_DollarName '$dependency_name') <' override from '> ($ Id.VSub_DollarName '$url') ($ Id.VSub_DollarName '$path') <'#'> ($ Id.VSub_DollarName '$branch') ) } ) (C {<Id.Lit_Colon ':'>} { (braced_var_sub token: <Id.VSub_Name TMPDIR> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonEquals ':='> arg_word:{(DQ <'/tmp'>)}) ) } ) (C {<local>} {<Id.Lit_VarLike 'dep_dir='> ($ Id.VSub_DollarName '$TMPDIR') <'/dependency_overrides/'> ($ Id.VSub_DollarName '$dependency_name') } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_d child: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {($ Id.VSub_DollarName '$dep_dir')}) ) } ) ) (C {<mkdir>} { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<dirname>} {($ Id.VSub_DollarName '$dep_dir')}) ) } ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_d child: {($ Id.VSub_DollarName '$dep_dir')} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Subshell child: (command.CommandList children: [ (C {<cd>} {($ Id.VSub_DollarName '$dep_dir')}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (C {<git>} {<status>} {<-s>}) (C {<grep>} {<.>}) ] negated: F ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<echo>} { (DQ <'Found local modifications in '> ($ Id.VSub_DollarName '$dep_dir') <': aborting'> ) } ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [266 282] ) ] ) ] ) ) (C {<rm>} {<-fR>} {($ Id.VSub_DollarName '$dep_dir')}) ] spids: [240 251] ) ] ) (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_DollarName '$path'))} right: {(DQ <'/'>)} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<git>} {<clone>} {<--depth>} {<1>} {<--branch>} {($ Id.VSub_DollarName '$branch')} {($ Id.VSub_DollarName '$url')} {($ Id.VSub_DollarName '$dep_dir')} ) ] spids: [316 333] ) ] else_action: [ (command.Subshell child: (command.CommandList children: [ (C {<mkdir>} {($ Id.VSub_DollarName '$dep_dir')}) (C {<cd>} {($ Id.VSub_DollarName '$dep_dir')}) (C {<git>} {<init>}) (C {<git>} {<remote>} {<add>} {<origin>} {($ Id.VSub_DollarName '$url')}) (C {<git>} {<config>} {<core.sparsecheckout>} {<true>}) (command.Simple words: [{<echo>} {($ Id.VSub_DollarName '$path')}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'.git/info/sparse-checkout'>} ) ] do_fork: T ) (C {<git>} {<pull>} {<--depth> <Id.Lit_Equals '='> <1>} {<origin>} {($ Id.VSub_DollarName '$branch')} ) ] ) ) ] ) (C {<add_dependency_override>} {($ Id.VSub_DollarName '$dependency_name')} {($ Id.VSub_DollarName '$dep_dir') ($ Id.VSub_DollarName '$path')} ) ] ) ) ] )