# 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/dart_app.gni")
import("//build/dart/fidl_move.gni")

dart_app("echo-dart-server") {
  main_dart = "lib/main.dart"

  meta = [
    {
      path = rebase_path("meta/server.cmx")
      dest = "echo-dart-server.cmx"
    },
  ]

  sources = [ "main.dart" ]
  deps = [
    "//examples/fidl/fuchsia.examples",
    "//sdk/dart/fidl",
    "//sdk/dart/fuchsia_logger",
    "//sdk/dart/fuchsia_services",
  ]
}

group("server") {
  testonly = true
  deps = [ ":echo-dart-server" ]
}
