# 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.
#
# Package for the Flutter embedder for Fuchsia.

load(
    "@rules_fuchsia//fuchsia:defs.bzl",
    "fuchsia_cc_binary",
    "fuchsia_cc_test",
    "fuchsia_component_manifest",
    "fuchsia_test_group",
    "fuchsia_test_package",
    "fuchsia_tests",
)
load("@rules_cc//cc:defs.bzl", "cc_library")

cc_library(
    name = "logging",
    srcs = [
        "fuchsia_logger.cc",
        "fuchsia_logger.h",
        "logging.h",
    ],
    deps = [
        "@fuchsia_sdk//pkg/syslog",
    ],
)

cc_library(
    name = "embedder_state",
    srcs = [
        "embedder_state.h",
        "flatland_connection.h",
        "software_surface.h",
    ],
    deps = [
        "//src/embedder/engine:embedder_header",
    ],
)

cc_library(
    name = "pointer_utility",
    srcs = [
        "pointer_utility.h",
        ":logging",
    ],
    deps = [
        "@fuchsia_sdk//pkg/trace",
        "@fuchsia_sdk//pkg/trace-engine",
        "@fuchsia_sdk//pkg/trace-provider-so",
    ],
)

cc_library(
    name = "mouse_delegate",
    srcs = [
        "mouse_delegate.cc",
        "mouse_delegate.h",
    ],
    deps = [
        ":logging",
        ":pointer_utility",
        "//src/embedder/engine:embedder_header",
        "@fuchsia_sdk//fidl/fuchsia.ui.composition:fuchsia.ui.composition_cc",
    ],
)

cc_library(
    name = "keyboard",
    srcs = [
        "keyboard.cc",
        "keyboard.h",
    ],
    deps = [
        ":logging",
        "//src/embedder/engine:embedder_header",
        "@fuchsia_sdk//fidl/fuchsia.ui.composition:fuchsia.ui.composition_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.input:fuchsia.ui.input_cc",
    ],
)

cc_library(
    name = "text_delegate",
    srcs = [
        "platform_message_channels.h",
        "text_delegate.cc",
        "text_delegate.h",
    ],
    deps = [
        ":keyboard",
        ":logging",
        "//src/embedder/engine:embedder_header",
        "@fuchsia_sdk//fidl/fuchsia.ui.composition:fuchsia.ui.composition_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.input:fuchsia.ui.input_cc",
        "@rapidjson",
    ],
)

cc_library(
    name = "touch_delegate",
    srcs = [
        "touch_delegate.cc",
        "touch_delegate.h",
    ],
    deps = [
        ":logging",
        ":pointer_utility",
        "//src/embedder/engine:embedder_header",
        "@fuchsia_sdk//fidl/fuchsia.ui.composition:fuchsia.ui.composition_cc",
    ],
)

# ELF binary that takes the path to Flutter app assets as an argument
# and runs the Flutter app defined by those assets.
fuchsia_cc_binary(
    name = "embedder",
    srcs = [
        "accessibility_bridge.cc",
        "accessibility_bridge.h",
        "flatland_connection.cc",
        "flatland_ids.h",
        "flatland_view_provider.h",
        "main.cc",
        "platform_message_channels.h",
        "pointer_utility.h",
        "root_inspect_node.cc",
        "root_inspect_node.h",
        "software_surface.cc",
        "software_surface.h",
        "standard_message_codec/byte_buffer_streams.h",
        "standard_message_codec/byte_streams.h",
        "standard_message_codec/encodable_value.h",
        "standard_message_codec/message_codec.h",
        "standard_message_codec/method_call.h",
        "standard_message_codec/method_codec.h",
        "standard_message_codec/method_result.h",
        "standard_message_codec/standard_codec_serializer.h",
        "standard_message_codec/standard_message_codec.cc",
        "standard_message_codec/standard_message_codec.h",
        "standard_message_codec/standard_method_codec.h",
    ],
    visibility = ["//visibility:public"],
    deps = [
        ":embedder_state",
        ":keyboard",
        ":logging",
        ":mouse_delegate",
        ":text_delegate",
        ":touch_delegate",
        "//src/embedder/engine:embedder_header",
        "//src/embedder/engine:libflutter_engine_for_platform",
        "@fuchsia_sdk//fidl/fuchsia.fonts:fuchsia.fonts_cc",
        "@fuchsia_sdk//fidl/fuchsia.sysmem:fuchsia.sysmem_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.app:fuchsia.ui.app_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.composition:fuchsia.ui.composition_cc",
        "@fuchsia_sdk//pkg/async-loop-cpp",
        "@fuchsia_sdk//pkg/async-loop-default",
        "@fuchsia_sdk//pkg/fit",
        "@fuchsia_sdk//pkg/scenic_cpp",
        "@fuchsia_sdk//pkg/sys_cpp",
        "@fuchsia_sdk//pkg/syslog",
        "@fuchsia_sdk//pkg/trace",
        "@fuchsia_sdk//pkg/trace-engine",
        "@fuchsia_sdk//pkg/trace-provider-so",
        "@rapidjson",
    ],
)

fuchsia_cc_test(
    name = "keyboard_unittests",
    size = "small",
    srcs = ["keyboard_unittests.cc"],
    visibility = ["//visibility:public"],
    deps = [
        ":embedder_state",
        ":keyboard",
        ":logging",
        "//src/embedder/engine:embedder_header",
        "//src/embedder/engine:libflutter_engine_for_platform",
        "@com_google_googletest//:gtest_main",
        "@fuchsia_sdk//pkg/async-loop-cpp",
        "@fuchsia_sdk//pkg/async-loop-default",
        "@fuchsia_sdk//pkg/scenic_cpp",
        "@rapidjson",
    ],
)

