Home | History | Annotate | Download | only in scripts
      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