# Copyright 2018 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 //ash")
static_library("feature_status_change") {
sources = [ "feature_status_change.h" ]
}
static_library("group_private_key_and_better_together_metadata_status") {
sources = [
"group_private_key_and_better_together_metadata_status.cc",
"group_private_key_and_better_together_metadata_status.h",
]
}
static_library("device_sync") {
sources = [
"async_execution_time_metrics_logger.cc",
"async_execution_time_metrics_logger.h",
"attestation_certificates_syncer.h",
"attestation_certificates_syncer_impl.cc",
"attestation_certificates_syncer_impl.h",
"cryptauth_api_call_flow.cc",
"cryptauth_api_call_flow.h",
"cryptauth_client.h",
"cryptauth_client_impl.cc",
"cryptauth_client_impl.h",
"cryptauth_device.cc",
"cryptauth_device.h",
"cryptauth_device_activity_getter.cc",
"cryptauth_device_activity_getter.h",
"cryptauth_device_activity_getter_impl.cc",
"cryptauth_device_activity_getter_impl.h",
"cryptauth_device_manager.cc",
"cryptauth_device_manager.h",
"cryptauth_device_manager_impl.cc",
"cryptauth_device_manager_impl.h",
"cryptauth_device_notifier.h",
"cryptauth_device_notifier_impl.cc",
"cryptauth_device_notifier_impl.h",
"cryptauth_device_registry.cc",
"cryptauth_device_registry.h",
"cryptauth_device_registry_impl.cc",
"cryptauth_device_registry_impl.h",
"cryptauth_device_sync_result.cc",
"cryptauth_device_sync_result.h",
"cryptauth_device_syncer.cc",
"cryptauth_device_syncer.h",
"cryptauth_device_syncer_impl.cc",
"cryptauth_device_syncer_impl.h",
"cryptauth_ecies_encryptor.cc",
"cryptauth_ecies_encryptor.h",
"cryptauth_ecies_encryptor_impl.cc",
"cryptauth_ecies_encryptor_impl.h",
"cryptauth_enroller.h",
"cryptauth_enroller_factory_impl.cc",
"cryptauth_enroller_factory_impl.h",
"cryptauth_enroller_impl.cc",
"cryptauth_enroller_impl.h",
"cryptauth_enrollment_constants.cc",
"cryptauth_enrollment_constants.h",
"cryptauth_enrollment_manager.cc",
"cryptauth_enrollment_manager.h",
"cryptauth_enrollment_manager_impl.cc",
"cryptauth_enrollment_manager_impl.h",
"cryptauth_enrollment_result.cc",
"cryptauth_enrollment_result.h",
"cryptauth_feature_status_getter.cc",
"cryptauth_feature_status_getter.h",
"cryptauth_feature_status_getter_impl.cc",
"cryptauth_feature_status_getter_impl.h",
"cryptauth_feature_status_setter.h",
"cryptauth_feature_status_setter_impl.cc",
"cryptauth_feature_status_setter_impl.h",
"cryptauth_feature_type.cc",
"cryptauth_feature_type.h",
"cryptauth_gcm_manager.cc",
"cryptauth_gcm_manager.h",
"cryptauth_gcm_manager_impl.cc",
"cryptauth_gcm_manager_impl.h",
"cryptauth_group_private_key_sharer.cc",
"cryptauth_group_private_key_sharer.h",
"cryptauth_group_private_key_sharer_impl.cc",
"cryptauth_group_private_key_sharer_impl.h",
"cryptauth_key.cc",
"cryptauth_key.h",
"cryptauth_key_bundle.cc",
"cryptauth_key_bundle.h",
"cryptauth_key_creator.cc",
"cryptauth_key_creator.h",
"cryptauth_key_creator_impl.cc",
"cryptauth_key_creator_impl.h",
"cryptauth_key_proof_computer.h",
"cryptauth_key_proof_computer_impl.cc",
"cryptauth_key_proof_computer_impl.h",
"cryptauth_key_registry.cc",
"cryptauth_key_registry.h",
"cryptauth_key_registry_impl.cc",
"cryptauth_key_registry_impl.h",
"cryptauth_metadata_syncer.cc",
"cryptauth_metadata_syncer.h",
"cryptauth_metadata_syncer_impl.cc",
"cryptauth_metadata_syncer_impl.h",
"cryptauth_scheduler.cc",
"cryptauth_scheduler.h",
"cryptauth_scheduler_impl.cc",
"cryptauth_scheduler_impl.h",
"cryptauth_task_metrics_logger.cc",
"cryptauth_task_metrics_logger.h",
"cryptauth_v2_device_manager.cc",
"cryptauth_v2_device_manager.h",
"cryptauth_v2_device_manager_impl.cc",
"cryptauth_v2_device_manager_impl.h",
"cryptauth_v2_enroller.cc",
"cryptauth_v2_enroller.h",
"cryptauth_v2_enroller_impl.cc",
"cryptauth_v2_enroller_impl.h",
"cryptauth_v2_enrollment_manager_impl.cc",
"cryptauth_v2_enrollment_manager_impl.h",
"device_sync_base.cc",
"device_sync_base.h",
"device_sync_impl.cc",
"device_sync_impl.h",
"device_sync_type_converters.cc",
"device_sync_type_converters.h",
"network_request_error.cc",
"network_request_error.h",
"pref_names.cc",
"pref_names.h",
"remote_device_loader.cc",
"remote_device_loader.h",
"remote_device_provider.cc",
"remote_device_provider.h",
"remote_device_provider_impl.cc",
"remote_device_provider_impl.h",
"remote_device_v2_loader.h",
"remote_device_v2_loader_impl.cc",
"remote_device_v2_loader_impl.h",
"software_feature_manager.h",
"software_feature_manager_impl.cc",
"software_feature_manager_impl.h",
"switches.cc",
"switches.h",
"sync_scheduler.cc",
"sync_scheduler.h",
"sync_scheduler_impl.cc",
"sync_scheduler_impl.h",
"synced_bluetooth_address_tracker.h",
"synced_bluetooth_address_tracker_impl.cc",
"synced_bluetooth_address_tracker_impl.h",
"value_string_encoding.cc",
"value_string_encoding.h",
]
public_deps = [
":feature_status_change",
":group_private_key_and_better_together_metadata_status",
"//chromeos/ash/components/multidevice",
"//chromeos/ash/components/multidevice/logging",
"//chromeos/ash/services/device_sync/public/mojom",
"//components/signin/public/identity_manager",
"//services/network/public/cpp",
]
deps = [
"//ash/constants",
"//base",
"//chromeos/ash/components/multidevice",
"//chromeos/ash/components/multidevice/logging",
"//chromeos/ash/components/network",
"//chromeos/ash/services/device_sync/proto:util",
"//chromeos/ash/services/device_sync/public/cpp",
"//chromeos/ash/services/device_sync/public/mojom",
"//components/gcm_driver",
"//components/prefs",
"//device/bluetooth",
"//net",
"//third_party/securemessage/proto",
]
visibility = [
":*",
"//chrome/browser/ash:*",
"//chrome/browser/ash/device_sync",
"//chrome/browser/ash/phonehub:*",
"//chrome/browser/ash/tether:unit_tests",
"//chrome/browser/chromeos",
"//chrome/test:test_support_ui",
"//chromeos/ash/services/device_sync/public/cpp:prefs",
"//chromeos/ash/services/device_sync/public/cpp:unit_tests",
]
}
static_library("test_support") {
testonly = true
sources = [
"cryptauth_v2_device_sync_test_devices.cc",
"cryptauth_v2_device_sync_test_devices.h",
"fake_attestation_certificates_syncer.cc",
"fake_attestation_certificates_syncer.h",
"fake_cryptauth_device_manager.cc",
"fake_cryptauth_device_manager.h",
"fake_cryptauth_device_notifier.cc",
"fake_cryptauth_device_notifier.h",
"fake_cryptauth_device_syncer.cc",
"fake_cryptauth_device_syncer.h",
"fake_cryptauth_ecies_encryptor.cc",
"fake_cryptauth_ecies_encryptor.h",
"fake_cryptauth_enrollment_manager.cc",
"fake_cryptauth_enrollment_manager.h",
"fake_cryptauth_feature_status_getter.cc",
"fake_cryptauth_feature_status_getter.h",
"fake_cryptauth_feature_status_setter.cc",
"fake_cryptauth_feature_status_setter.h",
"fake_cryptauth_gcm_manager.cc",
"fake_cryptauth_gcm_manager.h",
"fake_cryptauth_group_private_key_sharer.cc",
"fake_cryptauth_group_private_key_sharer.h",
"fake_cryptauth_key_creator.cc",
"fake_cryptauth_key_creator.h",
"fake_cryptauth_key_proof_computer.cc",
"fake_cryptauth_key_proof_computer.h",
"fake_cryptauth_metadata_syncer.cc",
"fake_cryptauth_metadata_syncer.h",
"fake_cryptauth_scheduler.cc",
"fake_cryptauth_scheduler.h",
"fake_cryptauth_v2_device_manager.cc",
"fake_cryptauth_v2_device_manager.h",
"fake_cryptauth_v2_enroller.cc",
"fake_cryptauth_v2_enroller.h",
"fake_device_sync.cc",
"fake_device_sync.h",
"fake_device_sync_observer.cc",
"fake_device_sync_observer.h",
"fake_ecies_encryption.cc",
"fake_ecies_encryption.h",
"fake_remote_device_provider.cc",
"fake_remote_device_provider.h",
"fake_remote_device_v2_loader.cc",
"fake_remote_device_v2_loader.h",
"fake_software_feature_manager.cc",
"fake_software_feature_manager.h",
"fake_synced_bluetooth_address_tracker.cc",
"fake_synced_bluetooth_address_tracker.h",
"mock_cryptauth_client.cc",
"mock_cryptauth_client.h",
"mock_sync_scheduler.cc",
"mock_sync_scheduler.h",
]
public_deps = [ ":device_sync" ]
deps = [
":device_sync",
"//base",
"//chromeos/ash/services/device_sync/proto:test_support",
"//chromeos/ash/services/device_sync/public/cpp",
"//chromeos/ash/services/device_sync/public/mojom",
"//testing/gmock",
"//testing/gtest",
]
}
source_set("stub_device_sync") {
sources = [
"stub_device_sync.cc",
"stub_device_sync.h",
]
deps = [
":device_sync",
"//base",
"//chromeos/ash/components/multidevice:stub_multidevice_util",
]
}
source_set("unit_tests") {
testonly = true
sources = [
"attestation_certificates_syncer_impl_unittest.cc",
"cryptauth_api_call_flow_unittest.cc",
"cryptauth_client_impl_unittest.cc",
"cryptauth_device_activity_getter_impl_unittest.cc",
"cryptauth_device_manager_impl_unittest.cc",
"cryptauth_device_notifier_impl_unittest.cc",
"cryptauth_device_registry_impl_unittest.cc",
"cryptauth_device_syncer_impl_unittest.cc",
"cryptauth_device_unittest.cc",
"cryptauth_ecies_encryptor_impl_unittest.cc",
"cryptauth_enroller_impl_unittest.cc",
"cryptauth_enrollment_manager_impl_unittest.cc",
"cryptauth_feature_status_getter_impl_unittest.cc",
"cryptauth_feature_status_setter_impl_unittest.cc",
"cryptauth_feature_type_unittest.cc",
"cryptauth_gcm_manager_impl_unittest.cc",
"cryptauth_group_private_key_sharer_impl_unittest.cc",
"cryptauth_key_bundle_unittest.cc",
"cryptauth_key_creator_impl_unittest.cc",
"cryptauth_key_proof_computer_impl_unittest.cc",
"cryptauth_key_registry_impl_unittest.cc",
"cryptauth_key_unittest.cc",
"cryptauth_metadata_syncer_impl_unittest.cc",
"cryptauth_scheduler_impl_unittest.cc",
"cryptauth_v2_device_manager_impl_unittest.cc",
"cryptauth_v2_enroller_impl_unittest.cc",
"cryptauth_v2_enrollment_manager_impl_unittest.cc",
"device_sync_service_unittest.cc",
"remote_device_loader_unittest.cc",
"remote_device_provider_impl_unittest.cc",
"remote_device_v2_loader_impl_unittest.cc",
"software_feature_manager_impl_unittest.cc",
"sync_scheduler_impl_unittest.cc",
"synced_bluetooth_address_tracker_impl_unittest.cc",
]
deps = [
":device_sync",
":feature_status_change",
":test_support",
"//ash/constants",
"//base",
"//base/test:test_support",
"//chromeos/ash/components/dbus:test_support",
"//chromeos/ash/components/multidevice",
"//chromeos/ash/components/multidevice:test_support",
"//chromeos/ash/components/network",
"//chromeos/ash/components/network:test_support",
"//chromeos/ash/services/device_sync/proto:test_support",
"//chromeos/ash/services/device_sync/proto:util",
"//chromeos/ash/services/device_sync/public/cpp:prefs",
"//chromeos/ash/services/device_sync/public/cpp:test_support",
"//chromeos/ash/services/device_sync/public/cpp:unit_tests",
"//chromeos/ash/services/device_sync/public/mojom",
"//chromeos/ash/services/device_sync/public/mojom:unit_tests",
"//components/gcm_driver:test_support",
"//components/prefs:test_support",
"//components/signin/public/identity_manager:test_support",
"//device/bluetooth:mocks",
"//net/traffic_annotation:test_support",
"//services/network:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/securemessage/proto",
]
}