fuchsia_cc_test(
    name = "mouse_delegate_unittests",
    size = "small",
    srcs = ["mouse_delegate_unittests.cc"],
    visibility = ["//visibility:public"],
    deps = [
        ":embedder_state",
        ":logging",
        ":mouse_delegate",
        "//src/embedder/engine:embedder_header",
        "//src/embedder/engine:libflutter_engine_for_platform",
        "//src/embedder/test_util:mouse_event_builder",
        "@com_google_googletest//:gtest_main",
        "@fuchsia_sdk//fidl/fuchsia.accessibility.semantics:fuchsia.accessibility.semantics_cc",
        "@fuchsia_sdk//fidl/fuchsia.fonts:fuchsia.fonts_cc",
        "@fuchsia_sdk//fidl/fuchsia.sysmem:fuchsia.sysmem_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.app:fuchsia.ui.app_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.composition:fuchsia.ui.composition_cc",
        "@fuchsia_sdk//pkg/async-loop-cpp",
        "@fuchsia_sdk//pkg/async-loop-default",
        "@fuchsia_sdk//pkg/fdio",
        "@fuchsia_sdk//pkg/fit",
        "@fuchsia_sdk//pkg/scenic_cpp",
        "@fuchsia_sdk//pkg/sys_cpp",
        "@fuchsia_sdk//pkg/sys_inspect_cpp",
        "@fuchsia_sdk//pkg/syslog",
        "@fuchsia_sdk//pkg/trace",
        "@fuchsia_sdk//pkg/trace-engine",
        "@fuchsia_sdk//pkg/trace-provider-so",
    ],
)

fuchsia_cc_test(
    name = "text_delegate_unittests",
    size = "small",
    srcs = ["text_delegate_unittests.cc"],
    visibility = ["//visibility:public"],
    deps = [
        ":embedder_state",
        ":logging",
        ":text_delegate",
        "//src/embedder/engine:embedder_header",
        "//src/embedder/engine:libflutter_engine_for_platform",
        "@com_google_googletest//:gtest_main",
        "@fuchsia_sdk//pkg/async-loop-cpp",
        "@fuchsia_sdk//pkg/async-loop-default",
        "@fuchsia_sdk//pkg/scenic_cpp",
        "@rapidjson",
    ],
)

fuchsia_cc_test(
    name = "touch_delegate_unittests",
    size = "small",
    srcs = ["touch_delegate_unittests.cc"],
    visibility = ["//visibility:public"],
    deps = [
        ":embedder_state",
        ":logging",
        ":touch_delegate",
        "//src/embedder/engine:embedder_header",
        "//src/embedder/engine:libflutter_engine_for_platform",
        "//src/embedder/test_util:touch_event_builder",
        "@com_google_googletest//:gtest_main",
        "@fuchsia_sdk//fidl/fuchsia.fonts:fuchsia.fonts_cc",
        "@fuchsia_sdk//fidl/fuchsia.sysmem:fuchsia.sysmem_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.app:fuchsia.ui.app_cc",
        "@fuchsia_sdk//fidl/fuchsia.ui.composition:fuchsia.ui.composition_cc",
        "@fuchsia_sdk//pkg/async-loop-cpp",
        "@fuchsia_sdk//pkg/async-loop-default",
        "@fuchsia_sdk//pkg/fdio",
        "@fuchsia_sdk//pkg/fit",
        "@fuchsia_sdk//pkg/scenic_cpp",
        "@fuchsia_sdk//pkg/sys_cpp",
        "@fuchsia_sdk//pkg/syslog",
        "@fuchsia_sdk//pkg/trace",
        "@fuchsia_sdk//pkg/trace-engine",
        "@fuchsia_sdk//pkg/trace-provider-so",
    ],
)

fuchsia_test_package(
    name = "keyboard_unittests_pkg",
    package_name = "keyboard_unittests_pkg",
    components = [
        ":keyboard_unittests",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "//src/embedder/engine:libflutter_engine_pkg_resource",
    ],
)

fuchsia_test_package(
    name = "mouse_delegate_unittests_pkg",
    package_name = "mouse_delegate_unittests_pkg",
    components = [
        ":mouse_delegate_unittests",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "//src/embedder/engine:libflutter_engine_pkg_resource",
    ],
)

fuchsia_test_package(
    name = "text_delegate_unittests_pkg",
    package_name = "text_delegate_unittests_pkg",
    components = [
        ":text_delegate_unittests",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "//src/embedder/engine:libflutter_engine_pkg_resource",
    ],
)

fuchsia_test_package(
    name = "touch_delegate_unittests_pkg",
    package_name = "touch_delegate_unittests_pkg",
    components = [
        ":touch_delegate_unittests",
    ],
    visibility = ["//visibility:public"],
    deps = [
        "//src/embedder/engine:libflutter_engine_pkg_resource",
    ],
)

fuchsia_component_manifest(
    name = "embedder_manifest",
    src = "meta/embedder.cml",
    includes = [
        "@fuchsia_sdk//pkg/syslog:client",
        "@fuchsia_sdk//pkg/vulkan:client",
    ],
    visibility = ["//visibility:public"],
)
