| # Copyright 2021 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/fidl/fidl.gni") |
| import("//build/icu/icu_fuchsia_component.gni") |
| import("//build/icu/icu_fuchsia_package.gni") |
| import("//build/icu/icu_rustc_binary.gni") |
| |
| icu_rustc_binary("scene_manager_bin") { |
| output_name = "scene_manager" |
| with_unit_tests = true |
| edition = "2021" |
| |
| icu_deps = [ |
| "//src/lib/icu_data/rust/icu_data:icu_data", |
| "//src/ui/lib/input_pipeline:input_pipeline", |
| "//src/ui/lib/scene_management:scene_management", |
| ] |
| |
| deps = [ |
| ":scene_manager_structured_config", |
| "//sdk/fidl/fuchsia.accessibility:fuchsia.accessibility_rust", |
| "//sdk/fidl/fuchsia.accessibility.scene:fuchsia.accessibility.scene_rust", |
| "//sdk/fidl/fuchsia.element:fuchsia.element_rust", |
| "//sdk/fidl/fuchsia.factory:fuchsia.factory_rust", |
| "//sdk/fidl/fuchsia.input.injection:fuchsia.input.injection_rust", |
| "//sdk/fidl/fuchsia.input.interaction:fuchsia.input.interaction_rust", |
| "//sdk/fidl/fuchsia.input.interaction.observation:fuchsia.input.interaction.observation_rust", |
| "//sdk/fidl/fuchsia.lightsensor:fuchsia.lightsensor_rust", |
| "//sdk/fidl/fuchsia.recovery.policy:fuchsia.recovery.policy_rust", |
| "//sdk/fidl/fuchsia.recovery.ui:fuchsia.recovery.ui_rust", |
| "//sdk/fidl/fuchsia.session.scene:fuchsia.session.scene_rust", |
| "//sdk/fidl/fuchsia.settings:fuchsia.settings_rust", |
| "//sdk/fidl/fuchsia.ui.brightness:fuchsia.ui.brightness_rust", |
| "//sdk/fidl/fuchsia.ui.composition:fuchsia.ui.composition_rust", |
| "//sdk/fidl/fuchsia.ui.composition.internal:fuchsia.ui.composition.internal_rust", |
| "//sdk/fidl/fuchsia.ui.display.color:fuchsia.ui.display.color_rust", |
| "//sdk/fidl/fuchsia.ui.display.singleton:fuchsia.ui.display.singleton_rust", |
| "//sdk/fidl/fuchsia.ui.focus:fuchsia.ui.focus_rust", |
| "//sdk/fidl/fuchsia.ui.pointerinjector.configuration:fuchsia.ui.pointerinjector.configuration_rust", |
| "//sdk/fidl/fuchsia.ui.policy:fuchsia.ui.policy_rust", |
| "//src/lib/diagnostics/inspect/runtime/rust", |
| "//src/lib/diagnostics/inspect/rust", |
| "//src/lib/fidl/rust/fidl", |
| "//src/lib/fuchsia", |
| "//src/lib/fuchsia-async", |
| "//src/lib/fuchsia-component", |
| "//src/lib/trace/rust:trace-provider", |
| "//src/lib/zircon/rust:fuchsia-zircon", |
| "//src/ui/lib/focus_chain_provider:lib_with_includes", |
| "//third_party/rust_crates:anyhow", |
| "//third_party/rust_crates:futures", |
| "//third_party/rust_crates:serde_json", |
| "//third_party/rust_crates:tracing", |
| ] |
| |
| test_deps = [ |
| "//src/lib/ui/fuchsia-scenic", |
| "//src/ui/lib/scene_management:scene_management_mocks", |
| "//third_party/rust_crates:assert_matches", |
| ] |
| |
| sources = [ |
| "src/color_transform_manager.rs", |
| "src/factory_reset_countdown_server.rs", |
| "src/factory_reset_device_server.rs", |
| "src/input_device_registry_server.rs", |
| "src/input_pipeline.rs", |
| "src/light_sensor_server.rs", |
| "src/main.rs", |
| "src/media_buttons_listener_registry_server.rs", |
| ] |
| } |
| |
| fuchsia_component_manifest("manifest") { |
| component_name = "scene_manager" |
| manifest = "meta/scene_manager.cml" |
| } |
| |
| icu_fuchsia_component("scene_manager_component") { |
| cm_label = ":manifest" |
| icu_deps = [ |
| ":scene_manager_bin", |
| "//src/lib/icu:icudtl", |
| ] |
| } |
| |
| # TODO(https://fxbug.dev/42057898): Remove test-only target when |
| # default config values are available. |
| group("scene_manager_component_for_test") { |
| deps = [ |
| ":config_for_test", |
| ":scene_manager_component", |
| ] |
| } |
| |
| icu_fuchsia_package("scene_manager") { |
| validate_structured_config = false |
| icu_deps = [ ":scene_manager_component" ] |
| } |
| |
| fuchsia_unittest_package("scene_manager_tests") { |
| deps = [ ":scene_manager_bin_test" ] |
| test_type = "system" |
| } |
| |
| fuchsia_structured_config_rust_lib("scene_manager_structured_config") { |
| cm_label = ":manifest" |
| } |
| |
| fuchsia_structured_config_values("config_for_test") { |
| visibility = [ ":scene_manager_component_for_test" ] |
| cm_label = ":manifest" |
| values = { |
| idle_threshold_ms = 5000 |
| supported_input_devices = [ |
| "button", |
| "keyboard", |
| "lightsensor", |
| "mouse", |
| "touchscreen", |
| ] |
| display_rotation = 270 |
| display_pixel_density = "4.1668" |
| viewing_distance = "near" |
| } |
| } |