mb: Generate gn args from mb_config rather than tools_webrtc/ios

Bug: webrtc:10253
Change-Id: I3ed7b7fd11d31c3697e637b477db7e9ec9677237
Reviewed-on: https://webrtc-review.googlesource.com/c/120404
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Commit-Queue: Oleh Prypin <oprypin@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#26483}
This commit is contained in:
Oleh Prypin 2019-01-29 16:18:30 +01:00 committed by Commit Bot
parent 2a96ab20b2
commit 82ac240040
2 changed files with 61 additions and 55 deletions

View File

@ -463,35 +463,18 @@ class MetaBuildWrapper(object):
return ' '.join(gn_args)
def Lookup(self):
vals = self.ReadIOSBotConfig()
if not vals:
self.ReadConfigFile()
config = self.ConfigFromArgs()
if config.startswith('//'):
if not self.Exists(self.ToAbsPath(config)):
raise MBErr('args file "%s" not found' % config)
vals = self.DefaultVals()
vals['args_file'] = config
else:
if not config in self.configs:
raise MBErr('Config "%s" not found in %s' %
(config, self.args.config_file))
vals = self.FlattenConfig(config)
return vals
def ReadIOSBotConfig(self):
if not self.args.master or not self.args.builder:
return {}
path = self.PathJoin(self.src_dir, 'tools_webrtc', 'ios', self.args.master,
self.args.builder.replace(' ', '_') + '.json')
if not self.Exists(path):
return {}
contents = json.loads(self.ReadFile(path))
gn_args = ' '.join(contents.get('gn_args', []))
vals = self.DefaultVals()
vals['gn_args'] = gn_args
self.ReadConfigFile()
config = self.ConfigFromArgs()
if config.startswith('//'):
if not self.Exists(self.ToAbsPath(config)):
raise MBErr('args file "%s" not found' % config)
vals = self.DefaultVals()
vals['args_file'] = config
else:
if not config in self.configs:
raise MBErr('Config "%s" not found in %s' %
(config, self.args.config_file))
vals = self.FlattenConfig(config)
return vals
def ReadConfigFile(self):

View File

@ -20,12 +20,12 @@
'masters': {
'client.webrtc': {
# iOS
'iOS32 Debug': 'ios',
'iOS32 Release': 'ios',
'iOS64 Debug': 'ios',
'iOS64 Release': 'ios',
'iOS64 Sim Debug (iOS 9.0)': 'ios',
'iOS64 Sim Debug (iOS 10.0)': 'ios',
'iOS32 Debug': 'ios_debug_bot_arm',
'iOS32 Release': 'ios_release_bot_arm',
'iOS64 Debug': 'ios_debug_bot_arm64',
'iOS64 Release': 'ios_release_bot_arm64',
'iOS64 Sim Debug (iOS 9.0)': 'ios_debug_bot_x64',
'iOS64 Sim Debug (iOS 10.0)': 'ios_debug_bot_x64',
# Mac
'Mac64 Debug': 'debug_bot_x64',
@ -136,24 +136,23 @@
}
},
'internal.client.webrtc': {
'iOS64 Debug': 'ios',
'iOS64 Perf': 'ios',
'iOS64 Release': 'ios',
'iOS64 Debug': 'ios_internal_debug_bot_arm64',
'iOS64 Perf': 'ios_internal_release_bot_arm64',
'iOS64 Release': 'ios_internal_release_bot_arm64',
},
'internal.tryserver.webrtc': {
'ios_arm64_dbg': 'ios',
'ios_arm64_rel': 'ios',
'ios_arm64_dbg': 'ios_internal_debug_bot_arm64',
'ios_arm64_rel': 'ios_internal_release_bot_arm64',
},
'tryserver.webrtc': {
# iOS
'ios_compile_arm_dbg': 'ios',
'ios_compile_arm_rel': 'ios',
'ios_compile_arm64_dbg': 'ios',
'ios_compile_arm64_rel': 'ios',
'ios_sim_x86_dbg_ios9': 'ios',
'ios_sim_x64_dbg_ios9': 'ios',
'ios_sim_x64_dbg_ios10': 'ios',
'ios_sim_x64_dbg_ios11': 'ios',
'ios_compile_arm_dbg': 'ios_debug_bot_arm',
'ios_compile_arm_rel': 'ios_release_bot_arm',
'ios_compile_arm64_dbg': 'ios_debug_bot_arm64',
'ios_compile_arm64_rel': 'ios_release_bot_arm64',
'ios_sim_x64_dbg_ios9': 'ios_debug_bot_x64',
'ios_sim_x64_dbg_ios10': 'ios_debug_bot_x64',
'ios_sim_x64_dbg_ios11': 'ios_debug_bot_x64',
# Mac
'mac_compile_dbg': 'debug_bot_x64',
@ -311,13 +310,6 @@
'x64', 'no_rtc_tests'
],
# iOS
# The 'ios' config is just used for auditing. iOS bots
# use the ios recipes and look up their GN arguments via files checked in
# under //tools_webrtc/ios/bots. It is an error to actually use one of these
# configs to generate the build files.
'ios': [ 'error'],
# Windows
'win_clang_debug_bot_x86': [
'clang', 'openh264', 'debug_bot', 'x86',
@ -395,6 +387,29 @@
'android', 'asan', 'clang', 'release_bot', 'arm'
],
# iOS
'ios_debug_bot_arm': [
'ios', 'debug_bot', 'arm', 'no_ios_code_signing'
],
'ios_release_bot_arm': [
'ios', 'release_bot', 'arm', 'no_ios_code_signing'
],
'ios_debug_bot_arm64': [
'ios', 'debug_bot', 'arm64', 'no_ios_code_signing'
],
'ios_release_bot_arm64': [
'ios', 'release_bot', 'arm64', 'no_ios_code_signing'
],
'ios_internal_debug_bot_arm64': [
'ios', 'debug_bot', 'arm64'
],
'ios_internal_release_bot_arm64': [
'ios', 'release_bot', 'arm64'
],
'ios_debug_bot_x64': [
'ios', 'debug_bot', 'x64'
],
# More configs
'bwe_test_logging_x64': [
'debug_bot', 'x64', 'bwe_test_logging'
@ -495,6 +510,10 @@
'gn_args': 'use_goma=true',
},
'ios': {
'gn_args': 'target_os="ios"',
},
'no_goma': {
'gn_args': 'use_goma=false',
},
@ -520,6 +539,10 @@
'gn_args': 'is_clang=false',
},
'no_ios_code_signing': {
'gn_args': 'ios_enable_code_signing=false',
},
'no_lld': {
'gn_args': 'use_lld=false',
},