# Copyright 2020 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_component.gni")
import("//build/dart/dart_library.gni")
import("//src/sys/build/components.gni")

group("dart") {
  deps = [ ":hello-world-dart" ]
}

dart_library("lib") {
  package_name = "hello-world"
  source_dir = "lib"
  sources = [ "main.dart" ]
  deps = [
    "//sdk/dart/fuchsia",
    "//sdk/dart/zircon",
  ]
}

dart_component("component") {
  component_name = "hello-world-dart"
  manifest = "meta/hello_world_dart.cmx"
  main_package = "hello-world"
  deps = [ ":lib" ]
}

fuchsia_package("hello-world-dart") {
  deps = [ ":component" ]
}

group("tests") {
  testonly = true
  deps = [ ":hello-world-dart" ]
}
