blob: e649e4ca7355af325c939ba7010c5e0218cead9f [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/metadata/accessibility/histograms.xml",
"//tools/metrics/histograms/metadata/account_manager/histograms.xml",
"//tools/metrics/histograms/metadata/android/histograms.xml",
"//tools/metrics/histograms/metadata/apps/histograms.xml",
"//tools/metrics/histograms/metadata/arc/histograms.xml",
"//tools/metrics/histograms/metadata/ash/histograms.xml",
"//tools/metrics/histograms/metadata/assistant/histograms.xml",
"//tools/metrics/histograms/metadata/auth/histograms.xml",
"//tools/metrics/histograms/metadata/auto/histograms.xml",
"//tools/metrics/histograms/metadata/autofill/histograms.xml",
"//tools/metrics/histograms/metadata/background/histograms.xml",
"//tools/metrics/histograms/metadata/blink/histograms.xml",
"//tools/metrics/histograms/metadata/bluetooth/histograms.xml",
"//tools/metrics/histograms/metadata/bookmarks/histograms.xml",
"//tools/metrics/histograms/metadata/borealis/histograms.xml",
"//tools/metrics/histograms/metadata/browser/histograms.xml",
"//tools/metrics/histograms/metadata/browsing_topics/histograms.xml",
"//tools/metrics/histograms/metadata/chrome/histograms.xml",
"//tools/metrics/histograms/metadata/chromeos/histograms.xml",
"//tools/metrics/histograms/metadata/chromeos_hps/histograms.xml",
"//tools/metrics/histograms/metadata/chromeos_settings/histograms.xml",
"//tools/metrics/histograms/metadata/commerce/histograms.xml",
"//tools/metrics/histograms/metadata/compositing/histograms.xml",
"//tools/metrics/histograms/metadata/content/histograms.xml",
"//tools/metrics/histograms/metadata/content_creation/histograms.xml",
"//tools/metrics/histograms/metadata/cookie/histograms.xml",
"//tools/metrics/histograms/metadata/cras/histograms.xml",
"//tools/metrics/histograms/metadata/cros/histograms.xml",
"//tools/metrics/histograms/metadata/cros_ml/histograms.xml",
"//tools/metrics/histograms/metadata/cross_device/histograms.xml",
"//tools/metrics/histograms/metadata/crostini/histograms.xml",
"//tools/metrics/histograms/metadata/cryptohome/histograms.xml",
"//tools/metrics/histograms/metadata/custom_tabs/histograms.xml",
"//tools/metrics/histograms/metadata/data/histograms.xml",
"//tools/metrics/histograms/metadata/dev/histograms.xml",
"//tools/metrics/histograms/metadata/diagnostics/histograms.xml",
"//tools/metrics/histograms/metadata/direct/histograms.xml",
"//tools/metrics/histograms/metadata/disk/histograms.xml",
"//tools/metrics/histograms/metadata/download/histograms.xml",
"//tools/metrics/histograms/metadata/enterprise/histograms.xml",
"//tools/metrics/histograms/metadata/event/histograms.xml",
"//tools/metrics/histograms/metadata/extensions/histograms.xml",
"//tools/metrics/histograms/metadata/families/histograms.xml",
"//tools/metrics/histograms/metadata/feature_engagement/histograms.xml",
"//tools/metrics/histograms/metadata/file/histograms.xml",
"//tools/metrics/histograms/metadata/fingerprint/histograms.xml",
"//tools/metrics/histograms/metadata/gcm/histograms.xml",
"//tools/metrics/histograms/metadata/geolocation/histograms.xml",
"//tools/metrics/histograms/metadata/google/histograms.xml",
"//tools/metrics/histograms/metadata/gpu/histograms.xml",
"//tools/metrics/histograms/metadata/hang_watcher/histograms.xml",
"//tools/metrics/histograms/metadata/help_app/histograms.xml",
"//tools/metrics/histograms/metadata/histogram_suffixes_list.xml",
"//tools/metrics/histograms/metadata/history/histograms.xml",
"//tools/metrics/histograms/metadata/holding_space/histograms.xml",
"//tools/metrics/histograms/metadata/image/histograms.xml",
"//tools/metrics/histograms/metadata/input/histograms.xml",
"//tools/metrics/histograms/metadata/installer/histograms.xml",
"//tools/metrics/histograms/metadata/interstitial/histograms.xml",
"//tools/metrics/histograms/metadata/ios/histograms.xml",
"//tools/metrics/histograms/metadata/kerberos/histograms.xml",
"//tools/metrics/histograms/metadata/language/histograms.xml",
"//tools/metrics/histograms/metadata/leveldb_proto/histograms.xml",
"//tools/metrics/histograms/metadata/local/histograms.xml",
"//tools/metrics/histograms/metadata/login/histograms.xml",
"//tools/metrics/histograms/metadata/media/histograms.xml",
"//tools/metrics/histograms/metadata/memory/histograms.xml",
"//tools/metrics/histograms/metadata/mobile/histograms.xml",
"//tools/metrics/histograms/metadata/na_cl/histograms.xml",
"//tools/metrics/histograms/metadata/navigation/histograms.xml",
"//tools/metrics/histograms/metadata/nearby/histograms.xml",
"//tools/metrics/histograms/metadata/net/histograms.xml",
"//tools/metrics/histograms/metadata/network/histograms.xml",
"//tools/metrics/histograms/metadata/new_tab_page/histograms.xml",
"//tools/metrics/histograms/metadata/notifications/histograms.xml",
"//tools/metrics/histograms/metadata/offline/histograms.xml",
"//tools/metrics/histograms/metadata/omnibox/histograms.xml",
"//tools/metrics/histograms/metadata/oobe/histograms.xml",
"//tools/metrics/histograms/metadata/optimization/histograms.xml",
"//tools/metrics/histograms/metadata/others/histograms.xml",
"//tools/metrics/histograms/metadata/page/histograms.xml",
"//tools/metrics/histograms/metadata/password/histograms.xml",
"//tools/metrics/histograms/metadata/payment/histograms.xml",
"//tools/metrics/histograms/metadata/pcscan/histograms.xml",
"//tools/metrics/histograms/metadata/pdf/histograms.xml",
"//tools/metrics/histograms/metadata/performance_manager/histograms.xml",
"//tools/metrics/histograms/metadata/permissions/histograms.xml",
"//tools/metrics/histograms/metadata/phonehub/histograms.xml",
"//tools/metrics/histograms/metadata/platform/histograms.xml",
"//tools/metrics/histograms/metadata/plugin/histograms.xml",
"//tools/metrics/histograms/metadata/plugin_vm/histograms.xml",
"//tools/metrics/histograms/metadata/power/histograms.xml",
"//tools/metrics/histograms/metadata/prefetch/histograms.xml",
"//tools/metrics/histograms/metadata/print/histograms.xml",
"//tools/metrics/histograms/metadata/printing/histograms.xml",
"//tools/metrics/histograms/metadata/privacy/histograms.xml",
"//tools/metrics/histograms/metadata/privacy_budget/histograms.xml",
"//tools/metrics/histograms/metadata/profile/histograms.xml",
"//tools/metrics/histograms/metadata/quick_answers/histograms.xml",
"//tools/metrics/histograms/metadata/quickoffice/histograms.xml",
"//tools/metrics/histograms/metadata/quota/histograms.xml",
"//tools/metrics/histograms/metadata/renderer/histograms.xml",
"//tools/metrics/histograms/metadata/renderer4/histograms.xml",
"//tools/metrics/histograms/metadata/safe_browsing/histograms.xml",
"//tools/metrics/histograms/metadata/sb_client/histograms.xml",
"//tools/metrics/histograms/metadata/scanning/histograms.xml",
"//tools/metrics/histograms/metadata/scheduler/histograms.xml",
"//tools/metrics/histograms/metadata/search/histograms.xml",
"//tools/metrics/histograms/metadata/security/histograms.xml",
"//tools/metrics/histograms/metadata/segmentation_platform/histograms.xml",
"//tools/metrics/histograms/metadata/service/histograms.xml",
"//tools/metrics/histograms/metadata/session/histograms.xml",
"//tools/metrics/histograms/metadata/settings/histograms.xml",
"//tools/metrics/histograms/metadata/sharing/histograms.xml",
"//tools/metrics/histograms/metadata/side_search/histograms.xml",
"//tools/metrics/histograms/metadata/signin/histograms.xml",
"//tools/metrics/histograms/metadata/simple/histograms.xml",
"//tools/metrics/histograms/metadata/software/histograms.xml",
"//tools/metrics/histograms/metadata/stability/histograms.xml",
"//tools/metrics/histograms/metadata/startup/histograms.xml",
"//tools/metrics/histograms/metadata/storage/histograms.xml",
"//tools/metrics/histograms/metadata/subresource/histograms.xml",
"//tools/metrics/histograms/metadata/sync/histograms.xml",
"//tools/metrics/histograms/metadata/invalidation/histograms.xml",
"//tools/metrics/histograms/metadata/tab/histograms.xml",
"//tools/metrics/histograms/metadata/translate/histograms.xml",
"//tools/metrics/histograms/metadata/ukm/histograms.xml",
"//tools/metrics/histograms/metadata/uma/histograms.xml",
"//tools/metrics/histograms/metadata/update_engine/histograms.xml",
"//tools/metrics/histograms/metadata/v8/histograms.xml",
"//tools/metrics/histograms/metadata/variations/histograms.xml",
"//tools/metrics/histograms/metadata/video_tutorials/histograms.xml",
"//tools/metrics/histograms/metadata/web_apk/histograms.xml",
"//tools/metrics/histograms/metadata/web_audio/histograms.xml",
"//tools/metrics/histograms/metadata/web_core/histograms.xml",
"//tools/metrics/histograms/metadata/web_rtc/histograms.xml",
"//tools/metrics/histograms/metadata/webapps/histograms.xml",
"//tools/metrics/histograms/metadata/webauthn/histograms.xml",
"//tools/metrics/histograms/metadata/weblayer/histograms.xml",
"//tools/metrics/histograms/metadata/windows/histograms.xml",
"//tools/metrics/histograms/metadata/xr/histograms.xml",
"//tools/metrics/histograms/metadata/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)
}
}