# Copyright 2019 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.

visibility = [ "$cobalt_root/*" ]

source_set("shipping_manager") {
  sources = [
    "shipping_manager.cc",
    "shipping_manager.h",
    "upload_scheduler.cc",
    "upload_scheduler.h",
  ]
  deps = [
    "$cobalt_root/src/lib/util:posix_file_system",
    "$cobalt_root/src/lib/util:protected_fields",
    "$cobalt_root/src/lib/util:proto_serialization",
    "$cobalt_root/src/logger:internal_metrics",
    "$cobalt_root/src/public:activity_listener_interface",
    "$cobalt_root/src/public:cobalt_config",
    "$cobalt_root/src/system_data",
    "$cobalt_root/src/system_data:configuration_data",
  ]
  public_deps = [
    "$cobalt_root/src/lib/clearcut",
    "$cobalt_root/src/logger:logger_interface",
    "$cobalt_root/src/observation_store",
    "$cobalt_root/src/observation_store:observation_store_update_recipient",
  ]
}

source_set("tests") {
  testonly = true

  sources = [
    "shipping_manager_test.cc",
    "upload_scheduler_test.cc",
  ]

  deps = [
    ":shipping_manager",
    "$cobalt_root/src/lib/util:posix_file_system",
    "$cobalt_root/src/lib/util:proto_serialization",
    "$cobalt_root/src/logger:fake_logger",
    "$cobalt_root/src/system_data:fake_system_data",
    "//third_party/gflags",
    "//third_party/googletest:gtest",
  ]
}
