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)