Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 # Copyright 2015 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 import("//build/config/android/rules.gni") | |
| 6 import("//build/util/version.gni") | |
| 7 import("//chrome/version.gni") | |
| 8 import("//testing/test.gni") | |
| 9 | |
| 10 assert(!is_component_build, "Cronet requires static library build.") | |
| 11 | |
| 12 declare_args() { | |
| 13 enable_data_reduction_proxy_support = false | |
|
agrieve
2015/11/30 16:05:39
nit: maybe prefix with cronet_?
| |
| 14 } | |
| 15 | |
| 16 generate_jni("cronet_jni_headers") { | |
| 17 sources = [ | |
| 18 "java/src/org/chromium/net/ChromiumUrlRequest.java", | |
| 19 "java/src/org/chromium/net/ChromiumUrlRequestContext.java", | |
| 20 "java/src/org/chromium/net/CronetLibraryLoader.java", | |
| 21 "java/src/org/chromium/net/CronetUploadDataStream.java", | |
| 22 "java/src/org/chromium/net/CronetUrlRequest.java", | |
| 23 "java/src/org/chromium/net/CronetUrlRequestContext.java", | |
| 24 ] | |
| 25 jni_package = "cronet" | |
| 26 } | |
| 27 | |
| 28 java_cpp_enum("cronet_url_request_java") { | |
| 29 sources = [ | |
| 30 "chromium_url_request.h", | |
| 31 ] | |
| 32 } | |
| 33 | |
| 34 java_cpp_enum("net_request_priority_java") { | |
| 35 sources = [ | |
| 36 "//net/base/request_priority.h", | |
| 37 ] | |
| 38 } | |
| 39 | |
| 40 java_cpp_enum("network_quality_observations_java") { | |
| 41 sources = [ | |
| 42 "//net/base/network_quality_estimator.h", | |
| 43 ] | |
| 44 } | |
| 45 | |
| 46 java_cpp_template("cronet_engine_builder_list") { | |
| 47 sources = [ | |
| 48 "java/src/org/chromium/net/CronetEngineBuilderList.template", | |
| 49 ] | |
| 50 inputs = [ | |
| 51 "//components/cronet/url_request_context_config_list.h", | |
| 52 ] | |
| 53 package_name = "org/chromium/net" | |
| 54 } | |
| 55 | |
| 56 java_cpp_template("load_states_list") { | |
| 57 sources = [ | |
| 58 "java/src/org/chromium/net/LoadState.template", | |
| 59 ] | |
| 60 inputs = [ | |
| 61 "//net/base/load_states_list.h", | |
| 62 ] | |
| 63 package_name = "org/chromium/cronet" | |
| 64 } | |
| 65 | |
| 66 _generated_version_java_dir = "$target_gen_dir/templates/cronet_version_java" | |
| 67 _generated_version_java = | |
| 68 "$_generated_version_java_dir/org/chromium/cronet/Version.java" | |
| 69 | |
| 70 process_version("cronet_version_java") { | |
| 71 template_file = "java/src/org/chromium/net/Version.template" | |
| 72 output = _generated_version_java | |
| 73 } | |
| 74 | |
| 75 zip("cronet_version_srcjar") { | |
| 76 inputs = [ | |
| 77 _generated_version_java, | |
| 78 ] | |
| 79 output = "$target_gen_dir/$target_name.srcjar" | |
| 80 base_dir = _generated_version_java_dir | |
| 81 deps = [ | |
| 82 ":cronet_version_java", | |
| 83 ] | |
| 84 } | |
| 85 | |
| 86 _cronet_version_header_include_dir = "$target_gen_dir/cronet_version_header" | |
| 87 process_version("cronet_version_header") { | |
| 88 template_file = "//components/cronet/version.h.in" | |
| 89 output = "$_cronet_version_header_include_dir/components/cronet/version.h" | |
| 90 extra_args = [ | |
| 91 "-e", | |
| 92 "VERSION_FULL=\"$chrome_version_full\"", | |
| 93 ] | |
| 94 } | |
| 95 | |
| 96 template("cronet_static_tmpl") { | |
| 97 static_library(target_name) { | |
|
agrieve
2015/11/30 16:05:39
Can this use source_set() instead? If not, add a c
| |
| 98 defines = [] | |
| 99 | |
| 100 deps = [ | |
| 101 ":cronet_engine_builder_list", | |
| 102 ":cronet_jni_headers", | |
| 103 ":cronet_url_request_java", | |
| 104 ":cronet_version_header", | |
| 105 "//base", | |
| 106 "//base/third_party/dynamic_annotations", | |
| 107 "//components/metrics", | |
| 108 ] | |
| 109 sources = [ | |
| 110 "//components/cronet/android/chromium_url_request.cc", | |
| 111 "//components/cronet/android/chromium_url_request.h", | |
| 112 "//components/cronet/android/chromium_url_request_context.cc", | |
| 113 "//components/cronet/android/chromium_url_request_context.h", | |
| 114 "//components/cronet/android/chromium_url_request_error_list.h", | |
| 115 "//components/cronet/android/chromium_url_request_priority_list.h", | |
| 116 "//components/cronet/android/cronet_in_memory_pref_store.cc", | |
| 117 "//components/cronet/android/cronet_in_memory_pref_store.h", | |
| 118 "//components/cronet/android/cronet_library_loader.cc", | |
| 119 "//components/cronet/android/cronet_library_loader.h", | |
| 120 "//components/cronet/android/cronet_upload_data_stream.cc", | |
| 121 "//components/cronet/android/cronet_upload_data_stream.h", | |
| 122 "//components/cronet/android/cronet_upload_data_stream_adapter.cc", | |
| 123 "//components/cronet/android/cronet_upload_data_stream_adapter.h", | |
| 124 "//components/cronet/android/cronet_url_request_adapter.cc", | |
| 125 "//components/cronet/android/cronet_url_request_adapter.h", | |
| 126 "//components/cronet/android/cronet_url_request_context_adapter.cc", | |
| 127 "//components/cronet/android/cronet_url_request_context_adapter.h", | |
| 128 "//components/cronet/android/url_request_adapter.cc", | |
| 129 "//components/cronet/android/url_request_adapter.h", | |
| 130 "//components/cronet/android/url_request_context_adapter.cc", | |
| 131 "//components/cronet/android/url_request_context_adapter.h", | |
| 132 "//components/cronet/android/wrapped_channel_upload_element_reader.cc", | |
| 133 "//components/cronet/android/wrapped_channel_upload_element_reader.h", | |
| 134 "//components/cronet/histogram_manager.cc", | |
| 135 "//components/cronet/histogram_manager.h", | |
| 136 "//components/cronet/url_request_context_config.cc", | |
| 137 "//components/cronet/url_request_context_config.h", | |
| 138 "//components/cronet/url_request_context_config_list.h", | |
| 139 ] | |
| 140 | |
| 141 include_dirs = [ _cronet_version_header_include_dir ] | |
| 142 | |
| 143 cflags = [ | |
| 144 "-DLOGGING=1", | |
| 145 "-Wno-sign-promo", | |
| 146 ] | |
| 147 | |
| 148 libs = [ | |
| 149 "android", | |
| 150 "log", | |
| 151 ] | |
| 152 | |
| 153 if (enable_data_reduction_proxy_support) { | |
| 154 defines += [ "DATA_REDUCTION_PROXY_SUPPORT" ] | |
| 155 sources += [ | |
| 156 "//components/cronet/android/cronet_data_reduction_proxy.cc", | |
| 157 "//components/cronet/android/cronet_data_reduction_proxy.h", | |
| 158 ] | |
| 159 } | |
| 160 | |
| 161 if (defined(invoker.defines)) { | |
| 162 defines += invoker.defines | |
| 163 } | |
| 164 | |
| 165 if (defined(invoker.deps)) { | |
| 166 deps += invoker.deps | |
| 167 } | |
| 168 } | |
| 169 } | |
| 170 | |
| 171 # cronet_static_small target has reduced binary size through using | |
| 172 # ICU alternatives which requires file and ftp support be disabled. | |
| 173 cronet_static_tmpl("cronet_static_small") { | |
| 174 defines = [ | |
| 175 "USE_ICU_ALTERNATIVES_ON_ANDROID=1", | |
| 176 "DISABLE_FILE_SUPPORT=1", | |
| 177 "DISABLE_FTP_SUPPORT=1", | |
| 178 ] | |
| 179 | |
| 180 deps = [ | |
| 181 "//net:net_small", | |
| 182 "//url:url_lib_use_icu_alternatives_on_android", | |
| 183 ] | |
| 184 | |
| 185 if (enable_data_reduction_proxy_support) { | |
| 186 deps += [ "//components/data_reduction_proxy/core/browser:browser_small" ] | |
| 187 } | |
| 188 } | |
| 189 | |
| 190 # cronet_static target depends on ICU and includes file and ftp support. | |
| 191 cronet_static_tmpl("cronet_static") { | |
| 192 deps = [ | |
| 193 "//base:i18n", | |
| 194 "//net", | |
| 195 "//url", | |
| 196 ] | |
| 197 | |
| 198 if (enable_data_reduction_proxy_support) { | |
| 199 deps += [ "//components/data_reduction_proxy/core/browser" ] | |
| 200 } | |
| 201 } | |
| 202 | |
| 203 shared_library("cronet") { | |
| 204 sources = [ | |
| 205 "cronet_jni.cc", | |
| 206 ] | |
| 207 deps = [ | |
| 208 ":cronet_static_small", | |
| 209 "//base", | |
| 210 "//net:net_small", | |
| 211 ] | |
| 212 } | |
| 213 | |
| 214 # cronet_api.jar defines Cronet API and provides implementation of | |
| 215 # legacy api using HttpUrlConnection (not the Chromium stack). | |
| 216 android_library("cronet_api") { | |
| 217 DEPRECATED_java_in_dir = "api/src" | |
| 218 | |
| 219 deps = [ | |
| 220 "//third_party/android_tools:android_support_annotations_javalib", | |
| 221 ] | |
| 222 | |
| 223 srcjar_deps = [ | |
| 224 ":cronet_engine_builder_list", | |
| 225 ":cronet_version_srcjar", | |
| 226 ":load_states_list", | |
| 227 ":network_quality_observations_java", | |
| 228 ] | |
| 229 | |
| 230 run_findbugs = true | |
| 231 } | |
| 232 | |
| 233 android_library("cronet_java") { | |
| 234 java_files = [ | |
| 235 "java/src/org/chromium/net/ChromiumUrlRequest.java", | |
| 236 "java/src/org/chromium/net/ChromiumUrlRequestContext.java", | |
| 237 "java/src/org/chromium/net/ChromiumUrlRequestFactory.java", | |
| 238 "java/src/org/chromium/net/CronetLibraryLoader.java", | |
| 239 "java/src/org/chromium/net/CronetUploadDataStream.java", | |
| 240 "java/src/org/chromium/net/CronetUrlRequest.java", | |
| 241 "java/src/org/chromium/net/CronetUrlRequestContext.java", | |
| 242 "java/src/org/chromium/net/urlconnection/CronetBufferedOutputStream.java", | |
| 243 "java/src/org/chromium/net/urlconnection/CronetChunkedOutputStream.java", | |
| 244 "java/src/org/chromium/net/urlconnection/CronetFixedModeOutputStream.java", | |
| 245 "java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java", | |
| 246 "java/src/org/chromium/net/urlconnection/CronetHttpURLStreamHandler.java", | |
| 247 "java/src/org/chromium/net/urlconnection/CronetInputStream.java", | |
| 248 "java/src/org/chromium/net/urlconnection/CronetOutputStream.java", | |
| 249 "java/src/org/chromium/net/urlconnection/CronetURLStreamHandlerFactory.java" , | |
| 250 "java/src/org/chromium/net/urlconnection/MessageLoop.java", | |
| 251 ] | |
| 252 | |
| 253 deps = [ | |
| 254 ":cronet_api", | |
| 255 "//base:base_java", | |
| 256 "//net/android:net_java", | |
| 257 "//third_party/jsr-305:jsr_305_javalib", | |
| 258 ] | |
| 259 | |
| 260 srcjar_deps = [ | |
| 261 ":cronet_url_request_java", | |
| 262 ":net_request_priority_java", | |
| 263 ] | |
| 264 | |
| 265 run_findbugs = true | |
| 266 } | |
| 267 | |
| 268 android_resources("cronet_sample_apk_resources") { | |
| 269 resource_dirs = [ "sample/res" ] | |
| 270 android_manifest = "sample/AndroidManifest.xml" | |
| 271 } | |
| 272 | |
| 273 android_library("cronet_sample_apk_java") { | |
| 274 DEPRECATED_java_in_dir = "sample/src" | |
| 275 | |
| 276 deps = [ | |
| 277 ":cronet_api", | |
| 278 ":cronet_java", | |
| 279 ":cronet_sample_apk_resources", | |
| 280 "//base:base_java", | |
| 281 ] | |
| 282 | |
| 283 run_findbugs = true | |
| 284 } | |
| 285 | |
| 286 android_apk("cronet_sample_apk") { | |
| 287 apk_name = "CronetSample" | |
| 288 android_manifest = "sample/AndroidManifest.xml" | |
| 289 native_libs = [ "libcronet.so" ] | |
| 290 | |
| 291 deps = [ | |
| 292 ":cronet", | |
| 293 ":cronet_sample_apk_java", | |
| 294 ":cronet_sample_apk_resources", | |
| 295 "//base:base_java", | |
| 296 "//third_party/jsr-305:jsr_305_javalib", | |
| 297 ] | |
| 298 | |
| 299 run_findbugs = true | |
| 300 proguard_enabled = !is_debug | |
| 301 proguard_configs = [ | |
| 302 "proguard.cfg", | |
| 303 "sample/javatests/proguard.cfg", | |
| 304 ] | |
| 305 } | |
| 306 | |
| 307 # cronet_sample_test_apk_resources is identical to | |
| 308 # cronet_sample_apk_resources. The two have to be different targets because | |
| 309 # targets which are common between the "instrumentation test apk" and the | |
| 310 # "tested apk" are removed from the "instrumentation test apk". | |
| 311 android_resources("cronet_sample_test_apk_resources") { | |
| 312 resource_dirs = [ "sample/res" ] | |
| 313 android_manifest = "sample/AndroidManifest.xml" | |
| 314 } | |
| 315 | |
| 316 instrumentation_test_apk("cronet_sample_test_apk") { | |
| 317 apk_name = "CronetSampleTest" | |
| 318 apk_under_test = ":cronet_sample_apk" | |
| 319 android_manifest = "sample/javatests/AndroidManifest.xml" | |
| 320 DEPRECATED_java_in_dir = "sample/javatests/src" | |
| 321 | |
| 322 deps = [ | |
| 323 ":cronet_api", | |
| 324 ":cronet_java", | |
| 325 ":cronet_sample_apk_java", | |
| 326 ":cronet_sample_test_apk_resources", | |
| 327 "//base:base_java", | |
| 328 "//base:base_java_test_support", | |
| 329 ] | |
| 330 | |
| 331 run_findbugs = true | |
| 332 proguard_enabled = !is_debug | |
| 333 } | |
| 334 | |
| 335 generate_jni("cronet_tests_jni_headers") { | |
| 336 testonly = true | |
| 337 sources = [ | |
| 338 "test/src/org/chromium/net/CronetTestUtil.java", | |
| 339 "test/src/org/chromium/net/MockCertVerifier.java", | |
| 340 "test/src/org/chromium/net/MockUrlRequestJobFactory.java", | |
| 341 "test/src/org/chromium/net/NativeTestServer.java", | |
| 342 "test/src/org/chromium/net/NetworkChangeNotifierUtil.java", | |
| 343 "test/src/org/chromium/net/QuicTestServer.java", | |
| 344 "test/src/org/chromium/net/SdchObserver.java", | |
| 345 "test/src/org/chromium/net/TestUploadDataStreamHandler.java", | |
| 346 ] | |
| 347 jni_package = "cronet_tests" | |
| 348 } | |
| 349 | |
| 350 shared_library("cronet_tests") { | |
| 351 testonly = true | |
| 352 sources = [ | |
| 353 "test/cronet_test_jni.cc", | |
| 354 "test/mock_cert_verifier.cc", | |
| 355 "test/mock_cert_verifier.h", | |
| 356 "test/mock_url_request_job_factory.cc", | |
| 357 "test/mock_url_request_job_factory.h", | |
| 358 "test/native_test_server.cc", | |
| 359 "test/native_test_server.h", | |
| 360 "test/network_change_notifier_util.cc", | |
| 361 "test/network_change_notifier_util.h", | |
| 362 "test/quic_test_server.cc", | |
| 363 "test/quic_test_server.h", | |
| 364 "test/sdch_test_util.cc", | |
| 365 "test/sdch_test_util.h", | |
| 366 "test/test_upload_data_stream_handler.cc", | |
| 367 "test/test_upload_data_stream_handler.h", | |
| 368 ] | |
| 369 | |
| 370 deps = [ | |
| 371 ":cronet_static", | |
| 372 ":cronet_tests_jni_headers", | |
| 373 "//base", | |
| 374 "//base:i18n", | |
| 375 "//net", | |
| 376 "//net:simple_quic_tools", | |
| 377 "//net:test_support", | |
| 378 "//third_party/icu", | |
| 379 ] | |
| 380 | |
| 381 if (enable_data_reduction_proxy_support) { | |
| 382 deps += [ "//components/data_reduction_proxy/core/browser" ] | |
| 383 } | |
| 384 } | |
| 385 | |
| 386 android_resources("cronet_test_apk_resources") { | |
| 387 testonly = true | |
| 388 resource_dirs = [ "test/res" ] | |
| 389 android_manifest = "test/AndroidManifest.xml" | |
| 390 } | |
| 391 | |
| 392 android_library("cronet_test_apk_java") { | |
| 393 testonly = true | |
| 394 DEPRECATED_java_in_dir = "test/src" | |
| 395 | |
| 396 deps = [ | |
| 397 ":cronet_api", | |
| 398 ":cronet_java", | |
| 399 "//base:base_java", | |
| 400 "//net/android:net_java_test_support", | |
| 401 ] | |
| 402 } | |
| 403 | |
| 404 android_assets("cronet_test_apk_assets") { | |
| 405 testonly = true | |
| 406 sources_rel = exec_script("//build/android/gyp/find.py", | |
|
agrieve
2015/11/30 16:05:39
Rather than add another exec_script exception, I t
| |
| 407 rebase_path([ "test/assets" ], root_build_dir), | |
| 408 "list lines") | |
| 409 renaming_sources = rebase_path(sources_rel, ".", root_build_dir) | |
| 410 renaming_destinations = | |
| 411 rebase_path(sources_rel, "test/assets", root_build_dir) | |
| 412 } | |
| 413 | |
| 414 android_apk("cronet_test_apk") { | |
| 415 testonly = true | |
| 416 apk_name = "CronetTest" | |
| 417 android_manifest = "test/AndroidManifest.xml" | |
| 418 native_libs = [ "libcronet_tests.so" ] | |
| 419 | |
| 420 deps = [ | |
| 421 ":cronet_test_apk_assets", | |
| 422 ":cronet_test_apk_java", | |
| 423 ":cronet_test_apk_resources", | |
| 424 ":cronet_tests", | |
| 425 "//base:base_java", | |
| 426 ] | |
| 427 | |
| 428 run_findbugs = true | |
| 429 } | |
| 430 | |
| 431 instrumentation_test_apk("cronet_test_instrumentation_apk") { | |
| 432 apk_name = "CronetTestInstrumentation" | |
| 433 apk_under_test = ":cronet_test_apk" | |
| 434 android_manifest = "test/javatests/AndroidManifest.xml" | |
| 435 DEPRECATED_java_in_dir = "test/javatests/src" | |
| 436 | |
| 437 deps = [ | |
| 438 ":cronet_api", | |
| 439 ":cronet_java", | |
| 440 ":cronet_test_apk_java", | |
| 441 "//base:base_java", | |
| 442 "//base:base_java_test_support", | |
| 443 "//net/android:net_java_test_support", | |
| 444 ] | |
| 445 | |
| 446 run_findbugs = true | |
| 447 } | |
| 448 | |
| 449 test("cronet_unittests") { | |
| 450 sources = [ | |
| 451 "//components/cronet/histogram_manager_unittest.cc", | |
| 452 "//components/cronet/run_all_unittests.cc", | |
| 453 "//components/cronet/url_request_context_config_unittest.cc", | |
| 454 ] | |
| 455 | |
| 456 deps = [ | |
| 457 ":cronet_static", | |
| 458 "//base", | |
| 459 "//base/test:test_support", | |
| 460 "//components/metrics", | |
| 461 "//testing/gtest", | |
| 462 ] | |
| 463 } | |
| OLD | NEW |