blob: c9b4562e37b9be147982a732a67f086666db2b57 [file] [log] [blame]
# Copyright 2017 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.
# 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 = [
"//tools/metrics/histograms/histograms.xml",
"//tools/metrics/histograms/histograms_xml/accessibility/histograms.xml",
"//tools/metrics/histograms/histograms_xml/android/histograms.xml",
"//tools/metrics/histograms/histograms_xml/apps/histograms.xml",
"//tools/metrics/histograms/histograms_xml/arc/histograms.xml",
"//tools/metrics/histograms/histograms_xml/ash/histograms.xml",
"//tools/metrics/histograms/histograms_xml/assistant/histograms.xml",
"//tools/metrics/histograms/histograms_xml/auth/histograms.xml",
"//tools/metrics/histograms/histograms_xml/auto/histograms.xml",
"//tools/metrics/histograms/histograms_xml/autofill/histograms.xml",
"//tools/metrics/histograms/histograms_xml/background/histograms.xml",
"//tools/metrics/histograms/histograms_xml/blink/histograms.xml",
"//tools/metrics/histograms/histograms_xml/bluetooth/histograms.xml",
"//tools/metrics/histograms/histograms_xml/borealis/histograms.xml",
"//tools/metrics/histograms/histograms_xml/browser/histograms.xml",
"//tools/metrics/histograms/histograms_xml/chrome/histograms.xml",
"//tools/metrics/histograms/histograms_xml/chromeos/histograms.xml",
"//tools/metrics/histograms/histograms_xml/cloud/histograms.xml",
"//tools/metrics/histograms/histograms_xml/compositing/histograms.xml",
"//tools/metrics/histograms/histograms_xml/content/histograms.xml",
"//tools/metrics/histograms/histograms_xml/cookie/histograms.xml",
"//tools/metrics/histograms/histograms_xml/cras/histograms.xml",
"//tools/metrics/histograms/histograms_xml/cros/histograms.xml",
"//tools/metrics/histograms/histograms_xml/crostini/histograms.xml",
"//tools/metrics/histograms/histograms_xml/crypt/histograms.xml",
"//tools/metrics/histograms/histograms_xml/cryptohome/histograms.xml",
"//tools/metrics/histograms/histograms_xml/custom_tabs/histograms.xml",
"//tools/metrics/histograms/histograms_xml/data_reduction_proxy/histograms.xml",
"//tools/metrics/histograms/histograms_xml/dev/histograms.xml",
"//tools/metrics/histograms/histograms_xml/diagnostics/histograms.xml",
"//tools/metrics/histograms/histograms_xml/direct/histograms.xml",
"//tools/metrics/histograms/histograms_xml/disk/histograms.xml",
"//tools/metrics/histograms/histograms_xml/dom/histograms.xml",
"//tools/metrics/histograms/histograms_xml/download/histograms.xml",
"//tools/metrics/histograms/histograms_xml/enterprise/histograms.xml",
"//tools/metrics/histograms/histograms_xml/event/histograms.xml",
"//tools/metrics/histograms/histograms_xml/extension/histograms.xml",
"//tools/metrics/histograms/histograms_xml/extensions/histograms.xml",
"//tools/metrics/histograms/histograms_xml/file/histograms.xml",
"//tools/metrics/histograms/histograms_xml/fingerprint/histograms.xml",
"//tools/metrics/histograms/histograms_xml/gcm/histograms.xml",
"//tools/metrics/histograms/histograms_xml/geolocation/histograms.xml",
"//tools/metrics/histograms/histograms_xml/google/histograms.xml",
"//tools/metrics/histograms/histograms_xml/gpu/histograms.xml",
"//tools/metrics/histograms/histograms_xml/hang_watcher/histograms.xml",
"//tools/metrics/histograms/histograms_xml/histogram_suffixes_list.xml",
"//tools/metrics/histograms/histograms_xml/history/histograms.xml",
"//tools/metrics/histograms/histograms_xml/holding_space/histograms.xml",
"//tools/metrics/histograms/histograms_xml/image/histograms.xml",
"//tools/metrics/histograms/histograms_xml/input/histograms.xml",
"//tools/metrics/histograms/histograms_xml/installer/histograms.xml",
"//tools/metrics/histograms/histograms_xml/instant/histograms.xml",
"//tools/metrics/histograms/histograms_xml/interstitial/histograms.xml",
"//tools/metrics/histograms/histograms_xml/ios/histograms.xml",
"//tools/metrics/histograms/histograms_xml/local/histograms.xml",
"//tools/metrics/histograms/histograms_xml/login/histograms.xml",
"//tools/metrics/histograms/histograms_xml/media/histograms.xml",
"//tools/metrics/histograms/histograms_xml/memory/histograms.xml",
"//tools/metrics/histograms/histograms_xml/mobile/histograms.xml",
"//tools/metrics/histograms/histograms_xml/multi_device/histograms.xml",
"//tools/metrics/histograms/histograms_xml/na_cl/histograms.xml",
"//tools/metrics/histograms/histograms_xml/navigation/histograms.xml",
"//tools/metrics/histograms/histograms_xml/net/histograms.xml",
"//tools/metrics/histograms/histograms_xml/network/histograms.xml",
"//tools/metrics/histograms/histograms_xml/new_tab_page/histograms.xml",
"//tools/metrics/histograms/histograms_xml/notifications/histograms.xml",
"//tools/metrics/histograms/histograms_xml/offline/histograms.xml",
"//tools/metrics/histograms/histograms_xml/omnibox/histograms.xml",
"//tools/metrics/histograms/histograms_xml/oobe/histograms.xml",
"//tools/metrics/histograms/histograms_xml/optimization/histograms.xml",
"//tools/metrics/histograms/histograms_xml/others/histograms.xml",
"//tools/metrics/histograms/histograms_xml/page/histograms.xml",
"//tools/metrics/histograms/histograms_xml/password/histograms.xml",
"//tools/metrics/histograms/histograms_xml/payment/histograms.xml",
"//tools/metrics/histograms/histograms_xml/permissions/histograms.xml",
"//tools/metrics/histograms/histograms_xml/phonehub/histograms.xml",
"//tools/metrics/histograms/histograms_xml/platform/histograms.xml",
"//tools/metrics/histograms/histograms_xml/plugin/histograms.xml",
"//tools/metrics/histograms/histograms_xml/power/histograms.xml",
"//tools/metrics/histograms/histograms_xml/print/histograms.xml",
"//tools/metrics/histograms/histograms_xml/printing/histograms.xml",
"//tools/metrics/histograms/histograms_xml/profile/histograms.xml",
"//tools/metrics/histograms/histograms_xml/quickoffice/histograms.xml",
"//tools/metrics/histograms/histograms_xml/quota/histograms.xml",
"//tools/metrics/histograms/histograms_xml/renderer/histograms.xml",
"//tools/metrics/histograms/histograms_xml/renderer4/histograms.xml",
"//tools/metrics/histograms/histograms_xml/safe_browsing/histograms.xml",
"//tools/metrics/histograms/histograms_xml/sb_client/histograms.xml",
"//tools/metrics/histograms/histograms_xml/scanning/histograms.xml",
"//tools/metrics/histograms/histograms_xml/scheduler/histograms.xml",
"//tools/metrics/histograms/histograms_xml/search/histograms.xml",
"//tools/metrics/histograms/histograms_xml/security/histograms.xml",
"//tools/metrics/histograms/histograms_xml/service/histograms.xml",
"//tools/metrics/histograms/histograms_xml/session/histograms.xml",
"//tools/metrics/histograms/histograms_xml/settings/histograms.xml",
"//tools/metrics/histograms/histograms_xml/sharing/histograms.xml",
"//tools/metrics/histograms/histograms_xml/signin/histograms.xml",
"//tools/metrics/histograms/histograms_xml/simple/histograms.xml",
"//tools/metrics/histograms/histograms_xml/smart/histograms.xml",
"//tools/metrics/histograms/histograms_xml/software/histograms.xml",
"//tools/metrics/histograms/histograms_xml/stability/histograms.xml",
"//tools/metrics/histograms/histograms_xml/startup/histograms.xml",
"//tools/metrics/histograms/histograms_xml/storage/histograms.xml",
"//tools/metrics/histograms/histograms_xml/subresource/histograms.xml",
"//tools/metrics/histograms/histograms_xml/sync/histograms.xml",
"//tools/metrics/histograms/histograms_xml/invalidation/histograms.xml",
"//tools/metrics/histograms/histograms_xml/tab/histograms.xml",
"//tools/metrics/histograms/histograms_xml/translate/histograms.xml",
"//tools/metrics/histograms/histograms_xml/ukm/histograms.xml",
"//tools/metrics/histograms/histograms_xml/uma/histograms.xml",
"//tools/metrics/histograms/histograms_xml/update_engine/histograms.xml",
"//tools/metrics/histograms/histograms_xml/v8/histograms.xml",
"//tools/metrics/histograms/histograms_xml/variations/histograms.xml",
"//tools/metrics/histograms/histograms_xml/video_tutorials/histograms.xml",
"//tools/metrics/histograms/histograms_xml/web_apk/histograms.xml",
"//tools/metrics/histograms/histograms_xml/web_audio/histograms.xml",
"//tools/metrics/histograms/histograms_xml/web_core/histograms.xml",
"//tools/metrics/histograms/histograms_xml/web_rtc/histograms.xml",
"//tools/metrics/histograms/histograms_xml/weblayer/histograms.xml",
"//tools/metrics/histograms/histograms_xml/windows/histograms.xml",
"//tools/metrics/histograms/histograms_xml/obsolete_histograms.xml",
"//tools/metrics/histograms/enums.xml",
]
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)
}
}