Add convenience wrapper for reclientreport for autoninja users

This is designed to be called by a developer when they want to submit an reclient bug report.
Developers could just call the //buildtools/reclient/reclientreport binary directly but this wrapper provides an easier way to set the same log flags that are set by ninja_reclient.
I dont think we should bundle this logic into autoninja as this is not required in 99% of builds.

Bug: b/277763387
Change-Id: I0204b6acc22f199b461ef710d0dfd07e05534af7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/4414921
Reviewed-by: Gavin Mak <gavinmak@google.com>
Commit-Queue: Gavin Mak <gavinmak@google.com>
Reviewed-by: Takuto Ikuta <tikuta@chromium.org>
Auto-Submit: Ben Segall <bentekkie@google.com>
diff --git a/ninja_reclient.py b/ninja_reclient.py
index 4f6cf2b..1ed00d8 100755
--- a/ninja_reclient.py
+++ b/ninja_reclient.py
@@ -72,10 +72,10 @@
   return '.'
 
 
-def set_reproxy_path_flags(out_dir):
+def set_reproxy_path_flags(out_dir, make_dirs=True):
   """Helper to setup the logs and cache directories for reclient
 
-  Creates the following directory structure:
+  Creates the following directory structure if make_dirs is true:
   out_dir/
     .reproxy_tmp/
       logs/
@@ -92,14 +92,15 @@
     RBE_server_address=pipe://md5(out_dir/.reproxy_tmp)/reproxy.pipe
   """
   tmp_dir = os.path.abspath(os.path.join(out_dir, '.reproxy_tmp'))
-  os.makedirs(tmp_dir, exist_ok=True)
   log_dir = os.path.join(tmp_dir, 'logs')
-  os.makedirs(log_dir, exist_ok=True)
+  cache_dir = os.path.join(tmp_dir, 'cache')
+  if make_dirs:
+    os.makedirs(tmp_dir, exist_ok=True)
+    os.makedirs(log_dir, exist_ok=True)
+    os.makedirs(cache_dir, exist_ok=True)
   os.environ.setdefault("RBE_output_dir", log_dir)
   os.environ.setdefault("RBE_proxy_log_dir", log_dir)
   os.environ.setdefault("RBE_log_dir", log_dir)
-  cache_dir = os.path.join(tmp_dir, 'cache')
-  os.makedirs(cache_dir, exist_ok=True)
   os.environ.setdefault("RBE_cache_dir", cache_dir)
   if sys.platform.startswith('win'):
     pipe_dir = hashlib.md5(tmp_dir.encode()).hexdigest()