Lines Matching refs:self

65   def __init__(self, args):
69 self._options = self._parse_arguments(args[:index])
70 self._gn_args = args[index + 1:]
72 def _parse_arguments(self, args):
73 self.parser = argparse.ArgumentParser(
88 subps = self.parser.add_subparsers()
93 gen_cmd.set_defaults(func=self.cmd_gen)
120 list_cmd.set_defaults(func=self.cmd_list)
127 return self.parser.parse_args(args)
129 def cmd_gen(self):
130 if not self._options.outdir and not self._options.builder:
131 self.parser.error('please specify either an output directory or '
134 if not self._options.outdir:
136 self._options.outdir = _sanitize_nonalpha(self._options.builder)
140 if self._options.outdir.startswith('/'):
141 self.parser.error(
144 if not self._options.builder:
146 self._options.builder = self._options.outdir
149 if self._options.builder not in self._mbw.builder_groups[self._options.master]:
151 self._options.builder, CONFIG, self._options.master))
159 gn_outdir = '/'.join([OUT_DIR, self._options.outdir])
162 self._call_cmd([
167 '-m', self._options.master,
168 '-b', self._options.builder,
173 gn_args_path = os.path.join(OUT_DIR, self._options.outdir, 'args.gn')
176 modified = self._append_gn_args(
177 'command-line', gn_args_path, '\n'.join(self._gn_args))
183 modified |= self._append_gn_args(
184 'goma', gn_args_path, self._goma_args)
187 if modified and self._options.pedantic:
188 self._call_cmd(['gn', 'gen', gn_outdir])
191 def cmd_list(self):
192 print('\n'.join(sorted(self._mbw.builder_groups[self._options.master])))
195 def verbose_print_1(self, text):
196 if self._options.verbosity and self._options.verbosity >= 1:
200 def verbose_print_2(self, text):
201 if self._options.verbosity and self._options.verbosity >= 2:
208 def _call_cmd(self, args):
209 self.verbose_print_1(' '.join(args))
215 self.verbose_print_2(output)
217 self.verbose_print_2(e.output)
220 def _find_work_dir(self, path):
230 return self._find_work_dir(os.path.dirname(path))
233 def _goma_dir(self):
237 def _need_goma_dir(self):
238 return self._goma_dir != GOMA_DEFAULT
241 def _use_goma(self):
242 if self._options.goma is None:
244 return os.path.exists(self._goma_dir) and os.path.isdir(self._goma_dir)
246 return self._options.goma
249 def _goma_args(self):
254 if (self._use_goma and
255 not any(re.match(r'use_goma\s*=.*', x) for x in self._gn_args)):
256 if self._need_goma_dir:
257 return 'use_goma=true\ngoma_dir="%s"' % self._goma_dir
263 def _append_gn_args(self, type, gn_args_path, more_gn_args):
267 self.verbose_print_1('Appending """\n%s\n""" to %s.' % (
282 def main(self):
285 workdir = self._find_work_dir(os.getcwd())
287 self.verbose_print_1('cd ' + workdir)
291 self._mbw = mb.MetaBuildWrapper()
294 self._mbw.ParseArgs(['lookup', '-f', CONFIG])
295 self._mbw.ReadConfigFile()
297 if not self._options.master in self._mbw.builder_groups:
298 print('%s not found in %s\n' % (self._options.master, CONFIG))
300 '\n'.join(sorted(self._mbw.builder_groups.keys()))))
303 return self._options.func()