# Copyright 2022 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.

# [START imports]
load(
    "@rules_fuchsia//fuchsia:defs.bzl",
    "fuchsia_component",
    "fuchsia_component_manifest",
    "fuchsia_package",
)
# [END imports]

# [START component]
fuchsia_component_manifest(
    name = "manifest",
    src = "meta/echo_realm.cml",
    component_name = "echo_realm",
)

fuchsia_component(
    name = "echo_realm",
    component_name = "echo_realm",
    manifest = ":manifest",
)
# [END component]

# [START package]
fuchsia_package(
    name = "pkg",
    package_name = "components_routing_example",
    visibility = ["//visibility:public"],
    components = [
        ":echo_realm",
        "//src/routing/cpp/echo_client:echo_client_component",
        "//src/routing/cpp/echo_server:echo_server_component",
    ],
)
# [END package]


fuchsia_package(
    name = "inspect_pkg",
    package_name = "components_inspect_example",
    visibility = ["//visibility:public"],
    components = [
        ":echo_realm",
        "//src/routing/cpp/echo_client:echo_client_component",
        "//src/routing/cpp/inspect_server:inspect_server_component",
    ],
)
