(self, mixins, vals, visited)
| 648 | } |
| 649 | |
| 650 | def FlattenMixins(self, mixins, vals, visited): |
| 651 | for m in mixins: |
| 652 | if m not in self.mixins: |
| 653 | raise MBErr('Unknown mixin "%s"' % m) |
| 654 | |
| 655 | visited.append(m) |
| 656 | |
| 657 | mixin_vals = self.mixins[m] |
| 658 | |
| 659 | if 'cros_passthrough' in mixin_vals: |
| 660 | vals['cros_passthrough'] = mixin_vals['cros_passthrough'] |
| 661 | if 'args_file' in mixin_vals: |
| 662 | if vals['args_file']: |
| 663 | raise MBErr('args_file specified multiple times in mixins ' |
| 664 | 'for %s on %s' % |
| 665 | (self.args.builder, self.args.builder_group)) |
| 666 | vals['args_file'] = mixin_vals['args_file'] |
| 667 | if 'gn_args' in mixin_vals: |
| 668 | if vals['gn_args']: |
| 669 | vals['gn_args'] += ' ' + mixin_vals['gn_args'] |
| 670 | else: |
| 671 | vals['gn_args'] = mixin_vals['gn_args'] |
| 672 | |
| 673 | if 'mixins' in mixin_vals: |
| 674 | self.FlattenMixins(mixin_vals['mixins'], vals, visited) |
| 675 | return vals |
| 676 | |
| 677 | def RunGNGen(self, vals, compute_grit_inputs_for_analyze=False): |
| 678 | build_dir = self.args.path[0] |
no test coverage detected