mirror of
https://chromium.googlesource.com/chromium/tools/depot_tools.git
synced 2026-01-11 10:41:31 +00:00
[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 <mheikal@chromium.org> Reviewed-by: Philipp Wollermann <philwo@google.com> Commit-Queue: Mohamed Heikal <mheikal@chromium.org>
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user