chromium/components/metrics/generate_expired_histograms_array.gni

# Copyright 2017 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//tools/metrics/histograms/histograms_xml_files.gni")

# Runs the resources map generation script other the given header files to
# produce an output file and a source_set to build it.
#
# Parameters:
#   inputs:
#     List of file name to read. Each file should be a .xml file with
#     histogram descriptions and should be a path starting with
#     //tools/metrics/histograms/
#
#   namespace (optional):
#     Namespace in which the generated code should be scoped. If left empty,
#     the code will be in the global namespace.
#
#   header_filename:
#     Name of the generated header file.
#
#   major_branch_date_filepath:
#     A path to the file with the base date.
#
#   milestone_filepath:
#     A path to the file with the milestone information.
#
template("generate_expired_histograms_array") {
  action(target_name) {
    header_filename = "$target_gen_dir/" + invoker.header_filename

    script = "//tools/metrics/histograms/generate_expired_histograms_array.py"
    outputs = [ header_filename ]

    inputs = histograms_xml_files

    major_branch_date_filepath = invoker.major_branch_date_filepath
    milestone_filepath = invoker.milestone_filepath

    args = []

    if (defined(invoker.namespace) && invoker.namespace != "") {
      args += [ "-n" + invoker.namespace ]
    }

    args += [
              "-o" + rebase_path(root_gen_dir, root_build_dir),
              "-H" + rebase_path(header_filename, root_gen_dir),
              "-d" + rebase_path(major_branch_date_filepath, root_build_dir),
              "-m" + rebase_path(milestone_filepath, root_build_dir),
            ] + rebase_path(inputs, root_build_dir)
  }
}