|  | # 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_cc_binary", | 
|  | "fuchsia_component", | 
|  | "fuchsia_component_manifest", | 
|  | ) | 
|  | # [END imports] | 
|  |  | 
|  | # [START cc_binary] | 
|  | fuchsia_cc_binary( | 
|  | name = "echo_server_cpp", | 
|  | srcs = [ | 
|  | "main.cc", | 
|  | ], | 
|  | deps = [ | 
|  | "//src/routing/fidl:examples.routing.echo.fidl_cc", | 
|  | "@fuchsia_sdk//pkg/async-default", | 
|  | "@fuchsia_sdk//pkg/async-loop", | 
|  | "@fuchsia_sdk//pkg/async-loop-cpp", | 
|  | "@fuchsia_sdk//pkg/async-loop-default", | 
|  | "@fuchsia_sdk//pkg/component_outgoing_cpp", | 
|  | "@fuchsia_sdk//pkg/fdio", | 
|  | "@fuchsia_sdk//pkg/inspect", | 
|  | "@fuchsia_sdk//pkg/inspect_component_cpp", | 
|  | "@fuchsia_sdk//pkg/syslog", | 
|  | ], | 
|  | ) | 
|  | # [END cc_binary] | 
|  |  | 
|  | # [START component] | 
|  | fuchsia_component_manifest( | 
|  | name = "manifest", | 
|  | src = "meta/echo_server.cml", | 
|  | component_name = "echo_server_component", | 
|  | includes = [ | 
|  | "@fuchsia_sdk//pkg/inspect:client", | 
|  | "@fuchsia_sdk//pkg/syslog:client", | 
|  | ], | 
|  | ) | 
|  |  | 
|  | fuchsia_component( | 
|  | name = "echo_server_component", | 
|  | component_name = "echo_server_component", | 
|  | manifest = ":manifest", | 
|  | visibility = ["//visibility:public"], | 
|  | deps = [ | 
|  | ":echo_server_cpp", | 
|  | ], | 
|  | ) | 
|  | # [END component] |