blob: ca5ca5c9555ce91d35cd54a73aa4a2f97b9ed6e7 [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") {
sources = [
"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.cc",
"dwa_recorder.h",
"dwa_recorder_factory_impl.cc",
"dwa_recorder_factory_impl.h",
"dwa_recorder_interface.cc",
"dwa_recorder_interface.h",
"dwa_reporting_service.cc",
"dwa_reporting_service.h",
"dwa_service.cc",
"dwa_service.h",
]
public_deps = [
"//components/metrics/dwa/mojom",
"//third_party/metrics_proto",
]
defines = [ "IS_DWA_IMPL" ]
deps = [
"//base",
"//build:buildflag_header_h",
"//components/metrics",
"//components/metrics:metrics_pref_names",
"//components/prefs:prefs",
"//components/version_info:version_info",
"//mojo/public/cpp/bindings",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"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:prefs",
"//components/prefs:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/metrics_proto",
]
}
action("gen_dwa_builders") {
script = "//tools/metrics/dwa/gen_builders.py"
# Re-generate the outputs if the codegen code changes:
inputs = [
"//tools/metrics/dwa/builders_template.py",
"//tools/metrics/dwa/decode_template.py",
"//tools/metrics/dwa/codegen.py",
]
sources = [ "//tools/metrics/dwa/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_dwa_builders")
deps = [
":dwa",
":gen_dwa_builders",
"//base",
]
}