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

dart_library("fuchsia_logger") {
  package_name = "fuchsia_logger"
  null_safe = true

  sdk_category = "partner"

  source_dir = "lib"

  sources = [
    "logger.dart",
    "src/internal/_fuchsia_log_writer.dart",
    "src/internal/_log_message.dart",
    "src/internal/_log_writer.dart",
    "src/internal/_stdout_log_writer.dart",
    "src/logger/logger.dart",
  ]

  deps = [
    "//sdk/fidl/fuchsia.logger",
    "//third_party/dart-pkg/pub/collection",
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/meta",
    dart_package_label.fuchsia_services,
    dart_package_label.zircon,
  ]
}

# Runs these tests using:
#   fx run-host-tests fuchsia_logger_package_unittests
dart_test("fuchsia_logger_package_unittests") {
  sources = [
    "internal/log_message_test.dart",
    "internal/log_writer_test.dart",
    "internal/stdout_log_writer_test.dart",
  ]

  deps = [
    ":fuchsia_logger",
    "//sdk/fidl/fuchsia.logger",
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/mockito",
    "//third_party/dart-pkg/pub/test",
    dart_package_label.zircon,
  ]
}
