Index: third_party/WebKit/Source/bindings/scripts/aggregate_generated_bindings.py |
diff --git a/third_party/WebKit/Source/bindings/scripts/aggregate_generated_bindings.py b/third_party/WebKit/Source/bindings/scripts/aggregate_generated_bindings.py |
index 4b71743198f1d8efb75ae3b1fa49e6ce152cfc12..19c7d43282152b6fa5e224c2af611d0aa7f36342 100755 |
--- a/third_party/WebKit/Source/bindings/scripts/aggregate_generated_bindings.py |
+++ b/third_party/WebKit/Source/bindings/scripts/aggregate_generated_bindings.py |
@@ -38,7 +38,7 @@ This can be a single output file, to preserve symbol space; or multiple output |
files, to reduce maximum compilation unit size and allow parallel compilation. |
Usage: |
-aggregate_generated_bindings.py COMPONENT_DIR IDL_FILES_LIST -- OUTPUT_FILE1 OUTPUT_FILE2 ... |
+aggregate_generated_bindings.py --component-directory COMPONENT_DIR --input-file IDL_FILES_LIST OUTPUT_FILE1 OUTPUT_FILE2 ... |
COMPONENT_DIR is the relative directory of a component, e.g., 'core', 'modules'. |
IDL_FILES_LIST is a text file containing the IDL file paths, so the command |
@@ -49,6 +49,7 @@ Design doc: http://www.chromium.org/developers/design-documents/idl-build |
""" |
import errno |
+import optparse |
import os |
import re |
import sys |
@@ -141,13 +142,26 @@ def write_content(content, output_file_name): |
f.write(content) |
-def main(args): |
- if len(args) <= 4: |
- raise Exception('Expected at least 5 arguments.') |
- component_dir = args[1] |
- input_file_name = args[2] |
- in_out_break_index = args.index('--') |
- output_file_names = args[in_out_break_index + 1:] |
+def parse_options(): |
+ parser = optparse.OptionParser() |
+ parser.add_option('--component-directory') |
+ parser.add_option('--input-file', |
+ help='A file name which lists up target IDL file names.', |
+ type='string') |
+ |
+ options, output_file_names = parser.parse_args() |
+ if len(output_file_names) == 0: |
+ raise Exception('Expected at least one output file name(s).') |
+ if not options.input_file: |
+ raise Exception('No input file is specified.') |
+ |
+ return options, output_file_names |
+ |
+ |
+def main(): |
+ options, output_file_names = parse_options() |
+ component_dir = options.component_directory |
+ input_file_name = options.input_file |
idl_file_names = read_idl_files_list_from_file(input_file_name, |
is_gyp_format=True) |
@@ -170,4 +184,4 @@ def main(args): |
if __name__ == '__main__': |
- sys.exit(main(sys.argv)) |
+ sys.exit(main()) |