blob: c74dc095975149d9183a4889bc498d8cab2e3900 [file] [log] [blame]
# Copyright 2024 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//build/components.gni")
import("//build/rust/rustc_library.gni")
import("//third_party/cobalt/metrics_registry.gni")
rustc_library("wlan-telemetry") {
name = "wlan_telemetry"
version = "0.1.0"
with_unit_tests = true
edition = "2021"
deps = [
":wlan_legacy_metrics_registry",
"//sdk/fidl/fuchsia.metrics:fuchsia.metrics_rust",
"//sdk/fidl/fuchsia.power.battery:fuchsia.power.battery_rust",
"//sdk/fidl/fuchsia.wlan.device.service:fuchsia.wlan.device.service_rust",
"//sdk/fidl/fuchsia.wlan.ieee80211:fuchsia.wlan.ieee80211_rust",
"//sdk/fidl/fuchsia.wlan.sme:fuchsia.wlan.sme_rust",
"//sdk/fidl/fuchsia.wlan.stats:fuchsia.wlan.stats_rust",
"//sdk/rust/zx",
"//src/connectivity/wlan/lib/common/rust/:wlan-common",
"//src/diagnostics/persistence/fidl:persist_rust",
"//src/lib/diagnostics/inspect/contrib/auto_persist",
"//src/lib/diagnostics/inspect/contrib/rust",
"//src/lib/diagnostics/inspect/derive",
"//src/lib/diagnostics/inspect/rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/fuchsia-sync",
"//src/lib/windowed-stats",
"//third_party/cobalt/src/lib/client/rust:cobalt-client",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:derivative",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:log",
"//third_party/rust_crates:strum",
"//third_party/rust_crates:strum_macros",
]
sources = [
"src/lib.rs",
"src/processors/client_iface_counters.rs",
"src/processors/connect_disconnect.rs",
"src/processors/iface.rs",
"src/processors/mod.rs",
"src/processors/power.rs",
"src/processors/recovery.rs",
"src/processors/scan.rs",
"src/processors/sme_timeout.rs",
"src/processors/toggle_events.rs",
"src/testing/mod.rs",
"src/util/cobalt_logger.rs",
"src/util/mod.rs",
"src/util/sender.rs",
]
test_deps = [
"//sdk/fidl/fuchsia.metrics:fuchsia.metrics_rust",
"//src/connectivity/wlan/lib/common/rust/:wlan-common",
"//src/connectivity/wlan/lib/ieee80211-testutils",
"//src/lib/diagnostics/inspect/contrib/rust",
"//src/lib/diagnostics/inspect/derive",
"//src/lib/diagnostics/inspect/rust",
"//src/lib/diagnostics/testing/diagnostics-assertions/rust:diagnostics-assertions",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//third_party/rust_crates:assert_matches",
"//third_party/rust_crates:rand",
"//third_party/rust_crates:test-case",
]
configs -= [ "//build/config/rust/lints:allow_unused_results" ]
configs += [ "//build/config/rust/lints:clippy_warn_all" ]
}
fuchsia_unittest_package("wlan-telemetry-tests") {
deps = [ ":wlan-telemetry_test" ]
}
# Note: due to b/319249805, this may not be named "wlan_metrics_registry"
metrics_registry("wlan_legacy_metrics_registry") {
# This must match the ID of our Cobalt project as specified in:
# //third_party/cobalt_config/projects.yaml
project_id = 3708719327
generate_rust = true # Generates a rust target with '_rustlib' appended
}