Stack sampling profiler: add fire-and-forget interface
[chromium-blink-merge.git] / components / invalidation / impl / BUILD.gn
blob95be996861d2eca752e682854f5b19c234099a02
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 if (is_android) {
5   import("//build/config/android/rules.gni")
8 static_library("impl") {
9   sources = [
10     "invalidation_logger.cc",
11     "invalidation_logger.h",
12     "invalidation_logger_observer.h",
13     "invalidation_prefs.cc",
14     "invalidation_prefs.h",
15     "invalidation_service_util.cc",
16     "invalidation_service_util.h",
17     "invalidation_state_tracker.cc",
18     "invalidation_state_tracker.h",
19     "invalidation_switches.cc",
20     "invalidation_switches.h",
21     "invalidator.cc",
22     "invalidator.h",
23     "invalidator_registrar.cc",
24     "invalidator_registrar.h",
25     "invalidator_storage.cc",
26     "invalidator_storage.h",
27     "mock_ack_handler.cc",
28     "mock_ack_handler.h",
29     "profile_invalidation_provider.cc",
30     "profile_invalidation_provider.h",
31     "unacked_invalidation_set.cc",
32     "unacked_invalidation_set.h",
33   ]
34   if (!is_android) {
35     sources += [
36       "gcm_invalidation_bridge.cc",
37       "gcm_invalidation_bridge.h",
38       "gcm_network_channel.cc",
39       "gcm_network_channel.h",
40       "gcm_network_channel_delegate.h",
41       "invalidation_notifier.cc",
42       "invalidation_notifier.h",
43       "non_blocking_invalidator.cc",
44       "non_blocking_invalidator.h",
45       "notifier_reason_util.cc",
46       "notifier_reason_util.h",
47       "p2p_invalidator.cc",
48       "p2p_invalidator.h",
49       "push_client_channel.cc",
50       "push_client_channel.h",
51       "registration_manager.cc",
52       "registration_manager.h",
53       "state_writer.h",
54       "sync_invalidation_listener.cc",
55       "sync_invalidation_listener.h",
56       "sync_system_resources.cc",
57       "sync_system_resources.h",
58       "ticl_invalidation_service.cc",
59       "ticl_invalidation_service.h",
60       "ticl_settings_provider.cc",
61       "ticl_settings_provider.h",
62     ]
63   }
64   public_deps = [
65     "//components/invalidation/public",
66   ]
67   deps = [
68     "//base",
69     "//base:i18n",
70     "//base:prefs",
71     "//components/gcm_driver",
72     "//components/keyed_service/core",
73     "//components/pref_registry",
74     "//components/signin/core/browser",
75     "//google_apis",
76     "//jingle:notifier",
77     "//net:net",
79     # TODO(sync): Remove this (http://crbug.com/133352);
80     "//third_party/protobuf:protobuf_lite",
81   ]
83   if (is_android) {
84     sources += [
85       "android/component_jni_registrar.cc",
86       "android/component_jni_registrar.h",
87       "invalidation_service_android.cc",
88       "invalidation_service_android.h",
89     ]
90     deps += [ ":jni_headers" ]
91   }
94 group("unittests") {
95   testonly = true
96   deps = [
97     ":impl",
98     ":test_support",
99   ]
100   if (is_android) {
101     deps += [ ":jni_headers" ]
102   }
105 static_library("test_support") {
106   testonly = true
107   sources = [
108     "fake_invalidation_handler.cc",
109     "fake_invalidation_handler.h",
110     "fake_invalidation_state_tracker.cc",
111     "fake_invalidation_state_tracker.h",
112     "fake_invalidator.cc",
113     "fake_invalidator.h",
114     "invalidation_service_test_template.cc",
115     "invalidation_service_test_template.h",
116     "invalidation_test_util.cc",
117     "invalidation_test_util.h",
118     "invalidator_test_template.cc",
119     "invalidator_test_template.h",
120     "object_id_invalidation_map_test_util.cc",
121     "object_id_invalidation_map_test_util.h",
122     "unacked_invalidation_set_test_util.cc",
123     "unacked_invalidation_set_test_util.h",
124   ]
126   deps = [
127     "//base",
128     "//components/gcm_driver:test_support",
129     "//components/keyed_service/core",
130     "//google_apis",
131     "//jingle:notifier",
132     "//jingle:notifier_test_util",
133     "//net",
134     "//testing/gmock",
136     # TODO(sync): Remove this (http://crbug.com/133352);
137     "//third_party/protobuf:protobuf_lite",
139     # "//third_party/cacheinvalidation/src/google/cacheinvalidation:cacheinvalidation_proto_cpp",
140   ]
141   public_deps = [
142     "//third_party/cacheinvalidation",
143   ]
145   if (is_android) {
146     deps += [ ":jni_headers" ]
147   } else {
148     sources += [
149       "p2p_invalidation_service.cc",
150       "p2p_invalidation_service.h",
151     ]
152   }
155 if (is_android) {
156   android_library("java") {
157     deps = [
158       ":proto_java",
159       "//base:base_java",
160       "//sync/android:sync_java",
161       "//third_party/android_protobuf:protobuf_nano_javalib",
162       "//third_party/cacheinvalidation:cacheinvalidation_javalib",
163       "//third_party/cacheinvalidation:cacheinvalidation_proto_java",
164       "//third_party/jsr-305:jsr_305_javalib",
165     ]
166     DEPRECATED_java_in_dir = "android/java/src"
167   }
168   proto_java_library("proto_java") {
169     proto_path = "android/proto"
170     sources = [
171       "$proto_path/serialized_invalidation.proto",
172     ]
173   }
174   android_library("javatests") {
175     deps = [
176       ":java",
177       "//base:base_java",
178       "//base:base_java_test_support",
179       "//sync/android:sync_java",
180       "//third_party/cacheinvalidation:cacheinvalidation_javalib",
181       "//third_party/cacheinvalidation:cacheinvalidation_proto_java",
182     ]
183     DEPRECATED_java_in_dir = "android/javatests/src"
184   }
185   junit_binary("junit_tests") {
186     java_files = [ "android/junit/src/org/chromium/components/invalidation/PendingInvalidationTest.java" ]
187     deps = [
188       ":java",
189       "//base:base_java",
190       "//base:base_java_test_support",
191     ]
192   }
193   generate_jni("jni_headers") {
194     sources = [
195       "android/java/src/org/chromium/components/invalidation/InvalidationService.java",
196     ]
197     jni_package = "components/invalidation"
198   }