| Index: tools/mb/mb.py
|
| diff --git a/tools/mb/mb.py b/tools/mb/mb.py
|
| index c90c5b925f54bbac81f6cbd6e29c235ecbfd7e26..89f5c41081068dfc6b283a9e8f3ab4759753954b 100755
|
| --- a/tools/mb/mb.py
|
| +++ b/tools/mb/mb.py
|
| @@ -45,6 +45,8 @@ class MetaBuildWrapper(object):
|
| self.chromium_src_dir = CHROMIUM_SRC_DIR
|
| self.default_config = os.path.join(self.chromium_src_dir, 'tools', 'mb',
|
| 'mb_config.pyl')
|
| + self.default_isolate_map = os.path.join(self.chromium_src_dir, 'testing',
|
| + 'buildbot', 'gn_isolate_map.pyl')
|
| self.executable = sys.executable
|
| self.platform = sys.platform
|
| self.sep = os.sep
|
| @@ -85,7 +87,11 @@ class MetaBuildWrapper(object):
|
| subp.add_argument('-f', '--config-file', metavar='PATH',
|
| default=self.default_config,
|
| help='path to config file '
|
| - '(default is //tools/mb/mb_config.pyl)')
|
| + '(default is %(default)s)')
|
| + subp.add_argument('-i', '--isolate-map-file', metavar='PATH',
|
| + default=self.default_isolate_map,
|
| + help='path to isolate map file '
|
| + '(default is %(default)s)')
|
| subp.add_argument('-g', '--goma-dir',
|
| help='path to goma directory')
|
| subp.add_argument('--gyp-script', metavar='PATH',
|
| @@ -126,8 +132,7 @@ class MetaBuildWrapper(object):
|
| 'each builder as a JSON object')
|
| subp.add_argument('-f', '--config-file', metavar='PATH',
|
| default=self.default_config,
|
| - help='path to config file '
|
| - '(default is //tools/mb/mb_config.pyl)')
|
| + help='path to config file (default is %(default)s)')
|
| subp.add_argument('-g', '--goma-dir',
|
| help='path to goma directory')
|
| subp.set_defaults(func=self.CmdExport)
|
| @@ -203,16 +208,14 @@ class MetaBuildWrapper(object):
|
| help='validate the config file')
|
| subp.add_argument('-f', '--config-file', metavar='PATH',
|
| default=self.default_config,
|
| - help='path to config file '
|
| - '(default is //tools/mb/mb_config.pyl)')
|
| + help='path to config file (default is %(default)s)')
|
| subp.set_defaults(func=self.CmdValidate)
|
|
|
| subp = subps.add_parser('audit',
|
| help='Audit the config file to track progress')
|
| subp.add_argument('-f', '--config-file', metavar='PATH',
|
| default=self.default_config,
|
| - help='path to config file '
|
| - '(default is //tools/mb/mb_config.pyl)')
|
| + help='path to config file (default is %(default)s)')
|
| subp.add_argument('-i', '--internal', action='store_true',
|
| help='check internal masters also')
|
| subp.add_argument('-m', '--master', action='append',
|
| @@ -671,8 +674,14 @@ class MetaBuildWrapper(object):
|
| self.mixins = contents['mixins']
|
|
|
| def ReadIsolateMap(self):
|
| - return ast.literal_eval(self.ReadFile(self.PathJoin(
|
| - self.chromium_src_dir, 'testing', 'buildbot', 'gn_isolate_map.pyl')))
|
| + if not self.Exists(self.args.isolate_map_file):
|
| + raise MBErr('isolate map file not found at %s' %
|
| + self.args.isolate_map_file)
|
| + try:
|
| + return ast.literal_eval(self.ReadFile(self.args.isolate_map_file))
|
| + except SyntaxError as e:
|
| + raise MBErr('Failed to parse isolate map file "%s": %s' %
|
| + (self.args.isolate_map_file, e))
|
|
|
| def ConfigFromArgs(self):
|
| if self.args.config:
|
|
|