Home | History | Annotate | Download | only in sync
      1 # Copyright 2014 The Chromium Authors. All rights reserved.
      2 # Use of this source code is governed by a BSD-style license that can be
      3 # found in the LICENSE file.
      4 
      5 import("//build/config/features.gni")
      6 
      7 component("sync") {
      8   public_deps = [
      9     ":sync_core",
     10     "//sync/protocol",
     11   ]
     12 }
     13 
     14 # GYP version: sync/sync.gyp:sync_core
     15 source_set("sync_core") {
     16   sources = [
     17     "api/attachments/attachment.cc",
     18     "api/attachments/attachment.h",
     19     "api/attachments/attachment_id.cc",
     20     "api/attachments/attachment_id.h",
     21     "api/attachments/attachment_store.cc",
     22     "api/attachments/attachment_store.h",
     23     "api/attachments/fake_attachment_store.cc",
     24     "api/attachments/fake_attachment_store.h",
     25     "api/string_ordinal.h",
     26     "api/syncable_service.cc",
     27     "api/syncable_service.h",
     28     "api/sync_change.cc",
     29     "api/sync_change.h",
     30     "api/sync_change_processor.cc",
     31     "api/sync_change_processor.h",
     32     "api/sync_data.cc",
     33     "api/sync_data.h",
     34     "api/sync_error.cc",
     35     "api/sync_error_factory.cc",
     36     "api/sync_error_factory.h",
     37     "api/sync_error.h",
     38     "api/sync_merge_result.cc",
     39     "api/sync_merge_result.h",
     40     "api/time.h",
     41     "base/sync_export.h",
     42     "engine/all_status.cc",
     43     "engine/all_status.h",
     44     "engine/apply_control_data_updates.cc",
     45     "engine/apply_control_data_updates.h",
     46     "engine/backoff_delay_provider.cc",
     47     "engine/backoff_delay_provider.h",
     48     "engine/commit.cc",
     49     "engine/commit_contribution.cc",
     50     "engine/commit_contribution.h",
     51     "engine/commit_contributor.cc",
     52     "engine/commit_contributor.h",
     53     "engine/commit.h",
     54     "engine/commit_processor.cc",
     55     "engine/commit_processor.h",
     56     "engine/commit_util.cc",
     57     "engine/commit_util.h",
     58     "engine/conflict_resolver.cc",
     59     "engine/conflict_resolver.h",
     60     "engine/conflict_util.cc",
     61     "engine/conflict_util.h",
     62     "engine/directory_commit_contribution.cc",
     63     "engine/directory_commit_contribution.h",
     64     "engine/directory_commit_contributor.cc",
     65     "engine/directory_commit_contributor.h",
     66     "engine/directory_update_handler.cc",
     67     "engine/directory_update_handler.h",
     68     "engine/entity_tracker.cc",
     69     "engine/entity_tracker.h",
     70     "engine/get_commit_ids.cc",
     71     "engine/get_commit_ids.h",
     72     "engine/get_updates_delegate.cc",
     73     "engine/get_updates_delegate.h",
     74     "engine/get_updates_processor.cc",
     75     "engine/get_updates_processor.h",
     76     "engine/model_type_entity.cc",
     77     "engine/model_type_entity.h",
     78     "engine/model_type_sync_proxy.cc",
     79     "engine/model_type_sync_proxy.h",
     80     "engine/model_type_sync_proxy_impl.cc",
     81     "engine/model_type_sync_proxy_impl.h",
     82     "engine/model_type_sync_worker.cc",
     83     "engine/model_type_sync_worker.h",
     84     "engine/model_type_sync_worker_impl.cc",
     85     "engine/model_type_sync_worker_impl.h",
     86     "engine/net/server_connection_manager.cc",
     87     "engine/net/server_connection_manager.h",
     88     "engine/net/url_translator.cc",
     89     "engine/net/url_translator.h",
     90     "engine/non_blocking_type_commit_contribution.cc",
     91     "engine/non_blocking_type_commit_contribution.h",
     92     "engine/nudge_handler.cc",
     93     "engine/nudge_handler.h",
     94     "engine/nudge_source.cc",
     95     "engine/nudge_source.h",
     96     "engine/process_updates_util.cc",
     97     "engine/process_updates_util.h",
     98     "engine/sync_cycle_event.cc",
     99     "engine/sync_cycle_event.h",
    100     "engine/sync_engine_event_listener.cc",
    101     "engine/sync_engine_event_listener.h",
    102     "engine/syncer.cc",
    103     "engine/syncer.h",
    104     "engine/syncer_proto_util.cc",
    105     "engine/syncer_proto_util.h",
    106     "engine/syncer_types.h",
    107     "engine/syncer_util.cc",
    108     "engine/syncer_util.h",
    109     "engine/sync_scheduler.cc",
    110     "engine/sync_scheduler.h",
    111     "engine/sync_scheduler_impl.cc",
    112     "engine/sync_scheduler_impl.h",
    113     "engine/traffic_logger.cc",
    114     "engine/traffic_logger.h",
    115     "engine/update_applicator.cc",
    116     "engine/update_applicator.h",
    117     "engine/update_handler.cc",
    118     "engine/update_handler.h",
    119     "internal_api/attachments/attachment_downloader.cc",
    120     "internal_api/attachments/attachment_downloader_impl.cc",
    121     "internal_api/attachments/attachment_service.cc",
    122     "internal_api/attachments/attachment_service_impl.cc",
    123     "internal_api/attachments/attachment_service_proxy.cc",
    124     "internal_api/attachments/attachment_service_proxy_for_test.cc",
    125     "internal_api/attachments/attachment_uploader.cc",
    126     "internal_api/attachments/attachment_uploader_impl.cc",
    127     "internal_api/attachments/fake_attachment_downloader.cc",
    128     "internal_api/attachments/fake_attachment_uploader.cc",
    129     "internal_api/attachments/public/attachment_downloader.h",
    130     "internal_api/attachments/public/attachment_service.h",
    131     "internal_api/attachments/public/attachment_service_impl.h",
    132     "internal_api/attachments/public/attachment_service_proxy_for_test.h",
    133     "internal_api/attachments/public/attachment_service_proxy.h",
    134     "internal_api/attachments/public/attachment_uploader.h",
    135     "internal_api/base_node.cc",
    136     "internal_api/base_transaction.cc",
    137     "internal_api/change_record.cc",
    138     "internal_api/change_reorder_buffer.cc",
    139     "internal_api/change_reorder_buffer.h",
    140     "internal_api/debug_info_event_listener.cc",
    141     "internal_api/debug_info_event_listener.h",
    142     "internal_api/delete_journal.cc",
    143     "internal_api/events/commit_request_event.cc",
    144     "internal_api/events/commit_response_event.cc",
    145     "internal_api/events/configure_get_updates_request_event.cc",
    146     "internal_api/events/get_updates_response_event.cc",
    147     "internal_api/events/normal_get_updates_request_event.cc",
    148     "internal_api/events/poll_get_updates_request_event.cc",
    149     "internal_api/events/protocol_event.cc",
    150     "internal_api/http_bridge.cc",
    151     "internal_api/http_bridge_network_resources.cc",
    152     "internal_api/internal_components_factory_impl.cc",
    153     "internal_api/js_mutation_event_observer.cc",
    154     "internal_api/js_mutation_event_observer.h",
    155     "internal_api/js_sync_encryption_handler_observer.cc",
    156     "internal_api/js_sync_encryption_handler_observer.h",
    157     "internal_api/js_sync_manager_observer.cc",
    158     "internal_api/js_sync_manager_observer.h",
    159     "internal_api/protocol_event_buffer.cc",
    160     "internal_api/protocol_event_buffer.h",
    161     "internal_api/public/attachments/attachment_downloader_impl.h",
    162     "internal_api/public/attachments/attachment_uploader_impl.h",
    163     "internal_api/public/attachments/fake_attachment_downloader.h",
    164     "internal_api/public/attachments/fake_attachment_uploader.h",
    165     "internal_api/public/base/attachment_id_proto.cc",
    166     "internal_api/public/base/attachment_id_proto.h",
    167     "internal_api/public/base/cancelation_observer.cc",
    168     "internal_api/public/base/cancelation_observer.h",
    169     "internal_api/public/base/cancelation_signal.cc",
    170     "internal_api/public/base/cancelation_signal.h",
    171     "internal_api/public/base/enum_set.h",
    172     "internal_api/public/base/invalidation_interface.cc",
    173     "internal_api/public/base/invalidation_interface.h",
    174     "internal_api/public/base/model_type.h",
    175     "internal_api/public/base_node.h",
    176     "internal_api/public/base/node_ordinal.cc",
    177     "internal_api/public/base/node_ordinal.h",
    178     "internal_api/public/base/ordinal.h",
    179     "internal_api/public/base/progress_marker_map.cc",
    180     "internal_api/public/base/progress_marker_map.h",
    181     "internal_api/public/base_transaction.h",
    182     "internal_api/public/base/unique_position.cc",
    183     "internal_api/public/base/unique_position.h",
    184     "internal_api/public/change_record.h",
    185     "internal_api/public/configure_reason.h",
    186     "internal_api/public/data_type_association_stats.cc",
    187     "internal_api/public/data_type_association_stats.h",
    188     "internal_api/public/data_type_debug_info_listener.cc",
    189     "internal_api/public/data_type_debug_info_listener.h",
    190     "internal_api/public/delete_journal.h",
    191     "internal_api/public/engine/model_safe_worker.cc",
    192     "internal_api/public/engine/model_safe_worker.h",
    193     "internal_api/public/engine/passive_model_worker.cc",
    194     "internal_api/public/engine/passive_model_worker.h",
    195     "internal_api/public/engine/polling_constants.cc",
    196     "internal_api/public/engine/polling_constants.h",
    197     "internal_api/public/engine/sync_status.cc",
    198     "internal_api/public/engine/sync_status.h",
    199     "internal_api/public/events/commit_request_event.h",
    200     "internal_api/public/events/commit_response_event.h",
    201     "internal_api/public/events/configure_get_updates_request_event.h",
    202     "internal_api/public/events/get_updates_response_event.h",
    203     "internal_api/public/events/normal_get_updates_request_event.h",
    204     "internal_api/public/events/poll_get_updates_request_event.h",
    205     "internal_api/public/events/protocol_event.h",
    206     "internal_api/public/http_bridge.h",
    207     "internal_api/public/http_bridge_network_resources.h",
    208     "internal_api/public/http_post_provider_factory.h",
    209     "internal_api/public/http_post_provider_interface.h",
    210     "internal_api/public/internal_components_factory.h",
    211     "internal_api/public/internal_components_factory_impl.h",
    212     "internal_api/public/network_resources.h",
    213     "internal_api/public/non_blocking_sync_common.cc",
    214     "internal_api/public/non_blocking_sync_common.h",
    215     "internal_api/public/read_node.h",
    216     "internal_api/public/read_transaction.h",
    217     "internal_api/public/sessions/commit_counters.cc",
    218     "internal_api/public/sessions/commit_counters.h",
    219     "internal_api/public/sessions/model_neutral_state.cc",
    220     "internal_api/public/sessions/model_neutral_state.h",
    221     "internal_api/public/sessions/status_counters.cc",
    222     "internal_api/public/sessions/status_counters.h",
    223     "internal_api/public/sessions/sync_session_snapshot.cc",
    224     "internal_api/public/sessions/sync_session_snapshot.h",
    225     "internal_api/public/sessions/type_debug_info_observer.cc",
    226     "internal_api/public/sessions/type_debug_info_observer.h",
    227     "internal_api/public/sessions/update_counters.cc",
    228     "internal_api/public/sessions/update_counters.h",
    229     "internal_api/public/shutdown_reason.h",
    230     "internal_api/public/sync_auth_provider.h",
    231     "internal_api/public/sync_context.h",
    232     "internal_api/public/sync_context_proxy.h",
    233     "internal_api/public/sync_encryption_handler.cc",
    234     "internal_api/public/sync_encryption_handler.h",
    235     "internal_api/public/sync_manager.cc",
    236     "internal_api/public/sync_manager_factory.h",
    237     "internal_api/public/sync_manager.h",
    238     "internal_api/public/user_share.h",
    239     "internal_api/public/util/experiments.h",
    240     "internal_api/public/util/immutable.h",
    241     "internal_api/public/util/report_unrecoverable_error_function.h",
    242     "internal_api/public/util/sync_db_util.h",
    243     "internal_api/public/util/syncer_error.cc",
    244     "internal_api/public/util/syncer_error.h",
    245     "internal_api/public/util/sync_string_conversions.cc",
    246     "internal_api/public/util/sync_string_conversions.h",
    247     "internal_api/public/util/unrecoverable_error_handler.h",
    248     "internal_api/public/util/unrecoverable_error_info.cc",
    249     "internal_api/public/util/unrecoverable_error_info.h",
    250     "internal_api/public/util/weak_handle.cc",
    251     "internal_api/public/util/weak_handle.h",
    252     "internal_api/public/write_node.h",
    253     "internal_api/public/write_transaction.h",
    254     "internal_api/read_node.cc",
    255     "internal_api/read_transaction.cc",
    256     "internal_api/syncapi_internal.cc",
    257     "internal_api/syncapi_internal.h",
    258     "internal_api/syncapi_server_connection_manager.cc",
    259     "internal_api/syncapi_server_connection_manager.h",
    260     "internal_api/sync_backup_manager.cc",
    261     "internal_api/sync_backup_manager.h",
    262     "internal_api/sync_context.cc",
    263     "internal_api/sync_context_proxy.cc",
    264     "internal_api/sync_context_proxy_impl.cc",
    265     "internal_api/sync_context_proxy_impl.h",
    266     "internal_api/sync_db_util.cc",
    267     "internal_api/sync_encryption_handler_impl.cc",
    268     "internal_api/sync_encryption_handler_impl.h",
    269     "internal_api/sync_manager_factory.cc",
    270     "internal_api/sync_manager_impl.cc",
    271     "internal_api/sync_manager_impl.h",
    272     "internal_api/sync_rollback_manager_base.cc",
    273     "internal_api/sync_rollback_manager_base.h",
    274     "internal_api/sync_rollback_manager.cc",
    275     "internal_api/sync_rollback_manager.h",
    276     "internal_api/user_share.cc",
    277     "internal_api/write_node.cc",
    278     "internal_api/write_transaction.cc",
    279     "js/js_backend.h",
    280     "js/js_controller.h",
    281     "js/js_event_details.cc",
    282     "js/js_event_details.h",
    283     "js/js_event_handler.h",
    284     "js/sync_js_controller.cc",
    285     "js/sync_js_controller.h",
    286     "protocol/proto_enum_conversions.cc",
    287     "protocol/proto_enum_conversions.h",
    288     "protocol/proto_value_conversions.cc",
    289     "protocol/proto_value_conversions.h",
    290     "protocol/sync_protocol_error.cc",
    291     "protocol/sync_protocol_error.h",
    292     "sessions/data_type_tracker.cc",
    293     "sessions/data_type_tracker.h",
    294     "sessions/debug_info_getter.h",
    295     "sessions/directory_type_debug_info_emitter.cc",
    296     "sessions/directory_type_debug_info_emitter.h",
    297     "sessions/model_type_registry.cc",
    298     "sessions/model_type_registry.h",
    299     "sessions/nudge_tracker.cc",
    300     "sessions/nudge_tracker.h",
    301     "sessions/status_controller.cc",
    302     "sessions/status_controller.h",
    303     "sessions/sync_session.cc",
    304     "sessions/sync_session_context.cc",
    305     "sessions/sync_session_context.h",
    306     "sessions/sync_session.h",
    307     "syncable/blob.h",
    308     "syncable/deferred_on_disk_directory_backing_store.cc",
    309     "syncable/deferred_on_disk_directory_backing_store.h",
    310     "syncable/directory_backing_store.cc",
    311     "syncable/directory_backing_store.h",
    312     "syncable/directory.cc",
    313     "syncable/directory_change_delegate.h",
    314     "syncable/directory.h",
    315     "syncable/dir_open_result.h",
    316     "syncable/entry.cc",
    317     "syncable/entry.h",
    318     "syncable/entry_kernel.cc",
    319     "syncable/entry_kernel.h",
    320     "syncable/in_memory_directory_backing_store.cc",
    321     "syncable/in_memory_directory_backing_store.h",
    322     "syncable/invalid_directory_backing_store.cc",
    323     "syncable/invalid_directory_backing_store.h",
    324     "syncable/metahandle_set.h",
    325     "syncable/model_neutral_mutable_entry.cc",
    326     "syncable/model_neutral_mutable_entry.h",
    327     "syncable/model_type.cc",
    328     "syncable/mutable_entry.cc",
    329     "syncable/mutable_entry.h",
    330     "syncable/nigori_handler.cc",
    331     "syncable/nigori_handler.h",
    332     "syncable/nigori_util.cc",
    333     "syncable/nigori_util.h",
    334     "syncable/on_disk_directory_backing_store.cc",
    335     "syncable/on_disk_directory_backing_store.h",
    336     "syncable/parent_child_index.cc",
    337     "syncable/parent_child_index.h",
    338     "syncable/scoped_kernel_lock.cc",
    339     "syncable/scoped_kernel_lock.h",
    340     "syncable/scoped_parent_child_index_updater.cc",
    341     "syncable/scoped_parent_child_index_updater.h",
    342     "syncable/syncable_base_transaction.cc",
    343     "syncable/syncable_base_transaction.h",
    344     "syncable/syncable_base_write_transaction.cc",
    345     "syncable/syncable_base_write_transaction.h",
    346     "syncable/syncable_changes_version.h",
    347     "syncable/syncable_columns.h",
    348     "syncable/syncable_delete_journal.cc",
    349     "syncable/syncable_delete_journal.h",
    350     "syncable/syncable_enum_conversions.cc",
    351     "syncable/syncable_enum_conversions.h",
    352     "syncable/syncable_id.cc",
    353     "syncable/syncable_id.h",
    354     "syncable/syncable-inl.h",
    355     "syncable/syncable_model_neutral_write_transaction.cc",
    356     "syncable/syncable_model_neutral_write_transaction.h",
    357     "syncable/syncable_proto_util.cc",
    358     "syncable/syncable_proto_util.h",
    359     "syncable/syncable_read_transaction.cc",
    360     "syncable/syncable_read_transaction.h",
    361     "syncable/syncable_util.cc",
    362     "syncable/syncable_util.h",
    363     "syncable/syncable_write_transaction.cc",
    364     "syncable/syncable_write_transaction.h",
    365     "syncable/transaction_observer.h",
    366     "syncable/write_transaction_info.cc",
    367     "syncable/write_transaction_info.h",
    368     "util/cryptographer.cc",
    369     "util/cryptographer.h",
    370     "util/data_type_histogram.h",
    371     "util/encryptor.h",
    372     "util/extensions_activity.cc",
    373     "util/extensions_activity.h",
    374     "util/get_session_name.cc",
    375     "util/get_session_name.h",
    376     "util/get_session_name_ios.h",
    377     "util/get_session_name_ios.mm",
    378     "util/get_session_name_linux.cc",
    379     "util/get_session_name_linux.h",
    380     "util/get_session_name_mac.h",
    381     "util/get_session_name_mac.mm",
    382     "util/get_session_name_win.cc",
    383     "util/get_session_name_win.h",
    384     "util/logging.cc",
    385     "util/logging.h",
    386     "util/nigori.cc",
    387     "util/nigori.h",
    388     "util/time.cc",
    389     "util/time.h",
    390   ]
    391 
    392   deps = [
    393     "//base",
    394     "//base:i18n",
    395     "//base/third_party/dynamic_annotations",
    396     "//crypto",
    397     "//google_apis",
    398     "//net",
    399     "//sql",
    400     "//third_party/zlib",
    401     "//url",
    402     "//sync/protocol",
    403   ]
    404 
    405   if (is_chromeos) {
    406     # Required by get_session_name.cc on Chrome OS.
    407     deps += [
    408       "//chromeos"
    409     ]
    410   }
    411 
    412   defines = [ "SYNC_IMPLEMENTATION" ]
    413   configs += [ "//build/config/compiler:wexit_time_destructors" ]
    414 }
    415 
    416 # GYP version: sync/sync_tests.gypi:test_support_sync_core
    417 static_library("test_support_sync_core") {
    418   testonly = true
    419   sources = [
    420     "internal_api/public/base/model_type_test_util.cc",
    421     "internal_api/public/base/model_type_test_util.h",
    422     "js/js_test_util.cc",
    423     "js/js_test_util.h",
    424     "sessions/test_util.cc",
    425     "sessions/test_util.h",
    426     "test/callback_counter.h",
    427     "test/engine/fake_model_worker.cc",
    428     "test/engine/fake_model_worker.h",
    429     "test/engine/fake_sync_scheduler.cc",
    430     "test/engine/fake_sync_scheduler.h",
    431     "test/engine/injectable_sync_context_proxy.cc",
    432     "test/engine/injectable_sync_context_proxy.h",
    433     "test/engine/mock_connection_manager.cc",
    434     "test/engine/mock_connection_manager.h",
    435     "test/engine/mock_model_type_sync_proxy.cc",
    436     "test/engine/mock_model_type_sync_proxy.h",
    437     "test/engine/mock_model_type_sync_worker.cc",
    438     "test/engine/mock_model_type_sync_worker.h",
    439     "test/engine/mock_nudge_handler.cc",
    440     "test/engine/mock_nudge_handler.h",
    441     "test/engine/mock_update_handler.cc",
    442     "test/engine/mock_update_handler.h",
    443     "test/engine/single_type_mock_server.cc",
    444     "test/engine/single_type_mock_server.h",
    445     "test/engine/test_directory_setter_upper.cc",
    446     "test/engine/test_directory_setter_upper.h",
    447     "test/engine/test_id_factory.h",
    448     "test/engine/test_syncable_utils.cc",
    449     "test/engine/test_syncable_utils.h",
    450     "test/fake_encryptor.cc",
    451     "test/fake_encryptor.h",
    452     "test/fake_sync_encryption_handler.cc",
    453     "test/fake_sync_encryption_handler.h",
    454     "test/mock_invalidation.cc",
    455     "test/mock_invalidation.h",
    456     "test/mock_invalidation_tracker.cc",
    457     "test/mock_invalidation_tracker.h",
    458     "test/trackable_mock_invalidation.cc",
    459     "test/trackable_mock_invalidation.h",
    460     "test/null_directory_change_delegate.cc",
    461     "test/null_directory_change_delegate.h",
    462     "test/null_transaction_observer.cc",
    463     "test/null_transaction_observer.h",
    464     "test/sessions/test_scoped_session_event_listener.h",
    465     "test/sessions/mock_debug_info_getter.h",
    466     "test/sessions/mock_debug_info_getter.cc",
    467     "test/test_directory_backing_store.cc",
    468     "test/test_directory_backing_store.h",
    469     "test/test_transaction_observer.cc",
    470     "test/test_transaction_observer.h",
    471     "util/test_unrecoverable_error_handler.cc",
    472     "util/test_unrecoverable_error_handler.h",
    473   ]
    474 
    475   public_deps = [
    476     "//base",
    477     "//testing/gmock",
    478     "//testing/gtest",
    479     "//sync",
    480   ]
    481 
    482   defines = [ "SYNC_TEST" ]
    483   configs += [ "//build/config/compiler:wexit_time_destructors" ]
    484 }
    485 
    486 # GYP version: sync/sync_tests.gypi:test_support_sync_internal_api
    487 static_library("test_support_sync_internal_api") {
    488   testonly = true
    489   sources = [
    490     "internal_api/public/test/fake_sync_manager.h",
    491     "internal_api/public/test/null_sync_context_proxy.h",
    492     "internal_api/public/test/sync_manager_factory_for_profile_sync_test.h",
    493     "internal_api/public/test/test_entry_factory.h",
    494     "internal_api/public/test/test_internal_components_factory.h",
    495     "internal_api/public/test/test_user_share.h",
    496     "internal_api/test/fake_sync_manager.cc",
    497     "internal_api/test/null_sync_context_proxy.cc",
    498     "internal_api/test/sync_manager_factory_for_profile_sync_test.cc",
    499     "internal_api/test/sync_manager_for_profile_sync_test.cc",
    500     "internal_api/test/sync_manager_for_profile_sync_test.h",
    501     "internal_api/test/test_entry_factory.cc",
    502     "internal_api/test/test_internal_components_factory.cc",
    503     "internal_api/test/test_user_share.cc",
    504   ]
    505 
    506   public_deps = [
    507     "//base",
    508     "//testing/gtest",
    509     "//sync",
    510     ":test_support_sync_core",
    511   ]
    512 
    513   defines = [ "SYNC_TEST" ]
    514   configs += [ "//build/config/compiler:wexit_time_destructors" ]
    515 }
    516 
    517 # GYP version: sync/sync_tests.gypi:test_support_sync_api
    518 static_library("test_support_sync_api") {
    519   testonly = true
    520   sources = [
    521     "api/fake_syncable_service.cc",
    522     "api/fake_syncable_service.h",
    523     "api/fake_sync_change_processor.cc",
    524     "api/fake_sync_change_processor.h",
    525     "api/sync_change_processor_wrapper_for_test.cc",
    526     "api/sync_change_processor_wrapper_for_test.h",
    527     "api/sync_error_factory_mock.cc",
    528     "api/sync_error_factory_mock.h",
    529   ]
    530 
    531   defines = [ "SYNC_TEST" ]
    532 
    533   public_deps = [
    534     "//testing/gmock",
    535     "//sync",
    536   ]
    537 }
    538 
    539 # GYP version: sync/sync_tests.gypi:sync_unit_tests
    540 test("sync_unit_tests") {
    541   sources = [
    542     "api/attachments/attachment_id_unittest.cc",
    543     "api/attachments/attachment_unittest.cc",
    544     "api/sync_change_unittest.cc",
    545     "api/sync_data_unittest.cc",
    546     "api/sync_error_unittest.cc",
    547     "api/sync_merge_result_unittest.cc",
    548     "engine/apply_control_data_updates_unittest.cc",
    549     "engine/backoff_delay_provider_unittest.cc",
    550     "engine/directory_commit_contribution_unittest.cc",
    551     "engine/directory_update_handler_unittest.cc",
    552     "engine/entity_tracker_unittest.cc",
    553     "engine/get_updates_processor_unittest.cc",
    554     "engine/model_type_entity_unittest.cc",
    555     "engine/model_type_sync_proxy_impl_unittest.cc",
    556     "engine/model_type_sync_worker_impl_unittest.cc",
    557     "engine/sync_scheduler_unittest.cc",
    558     "engine/syncer_proto_util_unittest.cc",
    559     "engine/syncer_unittest.cc",
    560     "engine/syncer_util_unittest.cc",
    561     "internal_api/attachments/attachment_downloader_impl_unittest.cc",
    562     "internal_api/attachments/attachment_service_impl_unittest.cc",
    563     "internal_api/attachments/attachment_service_proxy_unittest.cc",
    564     "internal_api/attachments/attachment_uploader_impl_unittest.cc",
    565     "internal_api/attachments/fake_attachment_downloader_unittest.cc",
    566     "internal_api/attachments/fake_attachment_uploader_unittest.cc",
    567     "internal_api/debug_info_event_listener_unittest.cc",
    568     "internal_api/http_bridge_unittest.cc",
    569     "internal_api/js_mutation_event_observer_unittest.cc",
    570     "internal_api/js_sync_encryption_handler_observer_unittest.cc",
    571     "internal_api/js_sync_manager_observer_unittest.cc",
    572     "internal_api/protocol_event_buffer_unittest.cc",
    573     "internal_api/public/base/attachment_id_proto_unittest.cc",
    574     "internal_api/public/base/cancelation_signal_unittest.cc",
    575     "internal_api/public/base/enum_set_unittest.cc",
    576     "internal_api/public/base/node_ordinal_unittest.cc",
    577     "internal_api/public/base/ordinal_unittest.cc",
    578     "internal_api/public/base/unique_position_unittest.cc",
    579     "internal_api/public/change_record_unittest.cc",
    580     "internal_api/public/engine/model_safe_worker_unittest.cc",
    581     "internal_api/public/sessions/sync_session_snapshot_unittest.cc",
    582     "internal_api/public/util/immutable_unittest.cc",
    583     "internal_api/public/util/weak_handle_unittest.cc",
    584     "internal_api/sync_backup_manager_unittest.cc",
    585     "internal_api/sync_context_proxy_impl_unittest.cc",
    586     "internal_api/sync_encryption_handler_impl_unittest.cc",
    587     "internal_api/sync_manager_impl_unittest.cc",
    588     "internal_api/sync_rollback_manager_base_unittest.cc",
    589     "internal_api/sync_rollback_manager_unittest.cc",
    590     "internal_api/syncapi_server_connection_manager_unittest.cc",
    591     "js/js_event_details_unittest.cc",
    592     "js/sync_js_controller_unittest.cc",
    593     "protocol/proto_enum_conversions_unittest.cc",
    594     "protocol/proto_value_conversions_unittest.cc",
    595     "sessions/model_type_registry_unittest.cc",
    596     "sessions/nudge_tracker_unittest.cc",
    597     "sessions/status_controller_unittest.cc",
    598     "syncable/deferred_on_disk_directory_backing_store_unittest.cc",
    599     "syncable/directory_backing_store_unittest.cc",
    600     "syncable/directory_unittest.cc",
    601     "syncable/directory_unittest.h",
    602     "syncable/entry_kernel_unittest.cc",
    603     "syncable/model_type_unittest.cc",
    604     "syncable/nigori_util_unittest.cc",
    605     "syncable/parent_child_index_unittest.cc",
    606     "syncable/syncable_enum_conversions_unittest.cc",
    607     "syncable/syncable_id_unittest.cc",
    608     "syncable/syncable_unittest.cc",
    609     "syncable/syncable_util_unittest.cc",
    610     "util/cryptographer_unittest.cc",
    611     "util/data_type_histogram_unittest.cc",
    612     "util/get_session_name_unittest.cc",
    613     "util/nigori_unittest.cc",
    614     "util/protobuf_unittest.cc",
    615   ]
    616 
    617   deps = [
    618     "//base",
    619     "//base/allocator",
    620     "//base/test:run_all_unittests",
    621     "//google_apis",
    622     "//google_apis:test_support",
    623     "//net",
    624     "//net:test_support",
    625     "//sql",
    626     "//testing/gmock",
    627     "//testing/gtest",
    628     "//third_party/protobuf:protobuf_lite",
    629     "//sync",
    630     ":test_support_sync_core",
    631     ":test_support_sync_internal_api",
    632   ]
    633 
    634   # TODO(GYP)
    635   #   ['OS == "android"', {
    636   #     'dependencies': [
    637   #       '../testing/android/native_test.gyp:native_test_native_code',
    638   #     ],
    639   #   }],
    640 
    641   if (is_chromeos) {
    642     # Required by get_session_name_unittest.cc on Chrome OS.
    643     deps += [
    644       "//chromeos"
    645     ]
    646   }
    647 
    648   if (is_ios) {
    649     sources -= [ "internal_api/http_bridge_unittest.cc" ]
    650   }
    651 
    652   defines = [ "SYNC_TEST" ]
    653 }
    654 
    655 # GYP version: sync/sync_tests.gypi:test_support_sync_fake_server
    656 static_library("test_support_sync_fake_server") {
    657   testonly = true
    658   sources = [
    659     "test/fake_server/bookmark_entity.cc",
    660     "test/fake_server/bookmark_entity.h",
    661     "test/fake_server/bookmark_entity_builder.cc",
    662     "test/fake_server/bookmark_entity_builder.h",
    663     "test/fake_server/entity_builder.cc",
    664     "test/fake_server/entity_builder.h",
    665     "test/fake_server/entity_builder_factory.cc",
    666     "test/fake_server/entity_builder_factory.h",
    667     "test/fake_server/fake_server.cc",
    668     "test/fake_server/fake_server.h",
    669     "test/fake_server/fake_server_entity.cc",
    670     "test/fake_server/fake_server_entity.h",
    671     "test/fake_server/fake_server_http_post_provider.cc",
    672     "test/fake_server/fake_server_http_post_provider.h",
    673     "test/fake_server/fake_server_network_resources.cc",
    674     "test/fake_server/fake_server_network_resources.h",
    675     "test/fake_server/fake_server_verifier.cc",
    676     "test/fake_server/fake_server_verifier.h",
    677     "test/fake_server/permanent_entity.cc",
    678     "test/fake_server/permanent_entity.h",
    679     "test/fake_server/tombstone_entity.cc",
    680     "test/fake_server/tombstone_entity.h",
    681     "test/fake_server/unique_client_entity.cc",
    682     "test/fake_server/unique_client_entity.h",
    683   ]
    684 
    685   deps = [
    686     "//base",
    687     "//net",
    688     "//testing/gtest",
    689     "//third_party/protobuf:protobuf_lite",
    690     "//sync",
    691   ]
    692 
    693   configs += [ "//build/config/compiler:wexit_time_destructors" ]
    694 }
    695 
    696 # GYP version: sync/sync_tests.gypi:test_support_sync_testserver
    697 static_library("test_support_sync_testserver") {
    698   testonly = true
    699   sources = [
    700     "test/local_sync_test_server.cc",
    701     "test/local_sync_test_server.h",
    702   ]
    703 
    704   configs += [ "//build/config/compiler:wexit_time_destructors" ]
    705 
    706   public_deps = [
    707     "//base",
    708     "//net:test_support",
    709   ]
    710   deps = [
    711     ":sync",
    712 
    713     # The sync test server uses Python modules generated by the sync protos.
    714     #  '../third_party/protobuf/protobuf.gyp:py_proto',  # TODO(GYP)
    715   ]
    716 }
    717 
    718 # GYP version: sync/sync_tests.gypi:test_support_accounts_client
    719 static_library("test_support_accounts_client") {
    720   testonly = true
    721   sources = [
    722     "test/accounts_client/test_accounts_client.cc",
    723     "test/accounts_client/test_accounts_client.h",
    724     "test/accounts_client/url_request_context_getter.cc",
    725     "test/accounts_client/url_request_context_getter.h",
    726   ]
    727   deps = [
    728     "//base",
    729     "//net",
    730   ]
    731 }
    732 
    733 # GYP version: sync/sync_tests.gypi:sync_endtoend_tests
    734 test("sync_endtoend_tests") {
    735   sources = [
    736     "test/accounts_client/test_accounts_client_unittest.cc",
    737   ]
    738   deps = [
    739     "//base/test:run_all_unittests",
    740     "//testing/gmock",
    741     "//testing/gtest",
    742     "//url",
    743     ":test_support_accounts_client",
    744   ]
    745 }
    746 
    747 if (!is_ios) {
    748   # GYP version: sync/sync_tests.gypi:run_sync_testserver
    749   executable("run_sync_testserver") {
    750     testonly = true
    751     sources = [ "tools/testserver/run_sync_testserver.cc" ]
    752 
    753     deps = [
    754       "//base",
    755       "//base/test:test_support",
    756       "//net:test_support",
    757       "//testing/gtest",
    758       ":test_support_sync_testserver",
    759     ]
    760   }
    761 }
    762 
    763 #TODO(GYP): Need to port sync_android.gypi and Android test targets.
    764