1 # Copyright 2014 The Chromium Authors. All rights reserved. 2 # Use of this source code is governed by a BSD-style license that can be 3 # found in the LICENSE file. 4 # 5 # This file is meant to be included into a target to provide an action 6 # to compute information about individual interfaces defined in a component. 7 # 8 # To use this, create a gyp target with the following form: 9 # { 10 # 'target_name': 'interfaces_info_individual_component', 11 # 'dependencies': [ 12 # 'generated_idls_target', 13 # ], 14 # 'variables': { 15 # 'static_idl_files': '<(component_static_idl_files)', 16 # 'generated_idl_files': '<(component_generated_idl_files)', 17 # 'component_dir': 'component', 18 # 'output_file': 19 # '<(bindings_core_output_dir)/InterfacesInfoComponentIndividual.pickle', 20 # }, 21 # 'includes': ['path/to/this/gypi/file'], 22 # }, 23 # 24 # Required variables: 25 # static_idl_files - All static .idl files for the component, including 26 # dependencies and testing. 27 # generated_idl_files - All generated .idl files for the component. 28 # (Must be separate from static because build dir not know at gyp time.) 29 # component_dir - Relative directory for component, e.g., 'core'. 30 # output_file - Pickle file containing output. 31 # 32 # Design document: http://www.chromium.org/developers/design-documents/idl-build 33 34 { 35 'type': 'none', 36 'actions': [{ 37 'action_name': 'compute_<(_target_name)', 38 'message': 'Computing global information about individual IDL files for <(_target_name)', 39 'variables': { 40 'static_idl_files_list': 41 '<|(<(_target_name)_static_idl_files_list.tmp <@(static_idl_files))', 42 }, 43 'inputs': [ 44 '<(bindings_scripts_dir)/compute_interfaces_info_individual.py', 45 '<(bindings_scripts_dir)/utilities.py', 46 '<(static_idl_files_list)', 47 '<@(static_idl_files)', 48 '<@(generated_idl_files)', 49 ], 50 'outputs': [ 51 '<(output_file)', 52 ], 53 54 'action': [ 55 'python', 56 '<(bindings_scripts_dir)/compute_interfaces_info_individual.py', 57 '--component-dir', 58 '<(component_dir)', 59 '--idl-files-list', 60 '<(static_idl_files_list)', 61 '--interfaces-info-file', 62 '<(output_file)', 63 '--write-file-only-if-changed', 64 '<(write_file_only_if_changed)', 65 '--', 66 # Generated files must be passed at command line 67 '<@(generated_idl_files)', 68 ], 69 }], 70 } 71