(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) ("Voting for mesos-") (${ VSub_Name VERSION) (" candidate ") (${ VSub_Name CANDIDATE) (${ VSub_Name NORMAL) ) } ) (C {(read)} {(-p)} {(DQ ("Hit enter to continue ... "))}) (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: [139] ) ] spids: [139] ) (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-vote-XXXX)})]) left_token: <Left_Backtick "`"> spids: [146 152] ) } spids: [145] ) ] spids: [145] ) (C {(atexit)} {(DQ ("rm -rf ") (${ VSub_Name WORK_DIR))}) (C {(pushd)} {(${ VSub_Name WORK_DIR)}) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Checking out ") (${ VSub_Name TAG) (${ VSub_Name NORMAL))}) (C {(git)} {(clone)} {(--depth)} {(1)} {(--branch)} {(${ VSub_Name TAG)} {(${ VSub_Name MESOS_GIT_URL)}) (C {(pushd)} {(mesos)}) (C {(grep)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) (mesos) (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) (", ") (EscapedLiteralPart token:<Lit_EscapedChar "\\[">) (${ VSub_Name VERSION) (EscapedLiteralPart token:<Lit_EscapedChar "\\]">) ) } {(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 (${ VSub_Name GREEN) ("Successfully deployed the jar to staging maven repository ...") (${ VSub_Name NORMAL) ) } ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MAVEN_REPO) op:Equal rhs:{(DQ )} spids:[303])] spids: [303] ) (While cond: [ (Sentence child: (C {(Lit_Other "[")} {(-z)} {(${ VSub_Name MAVEN_REPO)} {(Lit_Other "]")}) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (C {(read)} {(-p)} {(DQ ("Please *close* the staging repository and provide its URL here: "))} {(MAVEN_REPO)} ) ] spids: [320 333] ) ) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Building the distribution ...") (${ VSub_Name NORMAL))}) (C {(make)} {(-j3)} {(dist)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:TARBALL) op: Equal rhs: {(mesos-) (${ VSub_Name VERSION) (.tar.gz)} spids: [358] ) ] spids: [358] ) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Signing the distribution ...") (${ VSub_Name NORMAL))}) (C {(gpg)} {(--armor)} {(--output)} {(${ VSub_Name TARBALL) (.asc)} {(--detach-sig)} {(${ VSub_Name TARBALL)} ) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Creating a MD5 checksum...") (${ VSub_Name NORMAL))}) (SimpleCommand words: [{(gpg)} {(--print-md)} {(MD5)} {(${ VSub_Name TARBALL)}] redirects: [ (Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name TARBALL) (.md5)} spids:[426]) ] ) (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: [434] ) ] spids: [434] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:SVN_DEV_LOCAL) op: Equal rhs: {(DQ (${ VSub_Name WORK_DIR) (/dev))} spids: [439] ) ] spids: [439] ) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Checking out svn dev repo ...") (${ VSub_Name NORMAL))}) (C {(svn)} {(co)} {(--depth) (Lit_Other "=") (empty)} {(${ VSub_Name SVN_DEV_REPO)} {(${ VSub_Name SVN_DEV_LOCAL)} ) (C {(echo)} {(DQ (${ VSub_Name GREEN) ("Uploading the artifacts (the distribution,"))} {(DQ ("signature, and MD5) ...") (${ VSub_Name NORMAL))} ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:RELEASE_DIRECTORY) op: Equal rhs: {(DQ (${ VSub_Name SVN_DEV_LOCAL) (/) (${ VSub_Name TAG))} spids: [503] ) ] spids: [503] ) (C {(mkdir)} {(${ VSub_Name RELEASE_DIRECTORY)}) (C {(mv)} {(${ VSub_Name TARBALL)} {(${ VSub_Name TARBALL) (.asc)} {(${ VSub_Name TARBALL) (.md5)} {(${ VSub_Name RELEASE_DIRECTORY)} ) (C {(popd)}) (C {(popd)}) (C {(pushd)} {(${ VSub_Name SVN_DEV_LOCAL)}) (C {(svn)} {(add)} {(${ VSub_Name TAG)}) (C {(svn)} {(commit)} {(-m)} {(DQ ("Adding mesos-") (${ VSub_Name TAG) (.))}) (C {(popd)}) (C {(popd)}) (C {(echo)} { (DQ (${ VSub_Name GREEN) ("Success! Now send the following 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: [VOTE] Release Apache Mesos ") (${ VSub_Name VERSION) (" (rc") (${ VSub_Name CANDIDATE) (")\n") ("\n") ("Hi all,\n") ("\n") ( "Please vote on releasing the following candidate as Apache Mesos " ) (${ VSub_Name VERSION) (".\n") ("\n") ("\n") (${ VSub_Name VERSION) (" includes the following:\n") ( "--------------------------------------------------------------------------------\n" ) ("*****Announce major features here*****\n") ("*****Announce major bug fixes here*****\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 TAG) ("\n") ("--------------------------------------------------------------------------------\n") ("\n") ("The candidate for Mesos ") (${ VSub_Name VERSION) (" release is available at:\n") (${ VSub_Name SVN_DEV_REPO) (/) (${ VSub_Name TAG) (/) (${ VSub_Name TARBALL) ("\n") ("\n") ("The tag to be voted on is ") (${ VSub_Name TAG) (":\n") ( "https://git-wip-us.apache.org/repos/asf?p=mesos.git;a=commit;h=" ) (${ VSub_Name TAG) ("\n") ("\n") ("The MD5 checksum of the tarball can be found at:\n") (${ VSub_Name SVN_DEV_REPO) (/) (${ VSub_Name TAG) (/) (${ VSub_Name TARBALL) (".md5\n") ("\n") ("The signature of the tarball can be found at:\n") (${ VSub_Name SVN_DEV_REPO) (/) (${ VSub_Name TAG) (/) (${ VSub_Name TARBALL) (".asc\n") ("\n") ("The PGP key used to sign the release is here:\n") ("https://dist.apache.org/repos/dist/release/mesos/KEYS\n") ("\n") ("The JAR is up in Maven in a staging repository here:\n") (${ VSub_Name MAVEN_REPO) ("\n") ("\n") ("Please vote on releasing this package as Apache Mesos ") (${ VSub_Name VERSION) ("!\n") ("\n") ("The vote is open until ") (CommandSubPart command_list: (CommandList children: [(C {(date)} {(-v) (Lit_Other "+") (3d)})] ) left_token: <Left_Backtick "`"> spids: [726 732] ) (" and passes if a majority of at least 3 +1 PMC votes are cast.\n") ("\n") ("[ ] +1 Release this package as Apache Mesos ") (${ VSub_Name VERSION) ("\n") ("[ ] -1 Do not release this package because ...\n") ("\n") ("Thanks,\n") ) } do_expansion: True here_end: __EOF__ was_filled: True spids: [614] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [611 743] ) } spids: [610] ) ] spids: [610] ) (C {(echo)} {(DQ (${ VSub_Name MESSAGE))}) (C {(exit)} {(0)}) ] )