blob: f08ce64e33946dfe81c9e527f7cab56f1fc2c29a [file] [log] [blame]
# 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")
static_library("jingle_glue") {
sources = [
"glue/network_service_async_socket.cc",
"glue/network_service_async_socket.h",
"glue/network_service_config.cc",
"glue/network_service_config.h",
"glue/task_pump.cc",
"glue/task_pump.h",
"glue/thread_wrapper.cc",
"glue/thread_wrapper.h",
"glue/utils.cc",
"glue/utils.h",
]
public_deps = [
"//services/network/public/mojom",
"//third_party/webrtc_overrides",
]
deps = [
":jingle_fake_socket",
"//base",
"//base/third_party/dynamic_annotations",
"//net",
"//third_party/libjingle_xmpp:rtc_task_runner",
]
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
if (is_nacl) {
sources -= [
"glue/network_service_async_socket.cc",
"glue/network_service_config.cc",
]
public_deps -= [ "//services/network/public/mojom" ]
}
}
# These files are separated into their own target to avoid a circular dependency
# since services/network depends on this.
static_library("jingle_fake_socket") {
sources = [
"glue/fake_ssl_client_socket.cc",
"glue/fake_ssl_client_socket.h",
]
deps = [
"//base",
"//net",
]
}
# A library for sending and receiving peer-issued notifications.
static_library("notifier") {
sources = [
"notifier/base/const_communicator.h",
"notifier/base/gaia_constants.cc",
"notifier/base/gaia_constants.h",
"notifier/base/gaia_token_pre_xmpp_auth.cc",
"notifier/base/gaia_token_pre_xmpp_auth.h",
"notifier/base/notification_method.cc",
"notifier/base/notification_method.h",
"notifier/base/notifier_options.cc",
"notifier/base/notifier_options.h",
"notifier/base/notifier_options_util.cc",
"notifier/base/notifier_options_util.h",
"notifier/base/server_information.cc",
"notifier/base/server_information.h",
"notifier/base/weak_xmpp_client.cc",
"notifier/base/weak_xmpp_client.h",
"notifier/base/xmpp_connection.cc",
"notifier/base/xmpp_connection.h",
"notifier/communicator/connection_settings.cc",
"notifier/communicator/connection_settings.h",
"notifier/communicator/login.cc",
"notifier/communicator/login.h",
"notifier/communicator/login_settings.cc",
"notifier/communicator/login_settings.h",
"notifier/communicator/single_login_attempt.cc",
"notifier/communicator/single_login_attempt.h",
"notifier/listener/non_blocking_push_client.cc",
"notifier/listener/non_blocking_push_client.h",
"notifier/listener/notification_constants.cc",
"notifier/listener/notification_constants.h",
"notifier/listener/notification_defines.cc",
"notifier/listener/notification_defines.h",
"notifier/listener/push_client.cc",
"notifier/listener/push_client.h",
"notifier/listener/push_client_observer.cc",
"notifier/listener/push_client_observer.h",
"notifier/listener/push_notifications_listen_task.cc",
"notifier/listener/push_notifications_listen_task.h",
"notifier/listener/push_notifications_send_update_task.cc",
"notifier/listener/push_notifications_send_update_task.h",
"notifier/listener/push_notifications_subscribe_task.cc",
"notifier/listener/push_notifications_subscribe_task.h",
"notifier/listener/send_ping_task.cc",
"notifier/listener/send_ping_task.h",
"notifier/listener/xml_element_util.cc",
"notifier/listener/xml_element_util.h",
"notifier/listener/xmpp_push_client.cc",
"notifier/listener/xmpp_push_client.h",
]
defines = [ "_CRT_SECURE_NO_WARNINGS" ]
public_deps = [
"//third_party/libjingle_xmpp",
"//third_party/webrtc_overrides",
]
deps = [
":jingle_glue",
"//base",
"//net",
"//third_party/expat",
"//third_party/libjingle_xmpp:rtc_task_runner",
"//url",
]
}
static_library("notifier_test_util") {
testonly = true
sources = [
"glue/network_service_config_test_util.cc",
"glue/network_service_config_test_util.h",
"notifier/base/fake_base_task.cc",
"notifier/base/fake_base_task.h",
"notifier/listener/fake_push_client.cc",
"notifier/listener/fake_push_client.h",
"notifier/listener/fake_push_client_observer.cc",
"notifier/listener/fake_push_client_observer.h",
]
public_deps = [
":jingle_glue",
":notifier",
]
deps = [
"//base",
"//services/network:network_service",
"//services/network/public/mojom",
"//testing/gmock",
]
}
test("jingle_unittests") {
sources = [
"glue/fake_ssl_client_socket_unittest.cc",
"glue/jingle_glue_mock_objects.cc",
"glue/jingle_glue_mock_objects.h",
"glue/logging_unittest.cc",
"glue/mock_task.cc",
"glue/mock_task.h",
"glue/network_service_async_socket_unittest.cc",
"glue/task_pump_unittest.cc",
"glue/thread_wrapper_unittest.cc",
"notifier/base/weak_xmpp_client_unittest.cc",
"notifier/base/xmpp_connection_unittest.cc",
"notifier/communicator/connection_settings_unittest.cc",
"notifier/communicator/login_settings_unittest.cc",
"notifier/communicator/single_login_attempt_unittest.cc",
"notifier/listener/non_blocking_push_client_unittest.cc",
"notifier/listener/notification_defines_unittest.cc",
"notifier/listener/push_client_unittest.cc",
"notifier/listener/push_notifications_send_update_task_unittest.cc",
"notifier/listener/push_notifications_subscribe_task_unittest.cc",
"notifier/listener/send_ping_task_unittest.cc",
"notifier/listener/xml_element_util_unittest.cc",
"notifier/listener/xmpp_push_client_unittest.cc",
"run_all_unittests.cc",
]
if (is_android || is_ios) {
sources -= [
# TODO(jrg):
# EXPECT_DEBUG_DEATH() uses features not enabled.
# Should we -std=c++0x or -std=gnu++0x?
"glue/network_service_async_socket_unittest.cc",
"notifier/base/xmpp_connection_unittest.cc",
]
}
if (is_android) {
# LibjingleLogTest don't pass on Android (crbug.com/843104).
sources -= [ "glue/logging_unittest.cc" ]
}
configs += [ "//build/config/compiler:no_size_t_to_int_warning" ]
public_deps = [
"//third_party/libjingle_xmpp",
"//third_party/webrtc_overrides",
"//third_party/webrtc_overrides:init_webrtc",
]
deps = [
":jingle_glue",
":notifier",
":notifier_test_util",
"//base",
"//base/test:test_support",
"//mojo/core/embedder",
"//mojo/public/cpp/bindings",
"//mojo/public/cpp/system",
"//net",
"//net:test_support",
"//services/network:network_service",
"//services/network:test_support",
"//testing/gmock",
"//testing/gtest",
"//third_party/libjingle_xmpp:rtc_task_runner",
]
}