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