# Copyright 2014 The Chromium 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/config/features.gni")
import("//testing/test.gni")

component("sync") {
  public_deps = [
    ":sync_core",
    "//sync/protocol",
  ]
}

# GYP version: sync/sync.gyp:sync_core
source_set("sync_core") {
  sources = [
    "api/attachments/attachment.cc",
    "api/attachments/attachment.h",
    "api/attachments/attachment_id.cc",
    "api/attachments/attachment_id.h",
    "api/attachments/attachment_metadata.cc",
    "api/attachments/attachment_metadata.h",
    "api/attachments/attachment_store.cc",
    "api/attachments/attachment_store.h",
    "api/attachments/attachment_store_backend.cc",
    "api/attachments/attachment_store_backend.h",
    "api/model_type_store.cc",
    "api/model_type_store.h",
    "api/string_ordinal.h",
    "api/sync_change.cc",
    "api/sync_change.h",
    "api/sync_change_processor.cc",
    "api/sync_change_processor.h",
    "api/sync_data.cc",
    "api/sync_data.h",
    "api/sync_error.cc",
    "api/sync_error.h",
    "api/sync_error_factory.cc",
    "api/sync_error_factory.h",
    "api/sync_merge_result.cc",
    "api/sync_merge_result.h",
    "api/syncable_service.cc",
    "api/syncable_service.h",
    "api/time.h",
    "base/sync_export.h",
    "engine/all_status.cc",
    "engine/all_status.h",
    "engine/apply_control_data_updates.cc",
    "engine/apply_control_data_updates.h",
    "engine/backoff_delay_provider.cc",
    "engine/backoff_delay_provider.h",
    "engine/clear_server_data.cc",
    "engine/clear_server_data.h",
    "engine/commit.cc",
    "engine/commit.h",
    "engine/commit_contribution.cc",
    "engine/commit_contribution.h",
    "engine/commit_contributor.cc",
    "engine/commit_contributor.h",
    "engine/commit_processor.cc",
    "engine/commit_processor.h",
    "engine/commit_queue.cc",
    "engine/commit_queue.h",
    "engine/commit_util.cc",
    "engine/commit_util.h",
    "engine/conflict_resolver.cc",
    "engine/conflict_resolver.h",
    "engine/conflict_util.cc",
    "engine/conflict_util.h",
    "engine/directory_commit_contribution.cc",
    "engine/directory_commit_contribution.h",
    "engine/directory_commit_contributor.cc",
    "engine/directory_commit_contributor.h",
    "engine/directory_update_handler.cc",
    "engine/directory_update_handler.h",
    "engine/entity_tracker.cc",
    "engine/entity_tracker.h",
    "engine/get_commit_ids.cc",
    "engine/get_commit_ids.h",
    "engine/get_updates_delegate.cc",
    "engine/get_updates_delegate.h",
    "engine/get_updates_processor.cc",
    "engine/get_updates_processor.h",
    "engine/model_type_entity.cc",
    "engine/model_type_entity.h",
    "engine/model_type_worker.cc",
    "engine/model_type_worker.h",
    "engine/net/server_connection_manager.cc",
    "engine/net/server_connection_manager.h",
    "engine/net/url_translator.cc",
    "engine/net/url_translator.h",
    "engine/non_blocking_type_commit_contribution.cc",
    "engine/non_blocking_type_commit_contribution.h",
    "engine/nudge_handler.cc",
    "engine/nudge_handler.h",
    "engine/nudge_source.cc",
    "engine/nudge_source.h",
    "engine/process_updates_util.cc",
    "engine/process_updates_util.h",
    "engine/sync_cycle_event.cc",
    "engine/sync_cycle_event.h",
    "engine/sync_engine_event_listener.cc",
    "engine/sync_engine_event_listener.h",
    "engine/sync_scheduler.cc",
    "engine/sync_scheduler.h",
    "engine/sync_scheduler_impl.cc",
    "engine/sync_scheduler_impl.h",
    "engine/syncer.cc",
    "engine/syncer.h",
    "engine/syncer_proto_util.cc",
    "engine/syncer_proto_util.h",
    "engine/syncer_types.h",
    "engine/syncer_util.cc",
    "engine/syncer_util.h",
    "engine/traffic_logger.cc",
    "engine/traffic_logger.h",
    "engine/update_applicator.cc",
    "engine/update_applicator.h",
    "engine/update_handler.cc",
    "engine/update_handler.h",
    "internal_api/activation_context.cc",
    "internal_api/attachments/attachment_downloader.cc",
    "internal_api/attachments/attachment_downloader_impl.cc",
    "internal_api/attachments/attachment_service.cc",
    "internal_api/attachments/attachment_service_impl.cc",
    "internal_api/attachments/attachment_service_proxy.cc",
    "internal_api/attachments/attachment_service_proxy_for_test.cc",
    "internal_api/attachments/attachment_store_frontend.cc",
    "internal_api/attachments/attachment_uploader.cc",
    "internal_api/attachments/attachment_uploader_impl.cc",
    "internal_api/attachments/attachment_util.cc",
    "internal_api/attachments/fake_attachment_downloader.cc",
    "internal_api/attachments/fake_attachment_uploader.cc",
    "internal_api/attachments/in_memory_attachment_store.cc",
    "internal_api/attachments/on_disk_attachment_store.cc",
    "internal_api/attachments/task_queue.cc",
    "internal_api/base_node.cc",
    "internal_api/base_transaction.cc",
    "internal_api/change_record.cc",
    "internal_api/change_reorder_buffer.cc",
    "internal_api/change_reorder_buffer.h",
    "internal_api/debug_info_event_listener.cc",
    "internal_api/debug_info_event_listener.h",
    "internal_api/delete_journal.cc",
    "internal_api/events/clear_server_data_request_event.cc",
    "internal_api/events/clear_server_data_response_event.cc",
    "internal_api/events/commit_request_event.cc",
    "internal_api/events/commit_response_event.cc",
    "internal_api/events/configure_get_updates_request_event.cc",
    "internal_api/events/get_updates_response_event.cc",
    "internal_api/events/normal_get_updates_request_event.cc",
    "internal_api/events/poll_get_updates_request_event.cc",
    "internal_api/events/protocol_event.cc",
    "internal_api/http_bridge.cc",
    "internal_api/http_bridge_network_resources.cc",
    "internal_api/internal_components_factory_impl.cc",
    "internal_api/js_mutation_event_observer.cc",
    "internal_api/js_mutation_event_observer.h",
    "internal_api/js_sync_encryption_handler_observer.cc",
    "internal_api/js_sync_encryption_handler_observer.h",
    "internal_api/js_sync_manager_observer.cc",
    "internal_api/js_sync_manager_observer.h",
    "internal_api/protocol_event_buffer.cc",
    "internal_api/protocol_event_buffer.h",
    "internal_api/public/activation_context.h",
    "internal_api/public/attachments/attachment_downloader.h",
    "internal_api/public/attachments/attachment_downloader_impl.h",
    "internal_api/public/attachments/attachment_service.h",
    "internal_api/public/attachments/attachment_service_impl.h",
    "internal_api/public/attachments/attachment_service_proxy.h",
    "internal_api/public/attachments/attachment_service_proxy_for_test.h",
    "internal_api/public/attachments/attachment_store_frontend.h",
    "internal_api/public/attachments/attachment_uploader.h",
    "internal_api/public/attachments/attachment_uploader_impl.h",
    "internal_api/public/attachments/attachment_util.h",
    "internal_api/public/attachments/fake_attachment_downloader.h",
    "internal_api/public/attachments/fake_attachment_uploader.h",
    "internal_api/public/attachments/in_memory_attachment_store.h",
    "internal_api/public/attachments/on_disk_attachment_store.h",
    "internal_api/public/base/attachment_id_proto.cc",
    "internal_api/public/base/attachment_id_proto.h",
    "internal_api/public/base/cancelation_observer.cc",
    "internal_api/public/base/cancelation_observer.h",
    "internal_api/public/base/cancelation_signal.cc",
    "internal_api/public/base/cancelation_signal.h",
    "internal_api/public/base/enum_set.h",
    "internal_api/public/base/invalidation_interface.cc",
    "internal_api/public/base/invalidation_interface.h",
    "internal_api/public/base/model_type.h",
    "internal_api/public/base/node_ordinal.cc",
    "internal_api/public/base/node_ordinal.h",
    "internal_api/public/base/ordinal.h",
    "internal_api/public/base/progress_marker_map.cc",
    "internal_api/public/base/progress_marker_map.h",
    "internal_api/public/base/unique_position.cc",
    "internal_api/public/base/unique_position.h",
    "internal_api/public/base_node.h",
    "internal_api/public/base_transaction.h",
    "internal_api/public/change_record.h",
    "internal_api/public/configure_reason.h",
    "internal_api/public/data_type_association_stats.cc",
    "internal_api/public/data_type_association_stats.h",
    "internal_api/public/data_type_debug_info_listener.cc",
    "internal_api/public/data_type_debug_info_listener.h",
    "internal_api/public/delete_journal.h",
    "internal_api/public/engine/model_safe_worker.cc",
    "internal_api/public/engine/model_safe_worker.h",
    "internal_api/public/engine/passive_model_worker.cc",
    "internal_api/public/engine/passive_model_worker.h",
    "internal_api/public/engine/polling_constants.cc",
    "internal_api/public/engine/polling_constants.h",
    "internal_api/public/engine/sync_status.cc",
    "internal_api/public/engine/sync_status.h",
    "internal_api/public/events/clear_server_data_request_event.h",
    "internal_api/public/events/clear_server_data_response_event.h",
    "internal_api/public/events/commit_request_event.h",
    "internal_api/public/events/commit_response_event.h",
    "internal_api/public/events/configure_get_updates_request_event.h",
    "internal_api/public/events/get_updates_response_event.h",
    "internal_api/public/events/normal_get_updates_request_event.h",
    "internal_api/public/events/poll_get_updates_request_event.h",
    "internal_api/public/events/protocol_event.h",
    "internal_api/public/http_bridge.h",
    "internal_api/public/http_bridge_network_resources.h",
    "internal_api/public/http_post_provider_factory.h",
    "internal_api/public/http_post_provider_interface.h",
    "internal_api/public/internal_components_factory.h",
    "internal_api/public/internal_components_factory_impl.h",
    "internal_api/public/model_type_processor.cc",
    "internal_api/public/model_type_processor.h",
    "internal_api/public/network_resources.h",
    "internal_api/public/non_blocking_sync_common.cc",
    "internal_api/public/non_blocking_sync_common.h",
    "internal_api/public/read_node.h",
    "internal_api/public/read_transaction.h",
    "internal_api/public/sessions/commit_counters.cc",
    "internal_api/public/sessions/commit_counters.h",
    "internal_api/public/sessions/model_neutral_state.cc",
    "internal_api/public/sessions/model_neutral_state.h",
    "internal_api/public/sessions/status_counters.cc",
    "internal_api/public/sessions/status_counters.h",
    "internal_api/public/sessions/sync_session_snapshot.cc",
    "internal_api/public/sessions/sync_session_snapshot.h",
    "internal_api/public/sessions/type_debug_info_observer.cc",
    "internal_api/public/sessions/type_debug_info_observer.h",
    "internal_api/public/sessions/update_counters.cc",
    "internal_api/public/sessions/update_counters.h",
    "internal_api/public/shared_model_type_processor.h",
    "internal_api/public/shutdown_reason.h",
    "internal_api/public/sync_auth_provider.h",
    "internal_api/public/sync_context.h",
    "internal_api/public/sync_context_proxy.h",
    "internal_api/public/sync_encryption_handler.cc",
    "internal_api/public/sync_encryption_handler.h",
    "internal_api/public/sync_manager.cc",
    "internal_api/public/sync_manager.h",
    "internal_api/public/sync_manager_factory.h",
    "internal_api/public/user_share.h",
    "internal_api/public/util/experiments.h",
    "internal_api/public/util/immutable.h",
    "internal_api/public/util/sync_db_util.h",
    "internal_api/public/util/sync_string_conversions.cc",
    "internal_api/public/util/sync_string_conversions.h",
    "internal_api/public/util/syncer_error.cc",
    "internal_api/public/util/syncer_error.h",
    "internal_api/public/util/unrecoverable_error_handler.h",
    "internal_api/public/util/unrecoverable_error_info.cc",
    "internal_api/public/util/unrecoverable_error_info.h",
    "internal_api/public/util/weak_handle.cc",
    "internal_api/public/util/weak_handle.h",
    "internal_api/public/write_node.h",
    "internal_api/public/write_transaction.h",
    "internal_api/read_node.cc",
    "internal_api/read_transaction.cc",
    "internal_api/shared_model_type_processor.cc",
    "internal_api/sync_backup_manager.cc",
    "internal_api/sync_backup_manager.h",
    "internal_api/sync_context.cc",
    "internal_api/sync_context_proxy.cc",
    "internal_api/sync_context_proxy_impl.cc",
    "internal_api/sync_context_proxy_impl.h",
    "internal_api/sync_db_util.cc",
    "internal_api/sync_encryption_handler_impl.cc",
    "internal_api/sync_encryption_handler_impl.h",
    "internal_api/sync_manager_factory.cc",
    "internal_api/sync_manager_impl.cc",
    "internal_api/sync_manager_impl.h",
    "internal_api/sync_rollback_manager.cc",
    "internal_api/sync_rollback_manager.h",
    "internal_api/sync_rollback_manager_base.cc",
    "internal_api/sync_rollback_manager_base.h",
    "internal_api/syncapi_internal.cc",
    "internal_api/syncapi_internal.h",
    "internal_api/syncapi_server_connection_manager.cc",
    "internal_api/syncapi_server_connection_manager.h",
    "internal_api/user_share.cc",
    "internal_api/write_node.cc",
    "internal_api/write_transaction.cc",
    "js/js_backend.h",
    "js/js_controller.h",
    "js/js_event_details.cc",
    "js/js_event_details.h",
    "js/js_event_handler.h",
    "js/sync_js_controller.cc",
    "js/sync_js_controller.h",
    "protocol/proto_enum_conversions.cc",
    "protocol/proto_enum_conversions.h",
    "protocol/proto_value_conversions.cc",
    "protocol/proto_value_conversions.h",
    "protocol/sync_protocol_error.cc",
    "protocol/sync_protocol_error.h",
    "sessions/data_type_tracker.cc",
    "sessions/data_type_tracker.h",
    "sessions/debug_info_getter.h",
    "sessions/directory_type_debug_info_emitter.cc",
    "sessions/directory_type_debug_info_emitter.h",
    "sessions/model_type_registry.cc",
    "sessions/model_type_registry.h",
    "sessions/nudge_tracker.cc",
    "sessions/nudge_tracker.h",
    "sessions/status_controller.cc",
    "sessions/status_controller.h",
    "sessions/sync_session.cc",
    "sessions/sync_session.h",
    "sessions/sync_session_context.cc",
    "sessions/sync_session_context.h",
    "syncable/deferred_on_disk_directory_backing_store.cc",
    "syncable/deferred_on_disk_directory_backing_store.h",
    "syncable/dir_open_result.h",
    "syncable/directory.cc",
    "syncable/directory.h",
    "syncable/directory_backing_store.cc",
    "syncable/directory_backing_store.h",
    "syncable/directory_change_delegate.h",
    "syncable/entry.cc",
    "syncable/entry.h",
    "syncable/entry_kernel.cc",
    "syncable/entry_kernel.h",
    "syncable/in_memory_directory_backing_store.cc",
    "syncable/in_memory_directory_backing_store.h",
    "syncable/invalid_directory_backing_store.cc",
    "syncable/invalid_directory_backing_store.h",
    "syncable/metahandle_set.h",
    "syncable/model_neutral_mutable_entry.cc",
    "syncable/model_neutral_mutable_entry.h",
    "syncable/model_type.cc",
    "syncable/mutable_entry.cc",
    "syncable/mutable_entry.h",
    "syncable/nigori_handler.cc",
    "syncable/nigori_handler.h",
    "syncable/nigori_util.cc",
    "syncable/nigori_util.h",
    "syncable/on_disk_directory_backing_store.cc",
    "syncable/on_disk_directory_backing_store.h",
    "syncable/parent_child_index.cc",
    "syncable/parent_child_index.h",
    "syncable/proto_value_ptr.h",
    "syncable/scoped_kernel_lock.cc",
    "syncable/scoped_kernel_lock.h",
    "syncable/scoped_parent_child_index_updater.cc",
    "syncable/scoped_parent_child_index_updater.h",
    "syncable/syncable-inl.h",
    "syncable/syncable_base_transaction.cc",
    "syncable/syncable_base_transaction.h",
    "syncable/syncable_base_write_transaction.cc",
    "syncable/syncable_base_write_transaction.h",
    "syncable/syncable_changes_version.h",
    "syncable/syncable_columns.h",
    "syncable/syncable_delete_journal.cc",
    "syncable/syncable_delete_journal.h",
    "syncable/syncable_enum_conversions.cc",
    "syncable/syncable_enum_conversions.h",
    "syncable/syncable_id.cc",
    "syncable/syncable_id.h",
    "syncable/syncable_model_neutral_write_transaction.cc",
    "syncable/syncable_model_neutral_write_transaction.h",
    "syncable/syncable_proto_util.cc",
    "syncable/syncable_proto_util.h",
    "syncable/syncable_read_transaction.cc",
    "syncable/syncable_read_transaction.h",
    "syncable/syncable_util.cc",
    "syncable/syncable_util.h",
    "syncable/syncable_write_transaction.cc",
    "syncable/syncable_write_transaction.h",
    "syncable/transaction_observer.h",
    "syncable/write_transaction_info.cc",
    "syncable/write_transaction_info.h",
    "util/cryptographer.cc",
    "util/cryptographer.h",
    "util/data_type_histogram.cc",
    "util/data_type_histogram.h",
    "util/encryptor.h",
    "util/extensions_activity.cc",
    "util/extensions_activity.h",
    "util/get_session_name.cc",
    "util/get_session_name.h",
    "util/get_session_name_ios.h",
    "util/get_session_name_ios.mm",
    "util/get_session_name_linux.cc",
    "util/get_session_name_linux.h",
    "util/get_session_name_mac.h",
    "util/get_session_name_mac.mm",
    "util/get_session_name_win.cc",
    "util/get_session_name_win.h",
    "util/logging.cc",
    "util/logging.h",
    "util/nigori.cc",
    "util/nigori.h",
    "util/time.cc",
    "util/time.h",
  ]

  configs += [ "//build/config:precompiled_headers" ]

  public_deps = [
    "//sync/internal_api/attachments/proto",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//base/third_party/dynamic_annotations",
    "//crypto",
    "//google_apis",
    "//net",
    "//sql",
    "//third_party/leveldatabase",
    "//third_party/zlib",
    "//url",
    "//sync/protocol",
  ]

  if (is_android) {
    deps += [ "//sync/android:jni_headers" ]
    sources += [
      "android/model_type_helper.cc",
      "android/model_type_helper.h",
      "android/sync_jni_registrar.cc",
      "android/sync_jni_registrar.h",
    ]
  }

  if (is_chromeos) {
    # Required by get_session_name.cc on Chrome OS.
    deps += [ "//chromeos" ]
  }

  if (is_mac) {
    libs = [
      # Required by get_session_name_mac.mm on Mac.
      "SystemConfiguration.framework",
    ]
  }

  defines = [ "SYNC_IMPLEMENTATION" ]
  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

# GYP version: sync/sync_tests.gypi:test_support_sync_core
static_library("test_support_sync_core") {
  testonly = true
  sources = [
    "internal_api/public/base/model_type_test_util.cc",
    "internal_api/public/base/model_type_test_util.h",
    "js/js_test_util.cc",
    "js/js_test_util.h",
    "sessions/test_util.cc",
    "sessions/test_util.h",
    "test/callback_counter.h",
    "test/directory_backing_store_corruption_testing.cc",
    "test/directory_backing_store_corruption_testing.h",
    "test/engine/fake_model_worker.cc",
    "test/engine/fake_model_worker.h",
    "test/engine/fake_sync_scheduler.cc",
    "test/engine/fake_sync_scheduler.h",
    "test/engine/mock_commit_queue.cc",
    "test/engine/mock_commit_queue.h",
    "test/engine/mock_connection_manager.cc",
    "test/engine/mock_connection_manager.h",
    "test/engine/mock_model_type_processor.cc",
    "test/engine/mock_model_type_processor.h",
    "test/engine/mock_nudge_handler.cc",
    "test/engine/mock_nudge_handler.h",
    "test/engine/mock_update_handler.cc",
    "test/engine/mock_update_handler.h",
    "test/engine/single_type_mock_server.cc",
    "test/engine/single_type_mock_server.h",
    "test/engine/test_directory_setter_upper.cc",
    "test/engine/test_directory_setter_upper.h",
    "test/engine/test_id_factory.h",
    "test/engine/test_syncable_utils.cc",
    "test/engine/test_syncable_utils.h",
    "test/fake_encryptor.cc",
    "test/fake_encryptor.h",
    "test/fake_sync_encryption_handler.cc",
    "test/fake_sync_encryption_handler.h",
    "test/mock_invalidation.cc",
    "test/mock_invalidation.h",
    "test/mock_invalidation_tracker.cc",
    "test/mock_invalidation_tracker.h",
    "test/null_directory_change_delegate.cc",
    "test/null_directory_change_delegate.h",
    "test/null_transaction_observer.cc",
    "test/null_transaction_observer.h",
    "test/sessions/mock_debug_info_getter.cc",
    "test/sessions/mock_debug_info_getter.h",
    "test/sessions/test_scoped_session_event_listener.h",
    "test/test_directory_backing_store.cc",
    "test/test_directory_backing_store.h",
    "test/test_transaction_observer.cc",
    "test/test_transaction_observer.h",
    "test/trackable_mock_invalidation.cc",
    "test/trackable_mock_invalidation.h",
    "util/mock_unrecoverable_error_handler.cc",
    "util/mock_unrecoverable_error_handler.h",
    "util/test_unrecoverable_error_handler.cc",
    "util/test_unrecoverable_error_handler.h",
  ]

  public_deps = [
    "//base",
    "//testing/gmock",
    "//testing/gtest",
    "//sync",
  ]

  defines = [ "SYNC_TEST" ]
  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

# GYP version: sync/sync_tests.gypi:test_support_sync_internal_api
static_library("test_support_sync_internal_api") {
  testonly = true
  sources = [
    "internal_api/public/test/fake_sync_manager.h",
    "internal_api/public/test/null_sync_context_proxy.h",
    "internal_api/public/test/sync_manager_factory_for_profile_sync_test.h",
    "internal_api/public/test/test_entry_factory.h",
    "internal_api/public/test/test_internal_components_factory.h",
    "internal_api/public/test/test_user_share.h",
    "internal_api/test/fake_sync_manager.cc",
    "internal_api/test/null_sync_context_proxy.cc",
    "internal_api/test/sync_manager_factory_for_profile_sync_test.cc",
    "internal_api/test/sync_manager_for_profile_sync_test.cc",
    "internal_api/test/sync_manager_for_profile_sync_test.h",
    "internal_api/test/test_entry_factory.cc",
    "internal_api/test/test_internal_components_factory.cc",
    "internal_api/test/test_user_share.cc",
  ]

  public_deps = [
    "//base",
    "//testing/gtest",
    "//sync",
    ":test_support_sync_core",
  ]

  defines = [ "SYNC_TEST" ]
  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

# GYP version: sync/sync_tests.gypi:test_support_sync_api
static_library("test_support_sync_api") {
  testonly = true
  sources = [
    "api/fake_sync_change_processor.cc",
    "api/fake_sync_change_processor.h",
    "api/fake_syncable_service.cc",
    "api/fake_syncable_service.h",
    "api/sync_change_processor_wrapper_for_test.cc",
    "api/sync_change_processor_wrapper_for_test.h",
    "api/sync_error_factory_mock.cc",
    "api/sync_error_factory_mock.h",
  ]

  defines = [ "SYNC_TEST" ]

  public_deps = [
    "//base",
    "//sync",
    "//testing/gmock",
  ]
}

# TODO(GYP): Delete this after we've converted everything to GN.
# The _run targets exist only for compatibility w/ GYP.
group("sync_unit_tests_run") {
  testonly = true
  deps = [
    ":sync_unit_tests",
  ]
}

# GYP version: sync/sync_tests.gypi:sync_unit_tests
test("sync_unit_tests") {
  sources = [
    "api/attachments/attachment_id_unittest.cc",
    "api/attachments/attachment_metadata_unittest.cc",
    "api/attachments/attachment_unittest.cc",
    "api/sync_change_unittest.cc",
    "api/sync_data_unittest.cc",
    "api/sync_error_unittest.cc",
    "api/sync_merge_result_unittest.cc",
    "engine/apply_control_data_updates_unittest.cc",
    "engine/backoff_delay_provider_unittest.cc",
    "engine/directory_commit_contribution_unittest.cc",
    "engine/directory_update_handler_unittest.cc",
    "engine/entity_tracker_unittest.cc",
    "engine/get_updates_processor_unittest.cc",
    "engine/model_type_entity_unittest.cc",
    "engine/model_type_worker_unittest.cc",
    "engine/sync_scheduler_unittest.cc",
    "engine/syncer_proto_util_unittest.cc",
    "engine/syncer_unittest.cc",
    "engine/syncer_util_unittest.cc",
    "internal_api/attachments/attachment_downloader_impl_unittest.cc",
    "internal_api/attachments/attachment_service_impl_unittest.cc",
    "internal_api/attachments/attachment_service_proxy_unittest.cc",
    "internal_api/attachments/attachment_store_frontend_unittest.cc",
    "internal_api/attachments/attachment_store_test_template.h",
    "internal_api/attachments/attachment_uploader_impl_unittest.cc",
    "internal_api/attachments/fake_attachment_downloader_unittest.cc",
    "internal_api/attachments/fake_attachment_uploader_unittest.cc",
    "internal_api/attachments/in_memory_attachment_store_unittest.cc",
    "internal_api/attachments/on_disk_attachment_store_unittest.cc",
    "internal_api/attachments/task_queue_unittest.cc",
    "internal_api/debug_info_event_listener_unittest.cc",
    "internal_api/http_bridge_unittest.cc",
    "internal_api/js_mutation_event_observer_unittest.cc",
    "internal_api/js_sync_encryption_handler_observer_unittest.cc",
    "internal_api/js_sync_manager_observer_unittest.cc",
    "internal_api/protocol_event_buffer_unittest.cc",
    "internal_api/public/base/attachment_id_proto_unittest.cc",
    "internal_api/public/base/cancelation_signal_unittest.cc",
    "internal_api/public/base/enum_set_unittest.cc",
    "internal_api/public/base/node_ordinal_unittest.cc",
    "internal_api/public/base/ordinal_unittest.cc",
    "internal_api/public/base/unique_position_unittest.cc",
    "internal_api/public/change_record_unittest.cc",
    "internal_api/public/engine/model_safe_worker_unittest.cc",
    "internal_api/public/sessions/sync_session_snapshot_unittest.cc",
    "internal_api/public/util/immutable_unittest.cc",
    "internal_api/public/util/weak_handle_unittest.cc",
    "internal_api/shared_model_type_processor_unittest.cc",
    "internal_api/sync_backup_manager_unittest.cc",
    "internal_api/sync_context_proxy_impl_unittest.cc",
    "internal_api/sync_encryption_handler_impl_unittest.cc",
    "internal_api/sync_manager_impl_unittest.cc",
    "internal_api/sync_rollback_manager_base_unittest.cc",
    "internal_api/sync_rollback_manager_unittest.cc",
    "internal_api/syncapi_server_connection_manager_unittest.cc",
    "js/js_event_details_unittest.cc",
    "js/sync_js_controller_unittest.cc",
    "protocol/proto_enum_conversions_unittest.cc",
    "protocol/proto_value_conversions_unittest.cc",
    "sessions/model_type_registry_unittest.cc",
    "sessions/nudge_tracker_unittest.cc",
    "sessions/status_controller_unittest.cc",
    "syncable/deferred_on_disk_directory_backing_store_unittest.cc",
    "syncable/directory_backing_store_unittest.cc",
    "syncable/directory_unittest.cc",
    "syncable/directory_unittest.h",
    "syncable/entry_kernel_unittest.cc",
    "syncable/model_type_unittest.cc",
    "syncable/nigori_util_unittest.cc",
    "syncable/parent_child_index_unittest.cc",
    "syncable/proto_value_ptr_unittest.cc",
    "syncable/syncable_enum_conversions_unittest.cc",
    "syncable/syncable_id_unittest.cc",
    "syncable/syncable_unittest.cc",
    "syncable/syncable_util_unittest.cc",
    "util/cryptographer_unittest.cc",
    "util/data_type_histogram_unittest.cc",
    "util/get_session_name_unittest.cc",
    "util/nigori_unittest.cc",
    "util/protobuf_unittest.cc",
  ]

  configs += [ "//build/config:precompiled_headers" ]

  data = [
    "//chrome/test/data/sync/",
    "//net/tools/testserver/",
    "//third_party/pyftpdlib/",
    "//third_party/pywebsocket/",
    "//third_party/tlslite/",
    "$root_out_dir/pyproto/google/",
  ]

  if (is_android) {
    data += [ "$root_out_dir/locales/en-US.pak" ]
  }

  deps = [
    ":test_support_sync_core",
    ":test_support_sync_internal_api",
    "//base",
    "//base/allocator",
    "//base/test:run_all_unittests",
    "//google_apis",
    "//google_apis:test_support",
    "//net",
    "//net:test_support",
    "//sql",
    "//sql:test_support",
    "//sync",
    "//sync/protocol",
    "//testing/gmock",
    "//testing/gtest",
    "//third_party/leveldatabase",
    "//third_party/protobuf:protobuf_lite",
    "//third_party/zlib",
  ]

  if (is_android) {
    isolate_file = "sync_unit_tests.isolate"
  }

  if (is_chromeos) {
    # Required by get_session_name_unittest.cc on Chrome OS.
    deps += [ "//chromeos" ]
  }

  if (is_ios) {
    sources -= [ "internal_api/http_bridge_unittest.cc" ]
  }

  defines = [ "SYNC_TEST" ]
}

# GYP version: sync/sync_tests.gypi:test_support_sync_fake_server
static_library("test_support_sync_fake_server") {
  testonly = true
  sources = [
    "test/fake_server/bookmark_entity.cc",
    "test/fake_server/bookmark_entity.h",
    "test/fake_server/bookmark_entity_builder.cc",
    "test/fake_server/bookmark_entity_builder.h",
    "test/fake_server/entity_builder_factory.cc",
    "test/fake_server/entity_builder_factory.h",
    "test/fake_server/fake_server.cc",
    "test/fake_server/fake_server.h",
    "test/fake_server/fake_server_entity.cc",
    "test/fake_server/fake_server_entity.h",
    "test/fake_server/fake_server_http_post_provider.cc",
    "test/fake_server/fake_server_http_post_provider.h",
    "test/fake_server/fake_server_network_resources.cc",
    "test/fake_server/fake_server_network_resources.h",
    "test/fake_server/fake_server_verifier.cc",
    "test/fake_server/fake_server_verifier.h",
    "test/fake_server/permanent_entity.cc",
    "test/fake_server/permanent_entity.h",
    "test/fake_server/sessions_hierarchy.cc",
    "test/fake_server/sessions_hierarchy.h",
    "test/fake_server/tombstone_entity.cc",
    "test/fake_server/tombstone_entity.h",
    "test/fake_server/unique_client_entity.cc",
    "test/fake_server/unique_client_entity.h",
  ]

  deps = [
    "//base",
    "//net",
    "//testing/gtest",
    "//sync",
    "//url",
  ]

  public_deps = [
    "//third_party/protobuf:protobuf_lite",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]
}

# GYP version: sync/sync_tests.gypi:test_support_sync_testserver
static_library("test_support_sync_testserver") {
  testonly = true
  sources = [
    "test/local_sync_test_server.cc",
    "test/local_sync_test_server.h",
  ]

  configs += [ "//build/config/compiler:wexit_time_destructors" ]

  public_deps = [
    "//base",
    "//net:test_support",
  ]
  deps = [
    ":sync",
    # The sync test server uses Python modules generated by the sync protos.
    #  '../third_party/protobuf/protobuf.gyp:py_proto',  # TODO(GYP)
  ]
}

if (!is_ios) {
  # GYP version: sync/sync_tests.gypi:run_sync_testserver
  executable("run_sync_testserver") {
    testonly = true
    sources = [
      "tools/testserver/run_sync_testserver.cc",
    ]

    deps = [
      ":test_support_sync_testserver",
      "//base",
      "//base/test:test_support",
      "//build/config/sanitizers:deps",
      "//net:test_support",
      "//testing/gtest",
    ]
  }
}

if (is_android) {
  import("//build/config/android/rules.gni")

  # GYP: //sync/sync_tests.gypi:fake_server_jni
  generate_jni("fake_server_jni") {
    testonly = true
    jni_package = "sync/test/fake_server"
    sources = [
      "//chrome/android/sync_shell/javatests/src/org/chromium/chrome/browser/sync/FakeServerHelper.java",
    ]
  }

  # GYP: //sync/sync_tests.gypi:sync_java_test_support
  android_library("sync_java_test_support") {
    testonly = true
    deps = [
      "android:sync_java",
      "//base:base_java",
      "//base:base_java_test_support",
      "//third_party/jsr-305:jsr_305_javalib",
    ]
    DEPRECATED_java_in_dir = "test/android/javatests/src"
  }

  # GYP: //sync/sync_tests.gypi:test_support_sync_fake_server_android
  static_library("test_support_sync_fake_server_android") {
    testonly = true
    sources = [
      "test/fake_server/android/fake_server_helper_android.cc",
      "test/fake_server/android/fake_server_helper_android.h",
    ]
    deps = [
      ":fake_server_jni",
      ":sync_core",
      ":test_support_sync_fake_server",
      "//base",
      "//sync/protocol:protocol",
      "//testing/gtest",
      "//url:url",
    ]
  }
}
