| # 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("//testing/test.gni") |
| import("//third_party/protobuf/proto_library.gni") |
| |
| component("gcm") { |
| sources = [ |
| "base/gcm_constants.cc", |
| "base/gcm_constants.h", |
| "base/gcm_features.cc", |
| "base/gcm_features.h", |
| "base/gcm_util.cc", |
| "base/gcm_util.h", |
| "base/mcs_message.cc", |
| "base/mcs_message.h", |
| "base/mcs_util.cc", |
| "base/mcs_util.h", |
| "base/socket_stream.cc", |
| "base/socket_stream.h", |
| "engine/account_mapping.cc", |
| "engine/account_mapping.h", |
| "engine/checkin_request.cc", |
| "engine/checkin_request.h", |
| "engine/connection_event_tracker.cc", |
| "engine/connection_event_tracker.h", |
| "engine/connection_factory.cc", |
| "engine/connection_factory.h", |
| "engine/connection_factory_impl.cc", |
| "engine/connection_factory_impl.h", |
| "engine/connection_handler.cc", |
| "engine/connection_handler.h", |
| "engine/connection_handler_impl.cc", |
| "engine/connection_handler_impl.h", |
| "engine/gcm_registration_request_handler.cc", |
| "engine/gcm_registration_request_handler.h", |
| "engine/gcm_store.cc", |
| "engine/gcm_store.h", |
| "engine/gcm_store_impl.cc", |
| "engine/gcm_store_impl.h", |
| "engine/gcm_unregistration_request_handler.cc", |
| "engine/gcm_unregistration_request_handler.h", |
| "engine/gservices_settings.cc", |
| "engine/gservices_settings.h", |
| "engine/gservices_switches.cc", |
| "engine/gservices_switches.h", |
| "engine/heartbeat_manager.cc", |
| "engine/heartbeat_manager.h", |
| "engine/instance_id_delete_token_request_handler.cc", |
| "engine/instance_id_delete_token_request_handler.h", |
| "engine/instance_id_get_token_request_handler.cc", |
| "engine/instance_id_get_token_request_handler.h", |
| "engine/mcs_client.cc", |
| "engine/mcs_client.h", |
| "engine/registration_request.cc", |
| "engine/registration_request.h", |
| "engine/unregistration_request.cc", |
| "engine/unregistration_request.h", |
| "monitoring/gcm_stats_recorder.h", |
| ] |
| |
| defines = [ "GCM_IMPLEMENTATION" ] |
| |
| configs += [ "//build/config/compiler:wexit_time_destructors" ] |
| |
| public_deps = [ |
| ":proto", |
| "//google_apis", |
| ] |
| deps = [ |
| "//base", |
| "//base/third_party/dynamic_annotations", |
| "//build:chromeos_buildflags", |
| "//mojo/public/cpp/system:system", |
| "//net", |
| "//services/network/public/cpp", |
| "//services/network/public/mojom", |
| "//third_party/leveldatabase", |
| "//url", |
| ] |
| } |
| |
| proto_library("proto") { |
| # This is part of the gcm component. |
| visibility = [ ":gcm" ] |
| sources = [ |
| "protocol/android_checkin.proto", |
| "protocol/checkin.proto", |
| "protocol/mcs.proto", |
| ] |
| |
| cc_generator_options = "dllexport_decl=GCM_EXPORT:" |
| cc_include = "google_apis/gcm/base/gcm_export.h" |
| component_build_force_source_set = true |
| defines = [ "GCM_IMPLEMENTATION" ] |
| } |
| |
| static_library("test_support") { |
| testonly = true |
| sources = [ |
| "base/fake_encryptor.cc", |
| "base/fake_encryptor.h", |
| "engine/fake_connection_factory.cc", |
| "engine/fake_connection_factory.h", |
| "engine/fake_connection_handler.cc", |
| "engine/fake_connection_handler.h", |
| "monitoring/fake_gcm_stats_recorder.cc", |
| "monitoring/fake_gcm_stats_recorder.h", |
| ] |
| |
| public_deps = [ ":gcm" ] |
| deps = [ |
| "//base", |
| "//mojo/public/cpp/system:system", |
| "//net", |
| "//net:test_support", |
| "//testing/gtest", |
| ] |
| } |
| |
| # A standalone MCS (mobile connection server) client. |
| if (!is_ios) { |
| executable("mcs_probe") { |
| testonly = true |
| sources = [ "tools/mcs_probe.cc" ] |
| |
| deps = [ |
| ":gcm", |
| ":test_support", |
| "//base", |
| "//build/win:default_exe_manifest", |
| "//mojo/core/embedder", |
| "//net", |
| "//net:test_support", |
| "//services/network:network_service", |
| "//services/network:test_support", |
| "//services/network/public/cpp", |
| "//services/network/public/mojom", |
| "//third_party/protobuf:protobuf_lite", |
| ] |
| } |
| } |
| |
| test("gcm_unit_tests") { |
| sources = [ |
| "base/mcs_message_unittest.cc", |
| "base/mcs_util_unittest.cc", |
| "base/socket_stream_unittest.cc", |
| "engine/account_mapping_unittest.cc", |
| "engine/checkin_request_unittest.cc", |
| "engine/connection_event_tracker_unittest.cc", |
| "engine/connection_factory_impl_unittest.cc", |
| "engine/connection_handler_impl_unittest.cc", |
| "engine/gcm_request_test_base.cc", |
| "engine/gcm_request_test_base.h", |
| "engine/gcm_store_impl_unittest.cc", |
| "engine/gservices_settings_unittest.cc", |
| "engine/heartbeat_manager_unittest.cc", |
| "engine/mcs_client_unittest.cc", |
| "engine/registration_request_unittest.cc", |
| "engine/unregistration_request_unittest.cc", |
| ] |
| |
| deps = [ |
| ":gcm", |
| ":test_support", |
| "//base", |
| "//base/test:test_support", |
| "//build:chromeos_buildflags", |
| "//google_apis", |
| "//google_apis:run_all_unittests", |
| "//google_apis:test_support", |
| "//mojo/public/cpp/system:system", |
| "//net", |
| "//net:test_support", |
| "//services/network:network_service", |
| "//services/network:test_support", |
| "//testing/gtest", |
| "//third_party/protobuf:protobuf_lite", |
| ] |
| if (is_android) { |
| deps += [ "//net/android:net_java" ] |
| } |
| } |