chromium/components/invalidation/impl/BUILD.gn

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

if (is_android) {
  import("//build/config/android/rules.gni")
}

static_library("feature_list") {
  sources = [
    "invalidation_switches.cc",
    "invalidation_switches.h",
  ]

  deps = [ "//base" ]
}

static_library("impl") {
  sources = [
    "channels_states.cc",
    "channels_states.h",
    "fcm_invalidation_listener.cc",
    "fcm_invalidation_listener.h",
    "fcm_invalidation_service.cc",
    "fcm_invalidation_service.h",
    "fcm_network_handler.cc",
    "fcm_network_handler.h",
    "fcm_sync_network_channel.cc",
    "fcm_sync_network_channel.h",
    "invalidation_prefs.cc",
    "invalidation_prefs.h",
    "invalidation_service_util.cc",
    "invalidation_service_util.h",
    "invalidator_registrar_with_memory.cc",
    "invalidator_registrar_with_memory.h",
    "per_user_topic_subscription_manager.cc",
    "per_user_topic_subscription_manager.h",
    "per_user_topic_subscription_request.cc",
    "per_user_topic_subscription_request.h",
    "profile_identity_provider.cc",
    "profile_identity_provider.h",
    "status.cc",
    "status.h",
  ]

  public_deps = [
    ":feature_list",
    "//components/invalidation/public",
    "//services/data_decoder/public/cpp",
  ]
  deps = [
    "//base",
    "//base:i18n",
    "//components/gcm_driver",
    "//components/gcm_driver/common",
    "//components/keyed_service/core",
    "//components/pref_registry",
    "//components/prefs",
    "//components/signin/public/identity_manager",
    "//google_apis",
    "//net:net",
    "//services/network/public/cpp",
    "//services/network/public/mojom",
  ]
}

source_set("unit_tests") {
  testonly = true
  sources = [
    "fcm_invalidation_listener_unittest.cc",
    "fcm_invalidation_service_unittest.cc",
    "fcm_network_handler_unittests.cc",
    "invalidator_registrar_with_memory_unittest.cc",
    "per_user_topic_subscription_manager_unittest.cc",
    "per_user_topic_subscription_request_unittest.cc",
  ]
  deps = [
    ":impl",
    ":test_support",
    "//base",
    "//base/test:test_support",
    "//components/gcm_driver:test_support",
    "//components/gcm_driver/instance_id:test_support",
    "//components/prefs",
    "//components/prefs:test_support",
    "//components/signin/public/identity_manager:test_support",
    "//google_apis:test_support",
    "//google_apis/gcm:gcm",
    "//net",
    "//net:test_support",
    "//services/data_decoder/public/cpp:test_support",
    "//services/network:test_support",
    "//testing/gmock",
    "//testing/gtest",
  ]
}

static_library("test_support") {
  testonly = true
  sources = [
    "fake_invalidation_handler.cc",
    "fake_invalidation_handler.h",
    "fake_invalidation_service.cc",
    "fake_invalidation_service.h",
  ]

  public_deps = [ ":impl" ]
  deps = [
    "//base",
    "//components/gcm_driver:test_support",
    "//components/keyed_service/core",
    "//components/prefs:test_support",
    "//net",
    "//testing/gmock",
    "//testing/gtest",
  ]
}