| # 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", |
| ] |
| } |