blob: b6c3380ada3e11a356e07bc087873aa727976dac [file] [log] [blame]
# Copyright 2024 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
component("dwa_recorder") {
sources = [
"dwa_recorder.cc",
"dwa_recorder.h",
]
defines = [ "IS_DWA_RECORDER_IMPL" ]
public_deps = [
"//components/metrics/dwa/mojom",
"//third_party/metrics_proto",
]
deps = [ "//base" ]
}
# TODO(crbug.com/433729993): Build dwa static library under private_metrics static library.
static_library("dwa") {
sources = [
"//components/metrics/private_metrics/data_upload_config_downloader.cc",
"//components/metrics/private_metrics/data_upload_config_downloader.h",
"//components/metrics/private_metrics/private_metrics_pref_names.cc",
"//components/metrics/private_metrics/private_metrics_pref_names.h",
"//components/metrics/private_metrics/private_metrics_reporting_service.cc",
"//components/metrics/private_metrics/private_metrics_reporting_service.h",
"//components/metrics/private_metrics/private_metrics_unsent_log_store_metrics.cc",
"//components/metrics/private_metrics/private_metrics_unsent_log_store_metrics.h",
"dwa_entry_builder.cc",
"dwa_entry_builder.h",
"dwa_entry_builder_base.cc",
"dwa_entry_builder_base.h",
"dwa_pref_names.cc",
"dwa_pref_names.h",
"dwa_recorder_factory_impl.cc",
"dwa_recorder_factory_impl.h",
"dwa_recorder_interface.cc",
"dwa_recorder_interface.h",
"dwa_rotation_scheduler.cc",
"dwa_rotation_scheduler.h",
"dwa_service.cc",
"dwa_service.h",
]
public_deps = [
":dwa_recorder",
"//components/metrics/dwa/mojom",
"//third_party/federated_compute:confidential_compute_proto",
"//third_party/metrics_proto",
]
defines = [ "IS_DWA_IMPL" ]
deps = [
"//base",
"//build:buildflag_header_h",
"//components/metrics",
"//components/metrics:metrics_pref_names",
"//components/prefs",
"//components/version_info",
"//mojo/public/cpp/bindings",
"//net",
"//services/network/public/cpp",
"//third_party/federated_compute:confidential_compute",
"//third_party/oak:oak_proto",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"//components/metrics/private_metrics/data_upload_config_downloader_unittest.cc",
"dwa_entry_builder_unittest.cc",
"dwa_recorder_unittest.cc",
"dwa_service_unittest.cc",
]
deps = [
":dwa",
"//base",
"//base/test:test_support",
"//components/metrics",
"//components/metrics:test_support",
"//components/prefs",
"//components/prefs:test_support",
"//services/network:test_support",
"//services/network/public/cpp",
"//testing/gmock",
"//testing/gtest",
"//third_party/federated_compute:confidential_compute",
"//third_party/federated_compute:confidential_compute_proto",
"//third_party/metrics_proto",
"//third_party/oak:oak_proto",
]
}
action("gen_private_metrics_builders") {
script = "//tools/metrics/private_metrics/gen_builders.py"
# Re-generate the outputs if the codegen code changes:
inputs = [
"//tools/metrics/private_metrics/builders_template.py",
"//tools/metrics/private_metrics/decode_template.py",
"//tools/metrics/private_metrics/codegen.py",
]
sources = [ "//tools/metrics/private_metrics/dwa.xml" ]
outdir = "$target_gen_dir"
outputs = [
outdir + "/dwa_builders.cc",
outdir + "/dwa_builders.h",
outdir + "/dwa_decode.cc",
outdir + "/dwa_decode.h",
]
args = [
"--input",
rebase_path(sources[0], root_build_dir),
"--output",
rebase_path(outdir, root_build_dir),
]
}
static_library("dwa_builders") {
sources = get_target_outputs(":gen_private_metrics_builders")
deps = [
":dwa",
":gen_private_metrics_builders",
"//base",
]
}