blob: 7dd2cacfcdceb6a091b229247ebdbece4c90ce5b [file] [log] [blame]
# 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/bazel/bazel_inputs.gni")
import("//build/components.gni")
import("//build/rust/rustc_binary.gni")
# TODO(https://fxbug.dev/42169911): add some tests. Add these to //src/session/examples:tests
# group("tests") {}
rustc_binary("bin") {
output_name = "tiles-session"
with_unit_tests = true
edition = "2021"
deps = [
":tiles_config",
"//sdk/fidl/fuchsia.element:fuchsia.element_rust",
"//sdk/fidl/fuchsia.session.scene:fuchsia.session.scene_rust",
"//sdk/fidl/fuchsia.ui.composition:fuchsia.ui.composition_rust",
"//sdk/fidl/fuchsia.ui.views:fuchsia.ui.views_rust",
"//src/lib/fidl/rust/fidl",
"//src/lib/fuchsia",
"//src/lib/fuchsia-async",
"//src/lib/fuchsia-component",
"//src/lib/ui/fuchsia-scenic",
"//src/lib/zircon/rust:fuchsia-zircon",
"//third_party/rust_crates:anyhow",
"//third_party/rust_crates:futures",
"//third_party/rust_crates:tracing",
]
test_deps = []
sources = [ "src/main.rs" ]
}
fuchsia_component_manifest("tiles_manifest") {
manifest = "meta/tiles-session.cml"
component_name = "tiles-session"
}
fuchsia_structured_config_rust_lib("tiles_config") {
cm_label = ":tiles_manifest"
}
fuchsia_component("tiles_component") {
cm_label = ":tiles_manifest"
deps = [ ":bin" ]
}
fuchsia_structured_config_values("tiles_config_values") {
cm_label = ":tiles_manifest"
values_source = "//src/ui/bin/tiles-session/meta/config.json5"
}
fuchsia_package("tiles-session") {
package_name = "tiles-session"
subpackages = [ "//src/session/bin/element_manager" ]
deps = [
":tiles_component",
":tiles_config_values",
":tiles_manifest",
]
}
# Make `tiles_session` available to products assembled with Bazel.
#
# TODO(https://fxbug.dev/42073448): Make this less verbose.
fuchsia_package_archive("tiles_session_archive") {
package = ":tiles-session"
}
bazel_input_resource("tiles_session_bazel_inputs") {
deps = [ ":tiles_session_archive" ]
sources = get_target_outputs(":tiles_session_archive")
outputs = [ "{{source_file_part}}" ]
}