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}
This commit is contained in:
committed by
WebRTC LUCI CQ
parent
8bff1a81cb
commit
1a7dd713bf
@ -68,6 +68,10 @@ def _ParseArgs():
|
||||
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 @@ def _GetArmVersion(arch):
|
||||
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 @@ def Build(build_dir, arch, use_goma, extra_gn_args, extra_gn_switches,
|
||||
'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 @@ def Build(build_dir, arch, use_goma, extra_gn_args, extra_gn_switches,
|
||||
_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 GenerateLicenses(output_dir, build_dir, archs):
|
||||
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 @@ def BuildAar(archs,
|
||||
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 @@ def main():
|
||||
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__':
|
||||
|
||||
Reference in New Issue
Block a user