Add --use-remoteexec option to build_aar.py
build_aar.py is used at "build android archive" step.
This script also needs to support reclient.
Bug: b/243628179
Change-Id: Ic95058195db0b97109150a009fe44f87c5ebf2d1
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/273600
Auto-Submit: Junji Watanabe <jwata@google.com>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Reviewed-by: Takuto Ikuta <tikuta@google.com>
Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/main@{#37960}
diff --git a/tools_webrtc/android/build_aar.py b/tools_webrtc/android/build_aar.py
index de5fe2f..32a9ed6 100755
--- a/tools_webrtc/android/build_aar.py
+++ b/tools_webrtc/android/build_aar.py
@@ -68,6 +68,10 @@
action='store_true',
default=False,
help='Use goma.')
+ parser.add_argument('--use-remoteexec',
+ action='store_true',
+ default=False,
+ help='Use RBE.')
parser.add_argument('--use-unstripped-libs',
action='store_true',
default=False,
@@ -163,8 +167,8 @@
raise Exception('Unknown arch: ' + arch)
-def Build(build_dir, arch, use_goma, extra_gn_args, extra_gn_switches,
- extra_ninja_switches):
+def Build(build_dir, arch, use_goma, use_remoteexe, extra_gn_args,
+ extra_gn_switches, extra_ninja_switches):
"""Generates target architecture using GN and builds it using ninja."""
logging.info('Building: %s', arch)
output_directory = _GetOutputDirectory(build_dir, arch)
@@ -174,7 +178,8 @@
'is_component_build': False,
'rtc_include_tests': False,
'target_cpu': _GetTargetCpu(arch),
- 'use_goma': use_goma
+ 'use_goma': use_goma,
+ 'use_remoteexec': use_remoteexe,
}
arm_version = _GetArmVersion(arch)
if arm_version:
@@ -187,7 +192,7 @@
_RunGN(gn_args_list)
ninja_args = TARGETS[:]
- if use_goma:
+ if use_goma or use_remoteexe:
ninja_args.extend(['-j', '200'])
ninja_args.extend(extra_ninja_switches)
_RunNinja(output_directory, ninja_args)
@@ -223,6 +228,7 @@
def BuildAar(archs,
output_file,
use_goma=False,
+ use_remoteexe=False,
extra_gn_args=None,
ext_build_dir=None,
extra_gn_switches=None,
@@ -234,8 +240,8 @@
build_dir = ext_build_dir if ext_build_dir else tempfile.mkdtemp()
for arch in archs:
- Build(build_dir, arch, use_goma, extra_gn_args, extra_gn_switches,
- extra_ninja_switches)
+ Build(build_dir, arch, use_goma, use_remoteexe, extra_gn_args,
+ extra_gn_switches, extra_ninja_switches)
with zipfile.ZipFile(output_file, 'w') as aar_file:
# Architecture doesn't matter here, arbitrarily using the first one.
@@ -254,9 +260,9 @@
args = _ParseArgs()
logging.basicConfig(level=logging.DEBUG if args.verbose else logging.INFO)
- BuildAar(args.arch, args.output, args.use_goma, args.extra_gn_args,
- args.build_dir, args.extra_gn_switches, args.extra_ninja_switches,
- args.use_unstripped_libs)
+ BuildAar(args.arch, args.output, args.use_goma, args.use_remoteexe,
+ args.extra_gn_args, args.build_dir, args.extra_gn_switches,
+ args.extra_ninja_switches, args.use_unstripped_libs)
if __name__ == '__main__':