Revert of iOS: Use JSON for GN configuration instead of MB + remove symbols (patchset #4 id:80001 of https://codereview.webrtc.org/2688103002/ )

Reason for revert:
Something is different from trybots vs the commit bots, causing it to fail when running GN:
https://build.chromium.org/p/client.webrtc/builders/iOS32%20Release/builds/10151

Original issue's description:
> iOS: Use JSON for GN configuration instead of MB + remove symbols.
>
> This aligns with how the ios recipe module is used in Chromium.
> It should prevent breakages like one we had recently.
>
> It also means we're no longer setting symbol_level=1 explicitly.
> The default is 0 (no symbols), which is now what's being used.
>
> Also move all the directories containing JSON files into
> tools-webrtc/ios/bots to make it clearer (and more similar to
> Chromium).
>
> BUG=webrtc:7140, webrtc:7161
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2688103002
> Cr-Commit-Position: refs/heads/master@{#16633}
> Committed: 73f01de4ed

TBR=ehmaldonado@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7140, webrtc:7161

Review-Url: https://codereview.webrtc.org/2694423002
Cr-Commit-Position: refs/heads/master@{#16634}
This commit is contained in:
kjellander
2017-02-15 12:45:35 -08:00
committed by Commit bot
parent 73f01de4ed
commit 68ab366547
17 changed files with 110 additions and 101 deletions

View File

@ -1,15 +1,14 @@
{
"comments": [
"Builder for 32-bit devices."
"Builder for 32-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"arm\"",
"target_os=\"ios\"",
"use_goma=true"
],
"additional_compile_targets": [ "all" ],

View File

@ -1,16 +1,14 @@
{
"comments": [
"Builder for 32-bit devices."
"Builder for 32-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"dcheck_always_on=true",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=false",
"target_cpu=\"arm\"",
"target_os=\"ios\"",
"use_goma=true"
],
"additional_compile_targets": [ "all" ],

View File

@ -1,14 +1,14 @@
{
"comments": [
"Tests for 32-bit iOS simulators."
"Tests for 32-bit iOS simulators.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"x86\"",
"target_os=\"ios\"",
"use_goma=true"
],
"additional_compile_targets": [ "all" ],

View File

@ -1,15 +1,14 @@
{
"comments": [
"Builder for 64-bit devices."
"Builder for 64-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"arm64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"additional_compile_targets": [ "all" ],

View File

@ -1,16 +1,14 @@
{
"comments": [
"Builder for 64-bit devices."
"Builder for 64-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"dcheck_always_on=true",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=false",
"target_cpu=\"arm64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"additional_compile_targets": [ "all" ],

View File

@ -1,14 +1,14 @@
{
"comments": [
"Tests for 64-bit iOS simulators."
"Tests for 64-bit iOS simulators.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"x64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"additional_compile_targets": [ "all" ],

View File

@ -1,14 +1,14 @@
{
"comments": [
"Tests for 64-bit iOS simulators."
"Tests for 64-bit iOS simulators.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"x64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"additional_compile_targets": [ "all" ],

View File

@ -1,14 +1,14 @@
{
"comments": [
"Tests for 32-bit iOS simulators."
"Tests for 32-bit iOS simulators.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"x86\"",
"target_os=\"ios\"",
"use_goma=true"
],
"use_analyze": false,

View File

@ -1,14 +1,14 @@
{
"comments": [
"Tests for 64-bit iOS simulators."
"Tests for 64-bit iOS simulators.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"x64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"use_analyze": false,

View File

@ -1,14 +1,14 @@
{
"comments": [
"Tests for 64-bit iOS simulators."
"Tests for 64-bit iOS simulators.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"x64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"use_analyze": false,

View File

@ -1,15 +1,14 @@
{
"comments": [
"Builder for 64-bit devices."
"Builder for 64-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"arm64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"use_analyze": false,

View File

@ -1,16 +1,14 @@
{
"comments": [
"Builder for 64-bit devices."
"Builder for 64-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"dcheck_always_on=true",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=false",
"target_cpu=\"arm64\"",
"target_os=\"ios\"",
"use_goma=true"
],
"use_analyze": false,

View File

@ -1,15 +1,14 @@
{
"comments": [
"Builder for 32-bit devices."
"Builder for 32-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=true",
"target_cpu=\"arm\"",
"target_os=\"ios\"",
"use_goma=true"
],
"use_analyze": false,

View File

@ -1,16 +1,14 @@
{
"comments": [
"Builder for 32-bit devices."
"Builder for 32-bit devices.",
"gn_args in this file is only read by the buildbot recipe; ",
"webrtc/build/mb_config.pyl contains the actual build configuration.",
"TODO(kjellander): remove gn_args when the recipe is updated."
],
"xcode version": "8.0",
"gn_args": [
"goma_dir=\"$(goma_dir)\"",
"dcheck_always_on=true",
"ios_enable_code_signing=false",
"is_component_build=false",
"is_debug=false",
"target_cpu=\"arm\"",
"target_os=\"ios\"",
"use_goma=true"
],
"use_analyze": false,

View File

@ -33,8 +33,8 @@ import urllib2
from collections import OrderedDict
SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__))
SRC_DIR = os.path.dirname(os.path.dirname(SCRIPT_DIR))
sys.path = [os.path.join(SRC_DIR, 'build')] + sys.path
CHROMIUM_SRC_DIR = os.path.dirname(os.path.dirname(SCRIPT_DIR))
sys.path = [os.path.join(CHROMIUM_SRC_DIR, 'build')] + sys.path
import gn_helpers
@ -46,7 +46,7 @@ def main(args):
class MetaBuildWrapper(object):
def __init__(self):
self.src_dir = SRC_DIR
self.chromium_src_dir = CHROMIUM_SRC_DIR
self.default_config = os.path.join(SCRIPT_DIR, 'mb_config.pyl')
self.default_isolate_map = os.path.join(SCRIPT_DIR, 'gn_isolate_map.pyl')
self.executable = sys.executable
@ -619,7 +619,7 @@ class MetaBuildWrapper(object):
def ReadIOSBotConfig(self):
if not self.args.master or not self.args.builder:
return {}
path = self.PathJoin(self.src_dir, 'tools-webrtc', 'ios',
path = self.PathJoin(self.chromium_src_dir, 'ios', 'build', 'bots',
self.args.master, self.args.builder + '.json')
if not self.Exists(path):
return {}
@ -921,7 +921,7 @@ class MetaBuildWrapper(object):
'--isolate',
self.ToSrcRelPath('%s/%s.isolate' % (build_dir, target)),
],
'dir': self.src_dir,
'dir': self.chromium_src_dir,
'version': 1,
},
isolate_path + 'd.gen.json',
@ -966,7 +966,7 @@ class MetaBuildWrapper(object):
else:
subdir, exe = 'win', 'gn.exe'
gn_path = self.PathJoin(self.src_dir, 'buildtools', subdir, exe)
gn_path = self.PathJoin(self.chromium_src_dir, 'buildtools', subdir, exe)
return [gn_path, subcommand, path] + list(args)
@ -1137,7 +1137,7 @@ class MetaBuildWrapper(object):
return cmdline, extra_files
def ToAbsPath(self, build_path, *comps):
return self.PathJoin(self.src_dir,
return self.PathJoin(self.chromium_src_dir,
self.ToSrcRelPath(build_path),
*comps)
@ -1145,7 +1145,7 @@ class MetaBuildWrapper(object):
"""Returns a relative path from the top of the repo."""
if path.startswith('//'):
return path[2:].replace('/', self.sep)
return self.RelPath(path, self.src_dir)
return self.RelPath(path, self.chromium_src_dir)
def ParseGYPConfigPath(self, path):
rpath = self.ToSrcRelPath(path)
@ -1433,12 +1433,12 @@ class MetaBuildWrapper(object):
def Call(self, cmd, env=None, buffer_output=True):
if buffer_output:
p = subprocess.Popen(cmd, shell=False, cwd=self.src_dir,
p = subprocess.Popen(cmd, shell=False, cwd=self.chromium_src_dir,
stdout=subprocess.PIPE, stderr=subprocess.PIPE,
env=env)
out, err = p.communicate()
else:
p = subprocess.Popen(cmd, shell=False, cwd=self.src_dir,
p = subprocess.Popen(cmd, shell=False, cwd=self.chromium_src_dir,
env=env)
p.wait()
out = err = ''

View File

@ -20,13 +20,13 @@
'masters': {
'client.webrtc': {
# iOS
'iOS32 Debug': 'ios',
'iOS32 Release': 'ios',
'iOS64 Debug': 'ios',
'iOS64 Release': 'ios',
'iOS32 Sim Debug (iOS 9.0)': 'ios',
'iOS64 Sim Debug (iOS 9.0)': 'ios',
'iOS64 Sim Debug (iOS 10.0)': 'ios',
'iOS32 Debug': 'ios_debug_static_bot_arm_device',
'iOS32 Release': 'ios_release_bot_arm_device',
'iOS64 Debug': 'ios_debug_static_bot_arm64_device',
'iOS64 Release': 'ios_release_bot_arm64_device',
'iOS32 Sim Debug (iOS 9.0)': 'ios_debug_static_bot_x86',
'iOS64 Sim Debug (iOS 9.0)': 'ios_debug_static_bot_x64',
'iOS64 Sim Debug (iOS 10.0)': 'ios_debug_static_bot_x64',
# Mac
'Mac64 Debug': 'debug_bot_x64',
@ -105,13 +105,13 @@
},
'tryserver.webrtc': {
# iOS
'ios_dbg': 'ios',
'ios_rel': 'ios',
'ios_arm64_dbg': 'ios',
'ios_arm64_rel': 'ios',
'ios32_sim_ios9_dbg': 'ios',
'ios64_sim_ios9_dbg': 'ios',
'ios64_sim_ios10_dbg': 'ios',
'ios_dbg': 'ios_debug_static_bot_arm_device',
'ios_rel': 'ios_release_bot_arm_device',
'ios_arm64_dbg': 'ios_debug_static_bot_arm64_device',
'ios_arm64_rel': 'ios_release_bot_arm64_device',
'ios32_sim_ios9_dbg': 'ios_debug_static_bot_x86',
'ios64_sim_ios9_dbg': 'ios_debug_static_bot_x64',
'ios64_sim_ios10_dbg': 'ios_debug_static_bot_x64',
# Mac
'mac_compile_dbg': 'debug_bot_x64',
@ -178,6 +178,26 @@
# A given config *may* be platform-specific but is not necessarily so (i.e.,
# we might have mac, win, and linux bots all using the 'release_bot' config).
'configs': {
# iOS
'ios_debug_static_bot_arm64_device': [
'ios', 'gn', 'debug_static_bot', 'arm64', 'device'
],
'ios_release_bot_arm64_device': [
'ios', 'gn', 'release_bot', 'arm64', 'device'
],
'ios_debug_static_bot_arm_device': [
'ios', 'gn', 'debug_static_bot', 'arm', 'device'
],
'ios_release_bot_arm_device': [
'ios', 'gn', 'release_bot', 'arm', 'device'
],
'ios_debug_static_bot_x86': [
'ios', 'gn', 'debug_static_bot', 'x86'
],
'ios_debug_static_bot_x64': [
'ios', 'gn', 'debug_static_bot', 'x64'
],
# Linux, Mac and Windows
'gcc_release_bot_x64': [
'gn', 'gcc', 'release_bot', 'x64'
@ -225,13 +245,6 @@
'memcheck', 'gn', 'openh264_release_bot', 'x64'
],
# 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': [
'gn', 'clang', 'openh264_debug_bot', 'x86',
@ -341,6 +354,10 @@
'mixins': ['debug', 'static', 'minimal_symbols', 'goma'],
},
'device': {
'gn_args': 'ios_enable_code_signing=false',
},
# This mixin is used to force configs that use it to fail. It
# is used in two cases: when we have bots that we haven't looked
# at yet and don't know whether they need MB or not, and for bots
@ -363,6 +380,10 @@
'gn_args': 'use_goma=true',
},
'ios': {
'gn_args': 'target_os="ios"',
},
'libfuzzer': {
'gn_args': 'use_libfuzzer=true',
},

View File

@ -25,7 +25,7 @@ class FakeMBW(mb.MetaBuildWrapper):
# Override vars for test portability.
if win32:
self.src_dir = 'c:\\fake_src'
self.chromium_src_dir = 'c:\\fake_src'
self.default_config = 'c:\\fake_src\\tools-webrtc\\mb\\mb_config.pyl'
self.default_isolate_map = ('c:\\fake_src\\testing\\buildbot\\'
'gn_isolate_map.pyl')
@ -33,7 +33,7 @@ class FakeMBW(mb.MetaBuildWrapper):
self.executable = 'c:\\python\\python.exe'
self.sep = '\\'
else:
self.src_dir = '/fake_src'
self.chromium_src_dir = '/fake_src'
self.default_config = '/fake_src/tools-webrtc/mb/mb_config.pyl'
self.default_isolate_map = '/fake_src/testing/buildbot/gn_isolate_map.pyl'
self.executable = '/usr/bin/python'