# 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_app.gni")

dart_app("bin") {
  main_dart = "lib/main.dart"

  fuchsia_package_name = "inspect_dart_codelab_client"
  package_name = "inspect_dart_codelab_client"

  meta = [
    {
      path = rebase_path("meta/inspect_dart_codelab_client.cmx")
      dest = "inspect_dart_codelab_client.cmx"
    },
  ]

  sources = [ "main.dart" ]
  deps = [
    "//examples/diagnostics/inspect/codelab/dart/shared",
    "//sdk/dart/fuchsia",
  ]
}
