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

Unified Diff: Source/bindings/scripts/global_objects.gypi

Issue 316173008: IDL build: factor out global objects action into a GYP template (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: 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 side-by-side diff with in-line comments
Download patch
Index: Source/bindings/scripts/global_objects.gypi
diff --git a/Source/bindings/scripts/global_objects.gypi b/Source/bindings/scripts/global_objects.gypi
new file mode 100644
index 0000000000000000000000000000000000000000..624f2f8bb95a2664d473b336154d35c8cd472509
--- /dev/null
+++ b/Source/bindings/scripts/global_objects.gypi
@@ -0,0 +1,64 @@
+# Copyright 2014 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# This file is meant to be included into a target to provide an action
+# to compute global objects in a component.
+#
+# To use this, create a gyp target with the following form:
+# {
+# 'target_name': 'component_global_objects',
+# 'variables': {
+# 'idl_files': '<(list_of_idl_files)',
+# 'input_files': ['<(some_dir)/GlobalObjectBaseComponent.pickle'],
+# 'output_file': '<(some_dir)/GlobalObjectsComponent.pickle',
+# },
+# 'includes': ['path/to/this/gypi/file'],
+# },
+#
+# Required variables:
+# idl_files - List of .idl files that will be searched in.
+# This should *only* contain main IDL files, excluding dependencies and
+# testing, which should not define global objects).
+# output_file - Pickle file of output.
+#
+# Optional variables:
+# input_files - List of input pickle files of global objects in base
+# components. In this case make sure to include a dependencies section
+# in the target to ensure this is generated.
+#
+# Spec: http://heycam.github.io/webidl/#Global
+# Design document: http://www.chromium.org/developers/design-documents/idl-build
+
+{
+ 'type': 'none',
+ 'actions': [{
+ 'action_name': 'compute_<(_target_name)',
+ 'message': 'Computing global objects for <(_target_name)',
+ 'variables': {
+ 'input_files%': [],
+ 'idl_files_list': '<|(idl_files_list.tmp <@(idl_files))',
+ },
+ 'includes': ['scripts.gypi'],
+ 'inputs': [
+ '<(bindings_scripts_dir)/compute_global_objects.py',
+ '<(bindings_scripts_dir)/utilities.py',
+ '<(idl_files_list)',
+ '<@(idl_files)',
+ ],
+ 'outputs': [
+ '<(output_file)',
+ ],
+ 'action': [
+ 'python',
+ '<(bindings_scripts_dir)/compute_global_objects.py',
+ '--idl-files-list',
+ '<(idl_files_list)',
+ '--write-file-only-if-changed',
+ '<(write_file_only_if_changed)',
+ '--',
+ '<@(input_files)',
+ '<(output_file)',
+ ],
+ }],
+}

Powered by Google App Engine
This is Rietveld 408576698