OLD | NEW |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 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 # This a simple script to make building/testing Mojo components easier. | 6 # This a simple script to make building/testing Mojo components easier. |
7 | 7 |
8 import argparse | 8 import argparse |
9 from copy import deepcopy | 9 from copy import deepcopy |
10 import os | 10 import os |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
57 | 57 |
58 if 'builder_name' in args: | 58 if 'builder_name' in args: |
59 additional_args['builder_name'] = args.builder_name | 59 additional_args['builder_name'] = args.builder_name |
60 if 'build_number' in args: | 60 if 'build_number' in args: |
61 additional_args['build_number'] = args.build_number | 61 additional_args['build_number'] = args.build_number |
62 if 'master_name' in args: | 62 if 'master_name' in args: |
63 additional_args['master_name'] = args.master_name | 63 additional_args['master_name'] = args.master_name |
64 if 'test_results_server' in args: | 64 if 'test_results_server' in args: |
65 additional_args['test_results_server'] = args.test_results_server | 65 additional_args['test_results_server'] = args.test_results_server |
66 | 66 |
67 if 'extra_args' in args and args.extra_args: | |
68 for arg in args.extra_args.split(' '): | |
69 (name, val) = arg.split('=') | |
70 additional_args[name] = val | |
71 | |
67 return Config(target_os=target_os, target_cpu=target_cpu, | 72 return Config(target_os=target_os, target_cpu=target_cpu, |
68 is_debug=args.debug, dcheck_always_on=args.dcheck_always_on, | 73 is_debug=args.debug, dcheck_always_on=args.dcheck_always_on, |
69 **additional_args) | 74 **additional_args) |
70 | 75 |
71 | 76 |
72 def _get_out_dir(config): | 77 def _get_out_dir(config): |
73 paths = Paths(config) | 78 paths = Paths(config) |
74 return paths.SrcRelPath(paths.build_dir) | 79 return paths.SrcRelPath(paths.build_dir) |
75 | 80 |
76 | 81 |
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
208 | 213 |
209 subparsers = parser.add_subparsers() | 214 subparsers = parser.add_subparsers() |
210 | 215 |
211 sync_parser = subparsers.add_parser('sync', parents=[parent_parser], | 216 sync_parser = subparsers.add_parser('sync', parents=[parent_parser], |
212 help='Sync using gclient (does not run gn).') | 217 help='Sync using gclient (does not run gn).') |
213 sync_parser.set_defaults(func=sync) | 218 sync_parser.set_defaults(func=sync) |
214 | 219 |
215 gn_parser = subparsers.add_parser('gn', parents=[parent_parser], | 220 gn_parser = subparsers.add_parser('gn', parents=[parent_parser], |
216 help='Run gn for mojo (does not sync).') | 221 help='Run gn for mojo (does not sync).') |
217 gn_parser.set_defaults(func=gn) | 222 gn_parser.set_defaults(func=gn) |
223 gn_parser.add_argument('--args', help='Specify extra args for gn phase', | |
qsr
2015/03/09 11:58:41
No need to specify that it is for the gn phase. Th
haltonhuo
2015/03/09 12:13:00
It is added only under "gn" sub-command, did I mis
qsr
2015/03/09 13:13:06
I meant that you do not need to speak about the gn
haltonhuo
2015/03/10 06:50:43
Done in patch set 6.
| |
224 default=None, dest='extra_args') | |
218 clang_group = gn_parser.add_mutually_exclusive_group() | 225 clang_group = gn_parser.add_mutually_exclusive_group() |
219 clang_group.add_argument('--clang', help='Use Clang (default)', default=None, | 226 clang_group.add_argument('--clang', help='Use Clang (default)', default=None, |
220 action='store_true') | 227 action='store_true') |
221 clang_group.add_argument('--gcc', help='Use GCC', | 228 clang_group.add_argument('--gcc', help='Use GCC', |
222 dest='clang', action='store_false') | 229 dest='clang', action='store_false') |
223 goma_group = gn_parser.add_mutually_exclusive_group() | 230 goma_group = gn_parser.add_mutually_exclusive_group() |
224 goma_group.add_argument('--goma', | 231 goma_group.add_argument('--goma', |
225 help='Use Goma (if $GOMA_DIR is set or $HOME/goma ' | 232 help='Use Goma (if $GOMA_DIR is set or $HOME/goma ' |
226 'exists; default)', | 233 'exists; default)', |
227 default=True, | 234 default=True, |
(...skipping 28 matching lines...) Expand all Loading... | |
256 help='Run the dart source code analyzer to check for warnings.') | 263 help='Run the dart source code analyzer to check for warnings.') |
257 dartcheck_parser.set_defaults(func=dartcheck) | 264 dartcheck_parser.set_defaults(func=dartcheck) |
258 | 265 |
259 args = parser.parse_args() | 266 args = parser.parse_args() |
260 config = _args_to_config(args) | 267 config = _args_to_config(args) |
261 return args.func(config) | 268 return args.func(config) |
262 | 269 |
263 | 270 |
264 if __name__ == '__main__': | 271 if __name__ == '__main__': |
265 sys.exit(main()) | 272 sys.exit(main()) |
OLD | NEW |