# Copyright 2018 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/dart/toolchain.gni")
import("//build/sdk/sdk.gni")
import("//build/sdk/sdk_molecule.gni")

# Tools and libraries required to generate and use FIDL bindings in Dart.
sdk_molecule("fidl_dart") {
  deps = [
    "//topaz/bin/fidlgen_dart:fidlgen_dart_sdk($host_toolchain)",
    "//topaz/public/dart/fidl:fidl_sdk($dart_toolchain)",
    "//zircon/public/tool/fidlc:fidlc_sdk($host_toolchain)",
  ]
}

sdk_molecule("dart_support") {
  deps = [
    "//topaz/public/dart/fuchsia:fuchsia_sdk($dart_toolchain)",
    "//topaz/public/dart/fuchsia_logger:fuchsia_logger_sdk($dart_toolchain)",
    "//topaz/public/dart/fuchsia_media:fuchsia_media_sdk($dart_toolchain)",
    "//topaz/public/dart/fuchsia_modular:fuchsia_modular_sdk($dart_toolchain)",
    "//topaz/public/dart/fuchsia_scenic_flutter:fuchsia_scenic_flutter_sdk($dart_toolchain)",
    "//topaz/public/dart/fuchsia_services:fuchsia_services_sdk($dart_toolchain)",
    "//topaz/public/dart/fuchsia_vfs:fuchsia_vfs_sdk($dart_toolchain)",
    "//topaz/runtime/dart:kernel_compiler_sdk($host_toolchain)",
  ]
}

sdk("topaz") {
  category = "partner"

  testonly = true

  deps = [
    ":dart_support",
    ":fidl_dart",
    "//garnet/public/sdk:garnet_molecule",
  ]
}
