Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: tools/mb/mb.py

Issue 1109453002: Re-roll GN to 326666 and fix GN-related bugs. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: delete stray blank line Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « tools/gn/bin/gyp_flag_compare.py ('k') | tools/mb/mb_unittest.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2015 The Chromium Authors. All rights reserved. 2 # Copyright 2015 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """MB - the Meta-Build wrapper around GYP and GN 6 """MB - the Meta-Build wrapper around GYP and GN
7 7
8 MB is a wrapper script for GYP and GN that can be used to generate build files 8 MB is a wrapper script for GYP and GN that can be used to generate build files
9 for sets of canned configurations and analyze them. 9 for sets of canned configurations and analyze them.
10 """ 10 """
(...skipping 412 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 if 'gn_all' in inp['targets'] or 'all' in inp['targets']: 423 if 'gn_all' in inp['targets'] or 'all' in inp['targets']:
424 self.WriteJSON({'status': 'Found dependency (all)'}, output_path) 424 self.WriteJSON({'status': 'Found dependency (all)'}, output_path)
425 return 0 425 return 0
426 426
427 all_needed_targets = set() 427 all_needed_targets = set()
428 ret = 0 428 ret = 0
429 for f in inp['files']: 429 for f in inp['files']:
430 cmd = self.GNCmd('refs', self.args.path[0]) + [ 430 cmd = self.GNCmd('refs', self.args.path[0]) + [
431 '//' + f, '--type=executable', '--all', '--as=output'] 431 '//' + f, '--type=executable', '--all', '--as=output']
432 ret, out, _ = self.Run(cmd) 432 ret, out, _ = self.Run(cmd)
433 if ret: 433 if ret and not 'The input matches no targets' in out:
434 self.WriteFailureAndRaise('gn refs returned %d: %s' % (ret, out), 434 self.WriteFailureAndRaise('gn refs returned %d: %s' % (ret, out),
435 output_path) 435 output_path)
436 436
437 rpath = self.ToSrcRelPath(self.args.path[0]) + os.sep 437 rpath = self.ToSrcRelPath(self.args.path[0]) + os.sep
438 needed_targets = [t.replace(rpath, '') for t in out.splitlines()] 438 needed_targets = [t.replace(rpath, '') for t in out.splitlines()]
439 needed_targets = [nt for nt in needed_targets if nt in inp['targets']] 439 needed_targets = [nt for nt in needed_targets if nt in inp['targets']]
440 all_needed_targets.update(set(needed_targets)) 440 all_needed_targets.update(set(needed_targets))
441 441
442 if all_needed_targets: 442 if all_needed_targets:
443 # TODO: it could be that a target X might depend on a target Y 443 # TODO: it could be that a target X might depend on a target Y
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
548 548
549 if __name__ == '__main__': 549 if __name__ == '__main__':
550 try: 550 try:
551 sys.exit(main(sys.argv[1:])) 551 sys.exit(main(sys.argv[1:]))
552 except MBErr as e: 552 except MBErr as e:
553 print(e) 553 print(e)
554 sys.exit(1) 554 sys.exit(1)
555 except KeyboardInterrupt: 555 except KeyboardInterrupt:
556 print("interrupted, exiting", stream=sys.stderr) 556 print("interrupted, exiting", stream=sys.stderr)
557 sys.exit(130) 557 sys.exit(130)
OLDNEW
« no previous file with comments | « tools/gn/bin/gyp_flag_compare.py ('k') | tools/mb/mb_unittest.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698