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

Unified Diff: Source/bindings/scripts/aggregate_generated_bindings.py

Issue 618373003: [bindings] partial interfaces should not violate componentization (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed patch conflict Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/bindings/modules/v8/generated.gypi ('k') | Source/bindings/scripts/code_generator_v8.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/bindings/scripts/aggregate_generated_bindings.py
diff --git a/Source/bindings/scripts/aggregate_generated_bindings.py b/Source/bindings/scripts/aggregate_generated_bindings.py
index 5efb42c9ea0edd46e2750bf8e03aa6655672e3ae..a8d40c41d9a2eebb064f442b7baa2bce9621e135 100755
--- a/Source/bindings/scripts/aggregate_generated_bindings.py
+++ b/Source/bindings/scripts/aggregate_generated_bindings.py
@@ -53,7 +53,7 @@ import os
import re
import sys
-from utilities import idl_filename_to_interface_name, read_idl_files_list_from_file
+from utilities import idl_filename_to_component, idl_filename_to_interface_name, read_idl_files_list_from_file
# A regexp for finding Conditional attributes in interface definitions.
CONDITIONAL_PATTERN = re.compile(
@@ -135,7 +135,7 @@ def extract_meta_data(file_paths):
return meta_data_list
-def generate_content(component_dir, files_meta_data_this_partition):
+def generate_content(component_dir, aggregate_partial_interfaces, files_meta_data_this_partition):
# Add fixed content.
output = [COPYRIGHT_TEMPLATE,
'#define NO_IMPLICIT_ATOMICSTRING\n\n']
@@ -152,8 +152,13 @@ def generate_content(component_dir, files_meta_data_this_partition):
output.append('\n#if ENABLE(%s)\n' % conditional)
prev_conditional = conditional
- output.append('#include "bindings/%s/v8/V8%s.cpp"\n' %
- (component_dir, meta_data['name']))
+ if aggregate_partial_interfaces:
+ cpp_filename = 'V8%sPartial.cpp' % meta_data['name']
+ else:
+ cpp_filename = 'V8%s.cpp' % meta_data['name']
+
+ output.append('#include "bindings/%s/v8/%s"\n' %
+ (component_dir, cpp_filename))
if prev_conditional:
output.append('#endif\n')
@@ -179,6 +184,12 @@ def main(args):
output_file_names = args[in_out_break_index + 1:]
idl_file_names = read_idl_files_list_from_file(input_file_name)
+ components = set([idl_filename_to_component(filename)
+ for filename in idl_file_names])
+ if len(components) != 1:
+ raise Exception('Cannot aggregate generated codes in different components')
+ aggregate_partial_interfaces = component_dir not in components
+
files_meta_data = extract_meta_data(idl_file_names)
total_partitions = len(output_file_names)
for partition, file_name in enumerate(output_file_names):
@@ -186,6 +197,7 @@ def main(args):
meta_data for meta_data in files_meta_data
if hash(meta_data['name']) % total_partitions == partition]
file_contents = generate_content(component_dir,
+ aggregate_partial_interfaces,
files_meta_data_this_partition)
write_content(file_contents, file_name)
« no previous file with comments | « Source/bindings/modules/v8/generated.gypi ('k') | Source/bindings/scripts/code_generator_v8.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698