| # Copyright 2019 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/config.gni") |
| import("//build/package.gni") |
| import("//build/rust/rustc_binary.gni") |
| import("//build/rust/rustc_library.gni") |
| import("//build/test/test_package.gni") |
| import("//build/testing/environments.gni") |
| |
| group("setui") { |
| testonly = true |
| deps = [ |
| ":bin", |
| ":lib", |
| ":setui_service", |
| ":setui_service_tests", |
| ] |
| } |
| |
| rustc_library("lib") { |
| name = "settings" |
| with_unit_tests = true |
| edition = "2018" |
| |
| deps = [ |
| "//sdk/fidl/fuchsia.bluetooth:fuchsia.bluetooth-rustc", |
| "//sdk/fidl/fuchsia.bluetooth.sys:fuchsia.bluetooth.sys-rustc", |
| "//sdk/fidl/fuchsia.deprecatedtimezone:fuchsia.deprecatedtimezone-rustc", |
| "//sdk/fidl/fuchsia.devicesettings:fuchsia.devicesettings-rustc", |
| "//sdk/fidl/fuchsia.hardware.input:fuchsia.hardware.input-rustc", |
| "//sdk/fidl/fuchsia.intl:fuchsia.intl-rustc", |
| "//sdk/fidl/fuchsia.media:fuchsia.media-rustc", |
| "//sdk/fidl/fuchsia.media.audio:fuchsia.media.audio-rustc", |
| "//sdk/fidl/fuchsia.media.sounds:fuchsia.media.sounds-rustc", |
| "//sdk/fidl/fuchsia.settings:fuchsia.settings-rustc", |
| "//sdk/fidl/fuchsia.setui:fuchsia.setui-rustc", |
| "//sdk/fidl/fuchsia.stash:fuchsia.stash-rustc", |
| "//sdk/fidl/fuchsia.ui.brightness:fuchsia.ui.brightness-rustc", |
| "//sdk/fidl/fuchsia.ui.input:fuchsia.ui.input-rustc", |
| "//sdk/fidl/fuchsia.ui.policy:fuchsia.ui.policy-rustc", |
| "//sdk/fidl/fuchsia.ui.types:fuchsia.ui.types-rustc", |
| "//src/lib/fdio/rust:fdio", |
| "//src/lib/fidl/rust/fidl", |
| "//src/lib/fuchsia-async", |
| "//src/lib/fuchsia-component", |
| "//src/lib/icu_data/rust/icu_data", |
| "//src/lib/inspect/rust/fuchsia-inspect", |
| "//src/lib/syslog/rust:syslog", |
| "//src/lib/zircon/rust:fuchsia-zircon", |
| "//third_party/rust_crates:anyhow", |
| "//third_party/rust_crates:async-trait", |
| "//third_party/rust_crates:bitflags", |
| "//third_party/rust_crates:byteorder", |
| "//third_party/rust_crates:futures", |
| "//third_party/rust_crates:lazy_static", |
| "//third_party/rust_crates:log", |
| "//third_party/rust_crates:parking_lot", |
| "//third_party/rust_crates:rand", |
| "//third_party/rust_crates:rust_icu_ucal", |
| "//third_party/rust_crates:rust_icu_uenum", |
| "//third_party/rust_crates:serde", |
| "//third_party/rust_crates:serde_json", |
| "//third_party/rust_crates:thiserror", |
| "//zircon/system/fidl/fuchsia-device-manager:fuchsia-device-manager-rustc", |
| "//zircon/system/fidl/fuchsia-io:fuchsia-io-rustc", |
| ] |
| } |
| |
| test_package("setui_service_tests") { |
| deps = [ |
| ":lib_test", |
| ":tests_config", |
| ] |
| |
| tests = [ |
| { |
| name = "settings_lib_test" |
| environments = basic_envs |
| }, |
| ] |
| |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| ] |
| } |
| |
| config_data("tests_config") { |
| for_pkg = "setui_service_tests" |
| sources = [ |
| "src/tests/testdata/audio_config_data.json", |
| "src/tests/testdata/bluetooth-connected.wav", |
| "src/tests/testdata/bluetooth-disconnected.wav", |
| "src/tests/testdata/fake_config_data.json", |
| "src/tests/testdata/fake_invalid_config_data.json", |
| "src/tests/testdata/service_configuration.json", |
| "src/tests/testdata/volume-changed.wav", |
| "src/tests/testdata/volume-max.wav", |
| ] |
| } |
| |
| rustc_binary("bin") { |
| name = "setui_service" |
| with_unit_tests = true |
| |
| edition = "2018" |
| |
| deps = [ |
| ":lib", |
| "//sdk/fidl/fuchsia.settings:fuchsia.settings-rustc", |
| "//sdk/fidl/fuchsia.stash:fuchsia.stash-rustc", |
| "//src/lib/fidl/rust/fidl", |
| "//src/lib/fuchsia-async", |
| "//src/lib/fuchsia-component", |
| "//src/lib/syslog/rust:syslog", |
| "//src/lib/zircon/rust:fuchsia-zircon", |
| "//third_party/rust_crates:anyhow", |
| "//third_party/rust_crates:futures", |
| "//third_party/rust_crates:parking_lot", |
| ] |
| } |
| |
| package("setui_service") { |
| deps = [ ":bin" ] |
| |
| binaries = [ |
| { |
| name = "setui_service" |
| }, |
| ] |
| |
| meta = [ |
| { |
| path = rebase_path("meta/setui_service.cmx") |
| dest = "setui_service.cmx" |
| }, |
| { |
| path = rebase_path("meta/setui_service.cml") |
| dest = "setui_service.cm" |
| }, |
| ] |
| |
| # Timezone resources, needed to validate input to fuchsia.settings.intl. |
| resources = [ |
| { |
| path = rebase_path("//third_party/icu/common/icudtl.dat") |
| dest = "icudtl.dat" |
| }, |
| ] |
| } |