1 # Copyright 2012 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 5 { 6 'variables': { 7 # This library should build cleanly with the extra warnings turned on 8 # for Chromium. 9 'chromium_code': 1, 10 }, 11 'targets': [ 12 # The C++ files generated from the cache invalidation protocol buffers. 13 { 14 'target_name': 'cacheinvalidation_proto_cpp', 15 'type': 'static_library', 16 'variables': { 17 # The relative path of the cacheinvalidation proto files from this 18 # gyp-file. 19 # TODO(akalin): Add a RULE_INPUT_DIR predefined variable to gyp so 20 # we don't need this variable. 21 'proto_dir_relpath': 'google/cacheinvalidation', 22 # Where files generated from proto files are put. 23 'proto_in_dir': 'src/<(proto_dir_relpath)', 24 'proto_out_dir': '<(proto_dir_relpath)', 25 }, 26 'sources': [ 27 '<(proto_in_dir)/client.proto', 28 '<(proto_in_dir)/client_gateway.proto', 29 '<(proto_in_dir)/client_protocol.proto', 30 '<(proto_in_dir)/client_test_internal.proto', 31 '<(proto_in_dir)/types.proto', 32 ], 33 'includes': [ '../../build/protoc.gypi' ], 34 'direct_dependent_settings': { 35 'include_dirs': [ 36 '<(proto_out_dir)', 37 ], 38 }, 39 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 40 'msvs_disabled_warnings': [4267, ], 41 }, 42 # The main cache invalidation library. External clients should depend 43 # only on this. 44 { 45 'target_name': 'cacheinvalidation', 46 'type': 'static_library', 47 'sources': [ 48 'overrides/google/cacheinvalidation/deps/callback.h', 49 'overrides/google/cacheinvalidation/deps/gmock.h', 50 'overrides/google/cacheinvalidation/deps/googletest.h', 51 'overrides/google/cacheinvalidation/deps/logging.h', 52 'overrides/google/cacheinvalidation/deps/mutex.h', 53 'overrides/google/cacheinvalidation/deps/random.h', 54 'overrides/google/cacheinvalidation/deps/random.cc', 55 'overrides/google/cacheinvalidation/deps/sha1-digest-function.h', 56 'overrides/google/cacheinvalidation/deps/scoped_ptr.h', 57 'overrides/google/cacheinvalidation/deps/stl-namespace.h', 58 'overrides/google/cacheinvalidation/deps/string_util.h', 59 'overrides/google/cacheinvalidation/deps/time.h', 60 'src/google/cacheinvalidation/deps/digest-function.h', 61 'src/google/cacheinvalidation/impl/basic-system-resources.cc', 62 'src/google/cacheinvalidation/impl/basic-system-resources.h', 63 'src/google/cacheinvalidation/impl/checking-invalidation-listener.cc', 64 'src/google/cacheinvalidation/impl/checking-invalidation-listener.h', 65 'src/google/cacheinvalidation/impl/client-protocol-namespace-fix.h', 66 'src/google/cacheinvalidation/impl/constants.cc', 67 'src/google/cacheinvalidation/impl/constants.h', 68 'src/google/cacheinvalidation/impl/digest-store.h', 69 'src/google/cacheinvalidation/impl/exponential-backoff-delay-generator.cc', 70 'src/google/cacheinvalidation/impl/exponential-backoff-delay-generator.h', 71 'src/google/cacheinvalidation/impl/invalidation-client-core.cc', 72 'src/google/cacheinvalidation/impl/invalidation-client-core.h', 73 'src/google/cacheinvalidation/impl/invalidation-client-factory.cc', 74 'src/google/cacheinvalidation/impl/invalidation-client-impl.cc', 75 'src/google/cacheinvalidation/impl/invalidation-client-impl.h', 76 'src/google/cacheinvalidation/impl/invalidation-client-util.h', 77 'src/google/cacheinvalidation/impl/log-macro.h', 78 'src/google/cacheinvalidation/impl/object-id-digest-utils.cc', 79 'src/google/cacheinvalidation/impl/object-id-digest-utils.h', 80 'src/google/cacheinvalidation/impl/persistence-utils.cc', 81 'src/google/cacheinvalidation/impl/persistence-utils.h', 82 'src/google/cacheinvalidation/impl/proto-converter.cc', 83 'src/google/cacheinvalidation/impl/proto-converter.h', 84 'src/google/cacheinvalidation/impl/proto-helpers.h', 85 'src/google/cacheinvalidation/impl/proto-helpers.cc', 86 'src/google/cacheinvalidation/impl/protocol-handler.cc', 87 'src/google/cacheinvalidation/impl/protocol-handler.h', 88 'src/google/cacheinvalidation/impl/recurring-task.cc', 89 'src/google/cacheinvalidation/impl/recurring-task.h', 90 'src/google/cacheinvalidation/impl/registration-manager.cc', 91 'src/google/cacheinvalidation/impl/registration-manager.h', 92 'src/google/cacheinvalidation/impl/run-state.h', 93 'src/google/cacheinvalidation/impl/safe-storage.cc', 94 'src/google/cacheinvalidation/impl/safe-storage.h', 95 'src/google/cacheinvalidation/impl/simple-registration-store.cc', 96 'src/google/cacheinvalidation/impl/simple-registration-store.h', 97 'src/google/cacheinvalidation/impl/smearer.h', 98 'src/google/cacheinvalidation/impl/statistics.cc', 99 'src/google/cacheinvalidation/impl/statistics.h', 100 'src/google/cacheinvalidation/impl/throttle.cc', 101 'src/google/cacheinvalidation/impl/throttle.h', 102 'src/google/cacheinvalidation/impl/ticl-message-validator.cc', 103 'src/google/cacheinvalidation/impl/ticl-message-validator.h', 104 'src/google/cacheinvalidation/include/invalidation-client.h', 105 'src/google/cacheinvalidation/include/invalidation-client-factory.h', 106 'src/google/cacheinvalidation/include/invalidation-listener.h', 107 'src/google/cacheinvalidation/include/system-resources.h', 108 'src/google/cacheinvalidation/include/types.h', 109 ], 110 'include_dirs': [ 111 './overrides', 112 './src', 113 ], 114 'dependencies': [ 115 '../../base/base.gyp:base', 116 'cacheinvalidation_proto_cpp', 117 ], 118 'direct_dependent_settings': { 119 'include_dirs': [ 120 './overrides', 121 './src', 122 ], 123 }, 124 # We avoid including header files from 125 # cacheinvalidation_proto_cpp in our public header files so we 126 # don't need to export its settings. 127 'export_dependent_settings': [ 128 '../../base/base.gyp:base', 129 ], 130 # TODO(jschuh): crbug.com/167187 fix size_t to int truncations. 131 'msvs_disabled_warnings': [4267, ], 132 }, 133 # Unittests for the cache invalidation library. 134 # TODO(ghc): Write native tests and include them here. 135 { 136 'target_name': 'cacheinvalidation_unittests', 137 'type': 'executable', 138 'sources': [ 139 'src/google/cacheinvalidation/test/deterministic-scheduler.cc', 140 'src/google/cacheinvalidation/test/deterministic-scheduler.h', 141 'src/google/cacheinvalidation/test/test-logger.cc', 142 'src/google/cacheinvalidation/test/test-logger.h', 143 'src/google/cacheinvalidation/test/test-utils.cc', 144 'src/google/cacheinvalidation/test/test-utils.h', 145 'src/google/cacheinvalidation/impl/invalidation-client-impl_test.cc', 146 'src/google/cacheinvalidation/impl/protocol-handler_test.cc', 147 'src/google/cacheinvalidation/impl/recurring-task_test.cc', 148 'src/google/cacheinvalidation/impl/throttle_test.cc', 149 ], 150 'dependencies': [ 151 '../../base/base.gyp:base', 152 '../../base/base.gyp:run_all_unittests', 153 '../../testing/gmock.gyp:gmock', 154 '../../testing/gtest.gyp:gtest', 155 'cacheinvalidation', 156 'cacheinvalidation_proto_cpp', 157 ], 158 }, 159 ], 160 'conditions': [ 161 ['test_isolation_mode != "noop"', { 162 'targets': [ 163 { 164 'target_name': 'cacheinvalidation_unittests_run', 165 'type': 'none', 166 'dependencies': [ 167 'cacheinvalidation_unittests', 168 ], 169 'includes': [ 170 '../../build/isolate.gypi', 171 'cacheinvalidation_unittests.isolate', 172 ], 173 'sources': [ 174 'cacheinvalidation_unittests.isolate', 175 ], 176 }, 177 ], 178 }], 179 ['OS == "android"', { 180 'targets': [ 181 { 182 'target_name': 'cacheinvalidation_proto_java', 183 'type': 'none', 184 'variables': { 185 'proto_in_dir': '../../third_party/cacheinvalidation/src/proto', 186 }, 187 'sources': [ 188 '<(proto_in_dir)/android_channel.proto', 189 '<(proto_in_dir)/android_listener.proto', 190 '<(proto_in_dir)/android_service.proto', 191 '<(proto_in_dir)/android_state.proto', 192 '<(proto_in_dir)/channel.proto', 193 '<(proto_in_dir)/channel_common.proto', 194 '<(proto_in_dir)/client.proto', 195 '<(proto_in_dir)/client_protocol.proto', 196 '<(proto_in_dir)/java_client.proto', 197 '<(proto_in_dir)/types.proto', 198 ], 199 'includes': [ '../../build/protoc_java.gypi' ], 200 }, 201 { 202 'target_name': 'cacheinvalidation_javalib', 203 'type': 'none', 204 'dependencies': [ 205 '../../third_party/android_tools/android_tools.gyp:android_gcm', 206 '../../third_party/guava/guava.gyp:guava_javalib', 207 'cacheinvalidation_aidl_javalib', 208 'cacheinvalidation_proto_java', 209 ], 210 'variables': { 211 'java_in_dir': '../../build/android/empty', 212 'additional_src_dirs': [ 'src/java/' ], 213 }, 214 'includes': [ '../../build/java.gypi' ], 215 }, 216 { 217 'target_name': 'cacheinvalidation_aidl_javalib', 218 'type': 'none', 219 'variables': { 220 # TODO(shashishekhar): aidl_interface_file should be made optional. 221 'aidl_interface_file':'<(android_sdk)/framework.aidl' 222 }, 223 'sources': [ 224 'src/java/com/google/ipc/invalidation/external/client/android/service/InvalidationService.aidl', 225 'src/java/com/google/ipc/invalidation/external/client/android/service/ListenerService.aidl', 226 'src/java/com/google/ipc/invalidation/testing/android/InvalidationTest.aidl', 227 ], 228 'includes': [ '../../build/java_aidl.gypi' ], 229 }, 230 ], 231 }], 232 ], 233 } 234