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()