chromium/chromeos/ash/components/sync_wifi/BUILD.gn

# Copyright 2019 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/config/chromeos/ui_mode.gni")

assert(is_chromeos_ash, "Non-ChromeOS builds cannot depend on //chromeos/ash")

static_library("sync_wifi") {
  sources = [
    "local_network_collector.h",
    "local_network_collector_impl.cc",
    "local_network_collector_impl.h",
    "network_identifier.cc",
    "network_identifier.h",
    "network_type_conversions.cc",
    "network_type_conversions.h",
    "pending_network_configuration_tracker.h",
    "pending_network_configuration_tracker_impl.cc",
    "pending_network_configuration_tracker_impl.h",
    "pending_network_configuration_update.cc",
    "pending_network_configuration_update.h",
    "synced_network_metrics_logger.cc",
    "synced_network_metrics_logger.h",
    "synced_network_updater.h",
    "synced_network_updater_impl.cc",
    "synced_network_updater_impl.h",
    "wifi_configuration_bridge.cc",
    "wifi_configuration_bridge.h",
    "wifi_configuration_sync_service.cc",
    "wifi_configuration_sync_service.h",
  ]
  deps = [
    ":network_eligibility_checker",
    "//ash/constants",
    "//ash/public/cpp",
    "//base",
    "//chromeos/ash/components/dbus/shill",
    "//chromeos/ash/components/network",
    "//chromeos/ash/components/timer_factory",
    "//chromeos/services/network_config/public/cpp",
    "//chromeos/services/network_config/public/mojom",
    "//components/device_event_log",
    "//components/keyed_service/core",
    "//components/prefs",
    "//components/proxy_config",
    "//components/sync",
    "//components/version_info",
    "//dbus",
  ]
}

static_library("network_eligibility_checker") {
  sources = [
    "network_eligibility_checker.cc",
    "network_eligibility_checker.h",
  ]
  deps = [
    "//chromeos/ash/components/network",
    "//chromeos/services/network_config/public/mojom",
  ]
}

source_set("test_support") {
  testonly = true
  sources = [
    "fake_local_network_collector.cc",
    "fake_local_network_collector.h",
    "fake_pending_network_configuration_tracker.cc",
    "fake_pending_network_configuration_tracker.h",
    "network_test_helper.cc",
    "network_test_helper.h",
    "test_data_generator.cc",
    "test_data_generator.h",
  ]
  deps = [
    ":sync_wifi",
    "//base/test:test_support",
    "//chromeos/ash/components/browser_context_helper",
    "//chromeos/ash/components/browser_context_helper:test_support",
    "//chromeos/ash/components/login/login_state",
    "//chromeos/ash/components/network:test_support",
    "//chromeos/ash/components/timer_factory:timer_factory",
    "//chromeos/ash/services/network_config",
    "//chromeos/ash/services/network_config:in_process_instance",
    "//chromeos/ash/services/network_config/public/cpp:test_support",
    "//components/onc",
    "//components/proxy_config",
    "//components/sync:test_support",
    "//components/sync_preferences:test_support",
    "//components/user_manager:test_support",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "local_network_collector_impl_unittest.cc",
    "network_identifier_unittest.cc",
    "pending_network_configuration_tracker_impl_unittest.cc",
    "synced_network_metrics_logger_unittest.cc",
    "synced_network_updater_impl_unittest.cc",
    "wifi_configuration_bridge_unittest.cc",
  ]
  deps = [
    ":sync_wifi",
    ":test_support",
    "//ash/constants",
    "//ash/public/cpp",
    "//base/test:test_support",
    "//chromeos/ash/components/dbus/shill:test_support",
    "//chromeos/ash/components/login/login_state",
    "//chromeos/ash/components/login/login_state:test_support",
    "//chromeos/ash/components/network:test_support",
    "//chromeos/ash/components/timer_factory:test_support",
    "//chromeos/ash/services/network_config",
    "//chromeos/ash/services/network_config:in_process_instance",
    "//chromeos/ash/services/network_config/public/cpp:test_support",
    "//chromeos/services/network_config/public/mojom",
    "//components/prefs:test_support",
    "//components/sync:test_support",
    "//components/sync_preferences:test_support",
    "//components/user_manager:test_support",
    "//testing/gtest",
  ]
}