From 678f73bd0e221ed8492033d88b4205707ebbc844 Mon Sep 17 00:00:00 2001 From: Mohamed Heikal Date: Wed, 26 Feb 2025 09:05:49 -0800 Subject: [PATCH] [autoninja] Pass the output directory to the build server When registering the build with the build server, pass in the output directory. Change-Id: Ie6ed0bf5d73926fb163085067aafcd350063ee5a Reviewed-on: https://chromium-review.googlesource.com/c/chromium/tools/depot_tools/+/6249305 Auto-Submit: Mohamed Heikal Reviewed-by: Philipp Wollermann Commit-Queue: Mohamed Heikal --- android_build_server_helper.py | 10 ++++++---- autoninja.py | 7 +++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/android_build_server_helper.py b/android_build_server_helper.py index a75ce0ce8..f4e6e049a 100644 --- a/android_build_server_helper.py +++ b/android_build_server_helper.py @@ -13,10 +13,12 @@ import gclient_paths # Keeps track of whether our SIGINT handler was called. _is_canceled = False -def _register_build_id(local_dev_server_path, build_id): + +def _register_build_id(local_dev_server_path, build_id, out_dir): subprocess.run([ local_dev_server_path, '--register-build-id', build_id, '--builder-pid', - str(os.getpid()) + str(os.getpid()), '--output-directory', + os.path.abspath(out_dir) ]) @@ -58,14 +60,14 @@ def _set_tty_env(): @contextlib.contextmanager -def build_server_context(build_id, use_android_build_server=False): +def build_server_context(build_id, out_dir, use_android_build_server=False): if not use_android_build_server or not _set_tty_env(): yield return server_path = _get_server_path() _start_server(server_path) # Tell the build server about us. - _register_build_id(server_path, build_id) + _register_build_id(server_path, build_id, out_dir) _set_signal_handler(server_path, build_id) yield # No need to print status if we CTRL+Ced out. diff --git a/autoninja.py b/autoninja.py index 020401196..b6b9b8930 100755 --- a/autoninja.py +++ b/autoninja.py @@ -371,7 +371,9 @@ def _main_inner(input_args, build_id, should_collect_logs=False): # Build ID consistently used in other tools. e.g. Reclient, ninjalog. os.environ.setdefault("SISO_BUILD_ID", build_id) with android_build_server_helper.build_server_context( - build_id, use_android_build_server=use_android_build_server): + build_id, + output_dir, + use_android_build_server=use_android_build_server): if use_remoteexec: if use_reclient and not t_specified: return reclient_helper.run_siso( @@ -483,7 +485,8 @@ def _main_inner(input_args, build_id, should_collect_logs=False): _print_cmd(ninja_args) with android_build_server_helper.build_server_context( - build_id, use_android_build_server=use_android_build_server): + build_id, output_dir, + use_android_build_server=use_android_build_server): if use_reclient and not t_specified: return reclient_helper.run_ninja(ninja_args, should_collect_logs) return ninja.main(ninja_args)