(command.CommandList children: [ (C {<readonly>} {<Id.Lit_VarLike 'GCS_BUCKET='> (DQ <'gs://kythe-builds'>)}) (command.ShFunction name: usage body: (BraceGroup children: [ (command.Simple words: [ {<echo>} { (DQ <'usage: '> (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<basename>} {(DQ ($ Id.VSub_Number '$0'))}) ) ) } ] redirects: [(redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) ] ) ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {($ Id.VSub_Pound '$#')} right: {<0>} ) ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<usage>}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [77 90] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:REPO) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<readlink>} {<-e>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(DQ ($ Id.VSub_Number '$0'))}) ) <'/..'> ) } ) ) ) } spids: [103] ) ] ) (C {<echo>} {(DQ <'Repository Root: '> ($ Id.VSub_DollarName '$REPO'))}) (C {<.>} {<'tools/modules/versions.sh'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NAME) op: assign_op.Equal rhs: {(DQ <llvm-> (${ Id.VSub_Name FULL_SHA))} spids: [135] ) ] ) (C {<echo>} {(DQ <'LLVM Version: '> ($ Id.VSub_DollarName '$FULL_SHA'))}) (C {<cd>} {(DQ ($ Id.VSub_DollarName '$REPO') <'/third_party/llvm'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP) op: assign_op.Equal rhs: {(DQ (command_sub left_token:<Id.Left_DollarParen '$('> child:(C {<mktemp>} {<-d>})))} spids: [159] ) ] ) (C {<trap>} {(DQ <'rm -rf \''> ($ Id.VSub_DollarName '$TMP') <'\''>)} {<EXIT>} {<ERR>} {<INT>}) (C {<tar>} {<czf>} {(DQ ($ Id.VSub_DollarName '$TMP') <'/'> ($ Id.VSub_DollarName '$NAME') <.tar.gz>)} {<llvm>} ) (C {<gsutil>} {<cp>} {(DQ ($ Id.VSub_DollarName '$TMP') <'/'> ($ Id.VSub_DollarName '$NAME') <.tar.gz>)} {(DQ (${ Id.VSub_Name GCS_BUCKET) <'/'>)} ) ] )