(CommandList children: [ (C {(set)} {(-e)}) (C {(.)} { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(${ VSub_Number 0)})]) left_token: <Left_CommandSub "$("> spids: [24 30] ) (/atexit.sh) } ) (C {(.)} { (CommandSubPart command_list: (CommandList children:[(C {(dirname)} {(${ VSub_Number 0)})]) left_token: <Left_CommandSub "$("> spids: [39 45] ) (/colors.sh) } ) (AndOr children: [ (C {(test)} {(${ VSub_Pound "#")} {(-eq)} {(2)}) (BraceGroup children: [ (Sentence child: (C {(echo)} { (DQ ("Usage: ") (CommandSubPart command_list: (CommandList children:[(C {(basename)} {(${ VSub_Number 0)})]) left_token: <Left_Backtick "`"> spids: [69 75] ) (" [version] [candidate]") ) } ) terminator: <Op_Semi ";"> ) (Sentence child:(C {(exit)} {(1)}) terminator:<Op_Semi ";">) ] spids: [63] ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:VERSION) op:Equal rhs:{(${ VSub_Number 1)} spids:[88])] spids: [88] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:CANDIDATE) op:Equal rhs:{(${ VSub_Number 2)} spids:[93])] spids: [93] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TAG) op: Equal rhs: {(DQ (${ VSub_Name VERSION) (-rc) (${ VSub_Name CANDIDATE))} spids: [98] ) ] spids: [98] ) (C {(echo)} { (DQ (${ VSub_Name GREEN) ("Releasing mesos-") (${ VSub_Name TAG) (" as mesos-") (${ VSub_Name VERSION) (${ VSub_Name NORMAL) ) } ) (C {(read)} {(-p)} {(DQ ("Hit enter to continue ... "))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:WORK_DIR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(-d)} {(/tmp/mesos-release-XXXX)})] ) left_token: <Left_Backtick "`"> spids: [140 146] ) } spids: [139] ) ] spids: [139] ) (C {(atexit)} {(DQ ("rm -rf ") (${ VSub_Name WORK_DIR))}) (C {(pushd)} {(${ VSub_Name WORK_DIR)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SVN_DEV_REPO) op: Equal rhs: {(DQ ("https://dist.apache.org/repos/dist/dev/mesos"))} spids: [165] ) ] spids: [165] ) (C {(echo)} { (DQ (${ VSub_Name GREEN) ("Downloading the artifacts from the dev repo ...") (${ VSub_Name NORMAL) ) } ) (C {(svn)} {(export)} {(${ VSub_Name SVN_DEV_REPO) (/) (${ VSub_Name TAG)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SVN_RELEASE_REPO) op: Equal rhs: {(DQ ("https://dist.apache.org/repos/dist/release/mesos"))} spids: [196] ) ] spids: [196] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SVN_RELEASE_LOCAL) op: Equal rhs: {(DQ (${ VSub_Name WORK_DIR) (/release))} spids: [201] ) ] spids: [201] ) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Checking out svn release repo ...") (${ VSub_Name NORMAL))}) (C {(svn)} {(co)} {(--depth) (Lit_Other "=") (empty)} {(${ VSub_Name SVN_RELEASE_REPO)} {(${ VSub_Name SVN_RELEASE_LOCAL)} ) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Uploading the artifacts (the distribution,"))} {(DQ ("signature, and MD5) to the release repo ") (${ VSub_Name NORMAL))} ) (C {(mv)} {(${ VSub_Name TAG)} {(${ VSub_Name SVN_RELEASE_LOCAL) (/) (${ VSub_Name VERSION)}) (C {(pushd)} {(${ VSub_Name SVN_RELEASE_LOCAL)}) (C {(svn)} {(add)} {(${ VSub_Name VERSION)}) (C {(svn)} {(commit)} {(-m)} {(DQ ("Adding mesos-") (${ VSub_Name VERSION) (.))}) (C {(popd)}) (C {(popd)}) (C {(echo)} { (DQ (${ VSub_Name GREEN) ("Tagging ") (${ VSub_Name TAG) (" as ") (${ VSub_Name VERSION) (" ") (${ VSub_Name NORMAL) ) } ) (C {(git)} {(tag)} {(${ VSub_Name VERSION)} {(${ VSub_Name TAG)}) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Pushing the git tag to the repository...") (${ VSub_Name NORMAL))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MESOS_GIT_URL) op: Equal rhs: {(DQ ("https://git-wip-us.apache.org/repos/asf/mesos.git"))} spids: [369] ) ] spids: [369] ) (C {(git)} {(push)} {(${ VSub_Name MESOS_GIT_URL)} {(${ VSub_Name VERSION)}) (C {(echo)} { (DQ (${ VSub_Name GREEN) ("Successfully published artifacts to svn release repo ...") (${ VSub_Name NORMAL) ) } ) (C {(echo)} { (DQ (${ VSub_Name GREEN) ("Please *release* the staging maven repository that contains the mesos jar ...") (${ VSub_Name NORMAL) ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:input) op:Equal rhs:{(DQ )} spids:[414])] spids: [414] ) (While cond: [ (Sentence child: (C {(Lit_Other "[")} {(KW_Bang "!")} { (BracedVarSub token: <VSub_Name input> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [424 428] ) } {(Lit_Other "=")} {(DQ (y))} {(Lit_Other "]")} ) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (C {(read)} {(-p)} {(DQ ("Have you released the maven repository? (y/n): "))} {(input)}) (AndOr children: [ (C {(Lit_Other "[")} { (BracedVarSub token: <VSub_Name input> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(n)}) spids: [455 459] ) } {(Lit_Other "=")} {(DQ (y))} {(Lit_Other "]")} ) (C {(echo)} {(DQ ("Please release the staging maven repository before continuing"))}) ] op_id: Op_DPipe ) ] spids: [439 477] ) ) (C {(echo)} { (DQ (${ VSub_Name GREEN) ("Success! Now send the following RESULT VOTE email ...") (${ VSub_Name NORMAL) ) } ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MESSAGE) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: -1 body: { (DQ ("To: dev@mesos.apache.org, user@mesos.apache.org\n") ("Subject: [RESULT][VOTE] Release Apache Mesos ") (${ VSub_Name VERSION) (" (rc") (${ VSub_Name CANDIDATE) (")\n") ("\n") ("Hi all,\n") ("\n") ("The vote for Mesos ") (${ VSub_Name VERSION) (" (rc") (${ VSub_Name CANDIDATE) (") has passed with the\n") ("following votes.\n") ("\n") ("+1 (Binding)\n") ("------------------------------\n") ("***\n") ("***\n") ("***\n") ("\n") ("+1 (Non-binding)\n") ("------------------------------\n") ("***\n") ("***\n") ("***\n") ("\n") ("There were no 0 or -1 votes.\n") ("\n") ("Please find the release at:\n") (${ VSub_Name SVN_RELEASE_REPO) (/) (${ VSub_Name VERSION) ("\n") ("\n") ("It is recommended to use a mirror to download the release:\n") ("http://www.apache.org/dyn/closer.cgi\n") ("\n") ("The CHANGELOG for the release is available at:\n") ( "https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=blob_plain;f=CHANGELOG;hb=" ) (${ VSub_Name VERSION) ("\n") ("\n") ("The mesos-") (${ VSub_Name VERSION) (".jar has been released to:\n") ("https://repository.apache.org\n") ("\n") ( "The website (http://mesos.apache.org) will be updated shortly to reflect this release.\n" ) ("\n") ("Thanks,\n") ) } do_expansion: True here_end: __EOF__ was_filled: True spids: [500] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [497 571] ) } spids: [496] ) ] spids: [496] ) (C {(echo)} {(DQ (${ VSub_Name MESSAGE))}) (C {(exit)} {(0)}) ] )