(command.CommandList children: [ (C {<set>} {<-e>}) (C {<.>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(${ Id.VSub_Number 0)}) ) <'/atexit.sh'> } ) (C {<.>} { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {(${ Id.VSub_Number 0)}) ) <'/colors.sh'> } ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {(${ Id.VSub_Pound '#')} {<-eq>} {<2>}) (BraceGroup children: [ (command.Sentence child: (C {<echo>} { (DQ <'Usage: '> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<basename>} {(${ Id.VSub_Number 0)}) ) <' [version] [candidate]'> ) } ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) terminator: <Id.Op_Semi _> ) ] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:VERSION) op: assign_op.Equal rhs: {(${ Id.VSub_Number 1)} spids: [90] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CANDIDATE) op: assign_op.Equal rhs: {(${ Id.VSub_Number 2)} spids: [95] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TAG) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name VERSION) <-rc> (${ Id.VSub_Name CANDIDATE))} spids: [100] ) ] ) (C {<echo>} {(DQ (${ Id.VSub_Name GREEN) <'Tagging '> (${ Id.VSub_Name TAG) (${ Id.VSub_Name NORMAL))} ) (C {<read>} {<-p>} {(DQ <'Hit enter to continue ... '>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:WORK_DIR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<mktemp>} {<-d>} {<'/tmp/mesos-tag-XXXX'>}) ) } spids: [137] ) ] ) (C {<atexit>} {(DQ <'rm -rf '> (${ Id.VSub_Name WORK_DIR))}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MESOS_GIT_LOCAL) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.CommandList children: [ (command.Sentence child: (C {<cd>} { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<dirname>} {($ Id.VSub_Number '$0')}) ) ) <'/..'> } ) terminator: <Id.Op_Semi _> ) (C {<pwd>}) ] ) ) } spids: [161] ) ] ) (C {<pushd>} {(${ Id.VSub_Name WORK_DIR)}) (C {<git>} {<clone>} {<--shared>} {(${ Id.VSub_Name MESOS_GIT_LOCAL)} {<--branch>} {(${ Id.VSub_Name TAG)} {<mesos>} ) (C {<pushd>} {<mesos>}) (C {<echo>} {(DQ <'Confirming that configure.ac contains '> (${ Id.VSub_Name VERSION))}) (C {<grep>} { (DQ <Id.Lit_BadBackslash '\\'> <'[mesos'> <Id.Lit_BadBackslash '\\'> <'], '> <Id.Lit_BadBackslash '\\'> <'['> (${ Id.VSub_Name VERSION) <Id.Lit_BadBackslash '\\'> <']'> ) } {<configure.ac>} ) (C {<echo>} { (DQ (${ Id.VSub_Name GREEN) <'Updating configure.ac to include the release candidate.'> (${ Id.VSub_Name NORMAL) ) } ) (C {<sed>} {<-i>} {(SQ )} { (DQ <'s/'> <Id.Lit_BadBackslash '\\'> <'[mesos'> <Id.Lit_BadBackslash '\\'> <'], '> <Id.Lit_BadBackslash '\\'> <'[.*'> <Id.Lit_BadBackslash '\\'> <']/[mesos], ['> (${ Id.VSub_Name TAG) <']/'> ) } {<configure.ac>} ) (C {<'./bootstrap'>}) (C {<mkdir>} {<build>}) (C {<pushd>} {<build>}) (C {<'../configure'>} {<--disable-optimize>}) (C {<pushd>} {<3rdparty>}) (C {<make>} {<-j3>}) (C {<popd>}) (C {<make>} {<-j3>} {<maven-install>}) (C {<mvn>} {<deploy>} {<-f>} {<'src/java/mesos.pom'>}) (C {<echo>} { (DQ (${ Id.VSub_Name GREEN) <'Successfully deployed the jar to staging maven repository ...'> (${ Id.VSub_Name NORMAL) ) } ) (C {<read>} {<-p>} {(DQ <'Please *close* and *release* the staging repository and hit enter to continue ...'>)} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:input) op: assign_op.Equal rhs: {(DQ )} spids: [357] ) ] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} { (braced_var_sub token: <Id.VSub_Name input> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<n>}) ) } {<Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (C {<read>} {<-p>} {(DQ <'Have you released the maven repository? (y/n): '>)} {<input>}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<Id.Lit_LBracket '['>} { (braced_var_sub token: <Id.VSub_Name input> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<n>}) ) } {<Id.Lit_Equals '='>} {(DQ <y>)} {<Id.Lit_RBracket ']'>} ) (C {<echo>} {(DQ <'Please release the staging maven repository before continuing'>)}) ] ) ] ) ) (C {<popd>}) (C {<echo>} { (DQ (${ Id.VSub_Name GREEN) <'Pushing the git tag to the repository...'> (${ Id.VSub_Name NORMAL) ) } ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MESOS_GIT_URL) op: assign_op.Equal rhs: {(DQ <'https://git-wip-us.apache.org/repos/asf/mesos.git'>)} spids: [442] ) ] ) (C {<git>} {<push>} {(${ Id.VSub_Name MESOS_GIT_URL)} {<'refs/tags/'> (${ Id.VSub_Name TAG)}) (C {<popd>}) (C {<popd>}) (C {<echo>} {(DQ (${ Id.VSub_Name GREEN) <'Success!'> (${ Id.VSub_Name NORMAL))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )