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