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

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

  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 = [
    "//third_party/dart-pkg/pub/logging",
    "//third_party/dart-pkg/pub/meta",
    "//topaz/public/dart/fuchsia_services",
    "//topaz/public/dart/zircon",
    "//zircon/public/fidl/fuchsia-logger",
  ]
}

# 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",
    "//third_party/dart-pkg/pub/mockito",
    "//third_party/dart-pkg/pub/test",
  ]
}
