OLD | NEW |
(Empty) | |
| 1 # Copyright 2016 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. |
| 4 |
| 5 |
| 6 import argparse |
| 7 import os |
| 8 import re |
| 9 import subprocess |
| 10 import sys |
| 11 |
| 12 |
| 13 def main(): |
| 14 parser = argparse.ArgumentParser( |
| 15 description='A script to compile xib and storyboard.', |
| 16 fromfile_prefix_chars='@') |
| 17 parser.add_argument('-o', '--output', required=True, |
| 18 help='Path to output bundle.') |
| 19 parser.add_argument('-i', '--input', required=True, |
| 20 help='Path to input xib or storyboard.') |
| 21 args, unknown_args = parser.parse_known_args() |
| 22 |
| 23 ibtool_args = [ |
| 24 'xcrun', 'ibtool', |
| 25 '--errors', '--warnings', '--notices', |
| 26 '--output-format', 'human-readable-text' |
| 27 ] |
| 28 ibtool_args += unknown_args |
| 29 ibtool_args += [ |
| 30 '--compile', |
| 31 os.path.abspath(args.output), |
| 32 os.path.abspath(args.input) |
| 33 ] |
| 34 |
| 35 ibtool_section_re = re.compile(r'/\*.*\*/') |
| 36 ibtool_re = re.compile(r'.*note:.*is clipping its content') |
| 37 ibtoolout = subprocess.Popen(ibtool_args, stdout=subprocess.PIPE) |
| 38 current_section_header = None |
| 39 for line in ibtoolout.stdout: |
| 40 if ibtool_section_re.match(line): |
| 41 current_section_header = line |
| 42 elif not ibtool_re.match(line): |
| 43 if current_section_header: |
| 44 sys.stdout.write(current_section_header) |
| 45 current_section_header = None |
| 46 sys.stdout.write(line) |
| 47 return ibtoolout.returncode |
| 48 |
| 49 |
| 50 if __name__ == '__main__': |
| 51 sys.exit(main()) |
OLD | NEW |