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