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 overall information about interfaces defined in a component. 7 # 8 # To use this, create a gyp target with the following form: 9 # { 10 # 'target_name': 'interfaces_info_component', 11 # 'dependencies': [ 12 # 'interfaces_info_individual_base_component', 13 # 'interfaces_info_individual_component', 14 # ], 15 # 'variables': { 16 # 'input_files': [ 17 # '<(bindings_base_component_output_dir)/InterfacesInfoBaseComponentIndividual.pickle', 18 # '<(bindings_component_output_dir)/InterfacesInfoComponentIndividual.pickle', 19 # ], 20 # 'output_file': 21 # '<(bindings_component_output_dir)/InterfacesInfoComponent.pickle', 22 # }, 23 # 'includes': ['path/to/this/gypi/file'], 24 # }, 25 # 26 # Required variables: 27 # input_files - Pickle files containing info about individual interfaces, both 28 # current component and any base components. 29 # output_file - Pickle file containing output (overall info). 30 # 31 # Design document: http://www.chromium.org/developers/design-documents/idl-build 32 33 { 34 'type': 'none', 35 'actions': [{ 36 'action_name': 'compute_<(_target_name)', 37 'message': 'Computing overall global information about IDL files for <(_target_name)', 38 39 'inputs': [ 40 '<(bindings_scripts_dir)/compute_interfaces_info_overall.py', 41 '<@(input_files)', 42 ], 43 'outputs': [ 44 '<(output_file)', 45 ], 46 'action': [ 47 'python', 48 '<(bindings_scripts_dir)/compute_interfaces_info_overall.py', 49 '--write-file-only-if-changed', 50 '<(write_file_only_if_changed)', 51 '--', 52 '<@(input_files)', 53 '<(output_file)', 54 ], 55 }], 56 } 57