chromium/components/sync/engine/BUILD.gn

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

static_library("engine") {
  sources = [
    "active_devices_invalidation_info.cc",
    "active_devices_invalidation_info.h",
    "backoff_delay_provider.cc",
    "backoff_delay_provider.h",
    "bookmark_update_preprocessing.cc",
    "bookmark_update_preprocessing.h",
    "cancelation_signal.cc",
    "cancelation_signal.h",
    "commit.cc",
    "commit.h",
    "commit_and_get_updates_types.cc",
    "commit_and_get_updates_types.h",
    "commit_contribution.h",
    "commit_contribution_impl.cc",
    "commit_contribution_impl.h",
    "commit_contributor.h",
    "commit_processor.cc",
    "commit_processor.h",
    "commit_queue.h",
    "commit_util.cc",
    "commit_util.h",
    "configure_reason.h",
    "cycle/commit_quota.cc",
    "cycle/commit_quota.h",
    "cycle/data_type_tracker.cc",
    "cycle/data_type_tracker.h",
    "cycle/debug_info_getter.h",
    "cycle/entity_change_metric_recording.cc",
    "cycle/entity_change_metric_recording.h",
    "cycle/model_neutral_state.cc",
    "cycle/model_neutral_state.h",
    "cycle/nudge_tracker.cc",
    "cycle/nudge_tracker.h",
    "cycle/status_controller.cc",
    "cycle/status_controller.h",
    "cycle/sync_cycle.cc",
    "cycle/sync_cycle.h",
    "cycle/sync_cycle_context.cc",
    "cycle/sync_cycle_context.h",
    "cycle/sync_cycle_snapshot.cc",
    "cycle/sync_cycle_snapshot.h",
    "data_type_activation_response.cc",
    "data_type_activation_response.h",
    "data_type_configurer.cc",
    "data_type_configurer.h",
    "data_type_connector.h",
    "data_type_connector_proxy.cc",
    "data_type_connector_proxy.h",
    "data_type_processor.h",
    "data_type_processor_metrics.cc",
    "data_type_processor_metrics.h",
    "data_type_processor_proxy.cc",
    "data_type_processor_proxy.h",
    "data_type_registry.cc",
    "data_type_registry.h",
    "data_type_worker.cc",
    "data_type_worker.h",
    "debug_info_event_listener.cc",
    "debug_info_event_listener.h",
    "engine_components_factory.h",
    "engine_components_factory_impl.cc",
    "engine_components_factory_impl.h",
    "events/commit_request_event.cc",
    "events/commit_request_event.h",
    "events/commit_response_event.cc",
    "events/commit_response_event.h",
    "events/configure_get_updates_request_event.cc",
    "events/configure_get_updates_request_event.h",
    "events/get_updates_response_event.cc",
    "events/get_updates_response_event.h",
    "events/normal_get_updates_request_event.cc",
    "events/normal_get_updates_request_event.h",
    "events/poll_get_updates_request_event.cc",
    "events/poll_get_updates_request_event.h",
    "events/protocol_event.cc",
    "events/protocol_event.h",
    "events/protocol_event_buffer.cc",
    "events/protocol_event_buffer.h",
    "events/protocol_event_observer.h",
    "forwarding_data_type_processor.cc",
    "forwarding_data_type_processor.h",
    "get_updates_delegate.cc",
    "get_updates_delegate.h",
    "get_updates_processor.cc",
    "get_updates_processor.h",
    "loopback_server/loopback_connection_manager.cc",
    "loopback_server/loopback_connection_manager.h",
    "loopback_server/loopback_server.cc",
    "loopback_server/loopback_server.h",
    "loopback_server/loopback_server_entity.cc",
    "loopback_server/loopback_server_entity.h",
    "loopback_server/persistent_bookmark_entity.cc",
    "loopback_server/persistent_bookmark_entity.h",
    "loopback_server/persistent_permanent_entity.cc",
    "loopback_server/persistent_permanent_entity.h",
    "loopback_server/persistent_tombstone_entity.cc",
    "loopback_server/persistent_tombstone_entity.h",
    "loopback_server/persistent_unique_client_entity.cc",
    "loopback_server/persistent_unique_client_entity.h",
    "net/http_bridge.cc",
    "net/http_bridge.h",
    "net/http_post_provider.h",
    "net/http_post_provider_factory.h",
    "net/server_connection_manager.cc",
    "net/server_connection_manager.h",
    "net/sync_server_connection_manager.cc",
    "net/sync_server_connection_manager.h",
    "net/url_translator.cc",
    "net/url_translator.h",
    "nigori/cross_user_sharing_public_key.cc",
    "nigori/cross_user_sharing_public_key.h",
    "nigori/cross_user_sharing_public_private_key_pair.cc",
    "nigori/cross_user_sharing_public_private_key_pair.h",
    "nigori/cryptographer.cc",
    "nigori/cryptographer.h",
    "nigori/key_derivation_params.cc",
    "nigori/key_derivation_params.h",
    "nigori/keystore_keys_handler.h",
    "nigori/nigori.cc",
    "nigori/nigori.h",
    "nudge_handler.h",
    "polling_constants.h",
    "shutdown_reason.cc",
    "shutdown_reason.h",
    "sync_credentials.h",
    "sync_cycle_event.cc",
    "sync_cycle_event.h",
    "sync_encryption_handler.h",
    "sync_engine.cc",
    "sync_engine.h",
    "sync_engine_event_listener.h",
    "sync_engine_host.h",
    "sync_manager.cc",
    "sync_manager.h",
    "sync_manager_factory.cc",
    "sync_manager_factory.h",
    "sync_manager_impl.cc",
    "sync_manager_impl.h",
    "sync_protocol_error.cc",
    "sync_protocol_error.h",
    "sync_scheduler.h",
    "sync_scheduler_impl.cc",
    "sync_scheduler_impl.h",
    "sync_status.cc",
    "sync_status.h",
    "sync_status_tracker.cc",
    "sync_status_tracker.h",
    "sync_string_conversions.cc",
    "sync_string_conversions.h",
    "syncer.cc",
    "syncer.h",
    "syncer_error.cc",
    "syncer_error.h",
    "syncer_proto_util.cc",
    "syncer_proto_util.h",
    "traffic_logger.cc",
    "traffic_logger.h",
    "update_handler.h",
  ]

  configs += [
    # The target has >50 .cc files, so speed up the build with
    # precompiled_headers.
    "//build/config:precompiled_headers",
    "//build/config/compiler:wexit_time_destructors",
  ]

  public_deps = [
    "//base",
    "//components/signin/public/identity_manager",
    "//components/sync/base",
    "//components/sync/protocol",
    "//components/sync/protocol:util",
    "//net",
    "//services/network/public/cpp",
    "//url",
  ]

  deps = [
    "//base:i18n",
    "//build:branding_buildflags",
    "//components/variations/net",

    # For engine/nigori.
    "//crypto",
    "//third_party/zlib/google:compression_utils",
  ]
}