Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(319)

Side by Side Diff: Source/bindings/scripts/aggregate_generated_bindings.py

Issue 309793002: IDL build: Split global objects computation from global constructors computation (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Tweak Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # 2 #
3 # Copyright (C) 2009 Google Inc. All rights reserved. 3 # Copyright (C) 2009 Google Inc. All rights reserved.
4 # 4 #
5 # Redistribution and use in source and binary forms, with or without 5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions are 6 # modification, are permitted provided that the following conditions are
7 # met: 7 # met:
8 # 8 #
9 # * Redistributions of source code must retain the above copyright 9 # * Redistributions of source code must retain the above copyright
10 # notice, this list of conditions and the following disclaimer. 10 # notice, this list of conditions and the following disclaimer.
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 47
48 Design doc: http://www.chromium.org/developers/design-documents/idl-build 48 Design doc: http://www.chromium.org/developers/design-documents/idl-build
49 """ 49 """
50 50
51 import errno 51 import errno
52 import os 52 import os
53 import re 53 import re
54 import subprocess 54 import subprocess
55 import sys 55 import sys
56 56
57 from utilities import idl_filename_to_interface_name
58
57 # A regexp for finding Conditional attributes in interface definitions. 59 # A regexp for finding Conditional attributes in interface definitions.
58 CONDITIONAL_PATTERN = re.compile( 60 CONDITIONAL_PATTERN = re.compile(
59 r'\[' 61 r'\['
60 r'[^\]]*' 62 r'[^\]]*'
61 r'Conditional=([\_0-9a-zA-Z&|]*)' 63 r'Conditional=([\_0-9a-zA-Z&|]*)'
62 r'[^\]]*' 64 r'[^\]]*'
63 r'\]\s*' 65 r'\]\s*'
64 r'((callback|partial)\s+)?' 66 r'((callback|partial)\s+)?'
65 r'interface\s+' 67 r'interface\s+'
66 r'\w+\s*' 68 r'\w+\s*'
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 129
128 for file_path in file_paths: 130 for file_path in file_paths:
129 if not file_path.endswith('.idl'): 131 if not file_path.endswith('.idl'):
130 print 'WARNING: non-IDL file passed: "%s"' % file_path 132 print 'WARNING: non-IDL file passed: "%s"' % file_path
131 continue 133 continue
132 if not os.path.exists(file_path): 134 if not os.path.exists(file_path):
133 print 'WARNING: file not found: "%s"' % file_path 135 print 'WARNING: file not found: "%s"' % file_path
134 continue 136 continue
135 137
136 # Extract interface name from file name 138 # Extract interface name from file name
137 parent_path, file_name = os.path.split(file_path) 139 interface_name = idl_filename_to_interface_name(file_path)
138 interface_name, _ = os.path.splitext(file_name)
139 140
140 meta_data = { 141 meta_data = {
141 'conditional': extract_conditional(file_path), 142 'conditional': extract_conditional(file_path),
142 'name': interface_name, 143 'name': interface_name,
143 } 144 }
144 meta_data_list.append(meta_data) 145 meta_data_list.append(meta_data)
145 146
146 return meta_data_list 147 return meta_data_list
147 148
148 149
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
221 files_meta_data_this_partition = [ 222 files_meta_data_this_partition = [
222 meta_data for meta_data in files_meta_data 223 meta_data for meta_data in files_meta_data
223 if hash(meta_data['name']) % total_partitions == partition] 224 if hash(meta_data['name']) % total_partitions == partition]
224 file_contents = generate_content(component_dir, 225 file_contents = generate_content(component_dir,
225 files_meta_data_this_partition) 226 files_meta_data_this_partition)
226 write_content(file_contents, file_name) 227 write_content(file_contents, file_name)
227 228
228 229
229 if __name__ == '__main__': 230 if __name__ == '__main__':
230 sys.exit(main(sys.argv)) 231 sys.exit(main(sys.argv))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698