summaryrefslogtreecommitdiffstats
path: root/sync/sync.gyp
diff options
context:
space:
mode:
Diffstat (limited to 'sync/sync.gyp')
-rw-r--r--sync/sync.gyp148
1 files changed, 139 insertions, 9 deletions
diff --git a/sync/sync.gyp b/sync/sync.gyp
index cc4d83d..29f8173 100644
--- a/sync/sync.gyp
+++ b/sync/sync.gyp
@@ -235,6 +235,68 @@
],
},
+ # The sync internal API library.
+ {
+ 'target_name': 'syncapi_core',
+ 'type': 'static_library',
+ 'variables': { 'enable_wexit_time_destructors': 1, },
+ 'include_dirs': [
+ '..',
+ ],
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../build/temp_gyp/googleurl.gyp:googleurl',
+ '../net/net.gyp:net',
+ 'protocol/sync_proto.gyp:sync_proto',
+ 'sync_notifier',
+ 'sync',
+ ],
+ 'export_dependent_settings': [
+ # Propagate sync_proto since our headers include its generated
+ # files.
+ 'protocol/sync_proto.gyp:sync_proto',
+ 'sync_notifier',
+ 'sync',
+ ],
+ 'sources': [
+ 'internal_api/all_status.cc',
+ 'internal_api/all_status.h',
+ 'internal_api/base_node.cc',
+ 'internal_api/base_node.h',
+ 'internal_api/base_transaction.cc',
+ 'internal_api/base_transaction.h',
+ 'internal_api/change_record.cc',
+ 'internal_api/change_record.h',
+ 'internal_api/change_reorder_buffer.cc',
+ 'internal_api/change_reorder_buffer.h',
+ 'internal_api/configure_reason.h',
+ 'internal_api/debug_info_event_listener.cc',
+ 'internal_api/debug_info_event_listener.h',
+ 'internal_api/http_post_provider_factory.h',
+ 'internal_api/http_post_provider_interface.h',
+ 'internal_api/js_mutation_event_observer.cc',
+ 'internal_api/js_mutation_event_observer.h',
+ 'internal_api/js_sync_manager_observer.cc',
+ 'internal_api/js_sync_manager_observer.h',
+ 'internal_api/read_node.cc',
+ 'internal_api/read_node.h',
+ 'internal_api/read_transaction.cc',
+ 'internal_api/read_transaction.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/sync_manager.cc',
+ 'internal_api/sync_manager.h',
+ 'internal_api/user_share.cc',
+ 'internal_api/user_share.h',
+ 'internal_api/write_node.cc',
+ 'internal_api/write_node.h',
+ 'internal_api/write_transaction.cc',
+ 'internal_api/write_transaction.h',
+ ],
+ },
+
# Test support files for the 'sync' target.
{
'target_name': 'test_support_sync',
@@ -316,6 +378,31 @@
],
},
+ # Test support files for the 'syncapi_core' target.
+ {
+ 'target_name': 'test_support_syncapi_core',
+ 'type': 'static_library',
+ 'variables': { 'enable_wexit_time_destructors': 1, },
+ 'include_dirs': [
+ '..',
+ ],
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../testing/gtest.gyp:gtest',
+ 'syncapi_core',
+ 'test_support_sync',
+ ],
+ 'export_dependent_settings': [
+ '../testing/gtest.gyp:gtest',
+ 'syncapi_core',
+ 'test_support_sync',
+ ],
+ 'sources': [
+ 'internal_api/test_user_share.cc',
+ 'internal_api/test_user_share.h',
+ ],
+ },
+
# Unit tests for the 'sync' target. This cannot be a static
# library because the unit test files have to be compiled directly
# into the executable, so we push the target files to the
@@ -455,21 +542,64 @@
},
},
- # The unit test executable for sync tests. Currently this isn't
- # automatically run, as there is already a sync_unit_tests
- # executable in chrome.gyp; this is just to make sure that all the
- # link-time dependencies for the files in the targets above
- # resolve.
- #
- # TODO(akalin): Rename this to sync_unit_tests once we've moved
- # everything from chrome.gyp.
+ # Unit tests for the 'syncapi_core' target. This cannot be a static
+ # library because the unit test files have to be compiled directly
+ # into the executable, so we push the target files to the
+ # depending executable target via direct_dependent_settings.
+ {
+ 'target_name': 'syncapi_core_tests',
+ 'type': 'none',
+ # We only want unit test executables to include this target.
+ 'suppress_wildcard': 1,
+ 'dependencies': [
+ '../base/base.gyp:base',
+ '../net/net.gyp:net',
+ '../testing/gmock.gyp:gmock',
+ '../testing/gtest.gyp:gtest',
+ 'protocol/sync_proto.gyp:sync_proto',
+ 'sync',
+ 'sync_notifier',
+ 'syncapi_core',
+ 'test_support_syncapi_core',
+ ],
+ # Propagate all dependencies since the actual compilation
+ # happens in the dependents.
+ 'export_dependent_settings': [
+ '../base/base.gyp:base',
+ '../net/net.gyp:net',
+ '../testing/gmock.gyp:gmock',
+ '../testing/gtest.gyp:gtest',
+ 'protocol/sync_proto.gyp:sync_proto',
+ 'sync',
+ 'sync_notifier',
+ 'syncapi_core',
+ 'test_support_syncapi_core',
+ ],
+ 'direct_dependent_settings': {
+ 'variables': { 'enable_wexit_time_destructors': 1, },
+ 'include_dirs': [
+ '..',
+ ],
+ 'sources': [
+ 'internal_api/change_record_unittest.cc',
+ 'internal_api/debug_info_event_listener_unittest.cc',
+ 'internal_api/js_mutation_event_observer_unittest.cc',
+ 'internal_api/js_sync_manager_observer_unittest.cc',
+ 'internal_api/syncapi_server_connection_manager_unittest.cc',
+ 'internal_api/syncapi_unittest.cc',
+ ],
+ },
+ },
+
+ # The unit test executable for sync tests.
{
- 'target_name': 'sync_unit_tests_canary',
+ 'target_name': 'sync_unit_tests',
'type': 'executable',
'dependencies': [
'../base/base.gyp:run_all_unittests',
'sync_tests',
'sync_notifier_tests',
+ 'syncapi_core_tests',
],
# TODO(akalin): This is needed because histogram.cc uses
# leak_annotations.h, which pulls this in. Make 'base'