Add send reviewer mail option to release script

Change-Id: I933ed38398523586b7e627afd3aed80f23029f89
diff --git a/tools/cherry-pick.py b/tools/cherry-pick.py
index fe6f3c8..b28441a 100755
--- a/tools/cherry-pick.py
+++ b/tools/cherry-pick.py
@@ -7,6 +7,8 @@
 import os
 import subprocess
 import sys
+
+import git_utils
 import utils
 
 VERSION_FILE = 'src/main/java/com/android/tools/r8/Version.java'
@@ -131,12 +133,6 @@
                 pass
 
 
-def reviewer_arg(reviewer):
-    if reviewer.find('@') == -1:
-        reviewer = reviewer + "@google.com"
-    return '--reviewer=' + reviewer
-
-
 def confirm_and_upload(local_branch_name, args, bugs):
     if not args.yes:
       question = ('Ready to continue (cwd %s, will not upload to Gerrit)' %
@@ -177,10 +173,7 @@
     cmd = ['git', 'cl', 'upload', '--bypass-hooks']
     if args.yes:
         cmd.append('-f')
-    if args.reviewer:
-        cmd.extend(map(reviewer_arg, args.reviewer))
-        if args.send_mail:
-            cmd.append('--send-mail')
+    git_utils.GitClAppendReviewers(cmd, args.reviewer, args.send_mail)
     if not args.no_upload:
         subprocess.run(cmd)
     else:
diff --git a/tools/git_utils.py b/tools/git_utils.py
index 764039d..4c15523 100644
--- a/tools/git_utils.py
+++ b/tools/git_utils.py
@@ -26,3 +26,16 @@
     utils.PrintCmd(cmd)
     with utils.ChangedWorkingDirectory(checkout_dir):
         return subprocess.check_output(cmd).strip().decode('utf-8')
+
+
+def _reviewer_arg(reviewer):
+    if reviewer.find('@') == -1:
+        reviewer = reviewer + "@google.com"
+    return '--reviewer=' + reviewer
+
+
+def GitClAppendReviewers(cmd, reviewer, send_mail):
+    if reviewer:
+        cmd.extend(map(_reviewer_arg, reviewer))
+        if send_mail:
+            cmd.append('--send-mail')
diff --git a/tools/r8_release.py b/tools/r8_release.py
index f7c957f..2694ffb 100755
--- a/tools/r8_release.py
+++ b/tools/r8_release.py
@@ -15,6 +15,7 @@
 import xml.etree.ElementTree
 import zipfile
 
+import git_utils
 import utils
 
 R8_DEV_BRANCH = '9.1'
@@ -155,6 +156,8 @@
                                              version)
 
                 cmd = ['git', 'cl', 'upload', '--no-squash', '--bypass-hooks']
+                git_utils.GitClAppendReviewers(cmd, args.reviewer, args.send_mail)
+
                 maybe_check_call(args, cmd)
 
                 if args.dry_run:
@@ -980,6 +983,17 @@
         help=('Prepare new branch for a version line (e.g. 8.0)'
              ' Suggested branch hash is calculated '
              ' if not explicitly specified'))
+    result.add_argument('--reviewer',
+                        metavar=('<reviewer(s)>'),
+                        default=[],
+                        action='append',
+                        help='Rewiever(s) for the cherry-pick(s) '
+                        '(adds @google.com if missing)')
+    result.add_argument('--send-mail',
+                        '--send_mail',
+                        default=False,
+                        action='store_true',
+                        help='Send Gerrit review request right away')
     result.add_argument('--dev-pre-cherry-pick',
                         metavar=('<main hash(s)>'),
                         default=[],