xref: /aosp_15_r20/external/cronet/components/cronet/android/BUILD.gn (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1*6777b538SAndroid Build Coastguard Worker# Copyright 2015 The Chromium Authors
2*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be
3*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file.
4*6777b538SAndroid Build Coastguard Worker
5*6777b538SAndroid Build Coastguard Workerimport("//build/android/resource_sizes.gni")
6*6777b538SAndroid Build Coastguard Workerimport("//build/buildflag_header.gni")
7*6777b538SAndroid Build Coastguard Workerimport("//build/config/android/config.gni")
8*6777b538SAndroid Build Coastguard Workerimport("//build/config/android/rules.gni")
9*6777b538SAndroid Build Coastguard Workerimport("//build/config/cronet/config.gni")
10*6777b538SAndroid Build Coastguard Workerimport("//build/config/zip.gni")
11*6777b538SAndroid Build Coastguard Workerimport("//build/util/lastchange.gni")
12*6777b538SAndroid Build Coastguard Workerimport("//build/util/process_version.gni")
13*6777b538SAndroid Build Coastguard Workerimport("//chrome/version.gni")
14*6777b538SAndroid Build Coastguard Workerimport("//components/cronet/native/include/headers.gni")
15*6777b538SAndroid Build Coastguard Workerimport("//components/grpc_support/include/headers.gni")
16*6777b538SAndroid Build Coastguard Workerimport("//testing/test.gni")
17*6777b538SAndroid Build Coastguard Workerimport("//third_party/jni_zero/jni_zero.gni")
18*6777b538SAndroid Build Coastguard Workerimport("//third_party/netty4/netty4.gni")
19*6777b538SAndroid Build Coastguard Workerimport("//third_party/protobuf/proto_library.gni")
20*6777b538SAndroid Build Coastguard Workerimport("//tools/binary_size/sizes.gni")
21*6777b538SAndroid Build Coastguard Workerimport("//url/features.gni")
22*6777b538SAndroid Build Coastguard Worker
23*6777b538SAndroid Build Coastguard Worker_templates_dir = "$target_gen_dir/templates"
24*6777b538SAndroid Build Coastguard Worker_gn_path = "//buildtools/linux64/gn"
25*6777b538SAndroid Build Coastguard Worker
26*6777b538SAndroid Build Coastguard Workerassert(!is_component_build)
27*6777b538SAndroid Build Coastguard Workerassert(is_cronet_build)
28*6777b538SAndroid Build Coastguard Worker
29*6777b538SAndroid Build Coastguard Workergenerate_jni("cronet_jni_headers") {
30*6777b538SAndroid Build Coastguard Worker  sources = [
31*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetBidirectionalStream.java",
32*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetLibraryLoader.java",
33*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetUploadDataStream.java",
34*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetUrlRequest.java",
35*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetUrlRequestContext.java",
36*6777b538SAndroid Build Coastguard Worker  ]
37*6777b538SAndroid Build Coastguard Worker}
38*6777b538SAndroid Build Coastguard Worker
39*6777b538SAndroid Build Coastguard Workergenerate_jni_registration("cronet_jni_registration") {
40*6777b538SAndroid Build Coastguard Worker  java_targets = [ ":cronet_impl_native_java" ]
41*6777b538SAndroid Build Coastguard Worker  manual_jni_registration = true
42*6777b538SAndroid Build Coastguard Worker
43*6777b538SAndroid Build Coastguard Worker  # JNI generated is used for test and non-test apks.
44*6777b538SAndroid Build Coastguard Worker  include_testonly = true
45*6777b538SAndroid Build Coastguard Worker
46*6777b538SAndroid Build Coastguard Worker  _subdir = rebase_path(target_gen_dir, root_gen_dir)
47*6777b538SAndroid Build Coastguard Worker  cpp_codegen_output =
48*6777b538SAndroid Build Coastguard Worker      "$jni_headers_dir/$_subdir/cronet_jni_registration_generated.h"
49*6777b538SAndroid Build Coastguard Worker}
50*6777b538SAndroid Build Coastguard Worker
51*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_jni_registration_java") {
52*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [ ":cronet_jni_registration" ]
53*6777b538SAndroid Build Coastguard Worker}
54*6777b538SAndroid Build Coastguard Worker
55*6777b538SAndroid Build Coastguard Workerjava_cpp_enum("rtt_throughput_values_java") {
56*6777b538SAndroid Build Coastguard Worker  sources = [ "//net/nqe/network_quality.h" ]
57*6777b538SAndroid Build Coastguard Worker}
58*6777b538SAndroid Build Coastguard Worker
59*6777b538SAndroid Build Coastguard Workerjava_cpp_enum("net_request_priority_java") {
60*6777b538SAndroid Build Coastguard Worker  sources = [ "//net/base/request_priority.h" ]
61*6777b538SAndroid Build Coastguard Worker}
62*6777b538SAndroid Build Coastguard Worker
63*6777b538SAndroid Build Coastguard Workerjava_cpp_enum("net_idempotency_java") {
64*6777b538SAndroid Build Coastguard Worker  sources = [ "//net/base/idempotency.h" ]
65*6777b538SAndroid Build Coastguard Worker}
66*6777b538SAndroid Build Coastguard Worker
67*6777b538SAndroid Build Coastguard Workerjava_cpp_enum("network_quality_observation_source_java") {
68*6777b538SAndroid Build Coastguard Worker  sources = [ "//net/nqe/network_quality_observation_source.h" ]
69*6777b538SAndroid Build Coastguard Worker}
70*6777b538SAndroid Build Coastguard Worker
71*6777b538SAndroid Build Coastguard Workerjava_cpp_enum("url_request_error_java") {
72*6777b538SAndroid Build Coastguard Worker  sources = [ "url_request_error.h" ]
73*6777b538SAndroid Build Coastguard Worker}
74*6777b538SAndroid Build Coastguard Worker
75*6777b538SAndroid Build Coastguard Workerjava_cpp_enum("http_cache_type_java") {
76*6777b538SAndroid Build Coastguard Worker  sources = [ "//components/cronet/url_request_context_config.h" ]
77*6777b538SAndroid Build Coastguard Worker}
78*6777b538SAndroid Build Coastguard Worker
79*6777b538SAndroid Build Coastguard Workerjava_cpp_template("load_states_list") {
80*6777b538SAndroid Build Coastguard Worker  sources = [ "java/src/org/chromium/net/impl/LoadState.template" ]
81*6777b538SAndroid Build Coastguard Worker  inputs = [ "//net/base/load_states_list.h" ]
82*6777b538SAndroid Build Coastguard Worker}
83*6777b538SAndroid Build Coastguard Worker
84*6777b538SAndroid Build Coastguard Worker_api_level = read_file("api_version.txt", "value")
85*6777b538SAndroid Build Coastguard Worker
86*6777b538SAndroid Build Coastguard Worker_generated_api_version_java = "$_templates_dir/org/chromium/net/ApiVersion.java"
87*6777b538SAndroid Build Coastguard Worker
88*6777b538SAndroid Build Coastguard Workerprocess_version("api_version") {
89*6777b538SAndroid Build Coastguard Worker  process_only = true
90*6777b538SAndroid Build Coastguard Worker  template_file = "api/src/org/chromium/net/ApiVersion.template"
91*6777b538SAndroid Build Coastguard Worker  sources = [
92*6777b538SAndroid Build Coastguard Worker    "//chrome/VERSION",
93*6777b538SAndroid Build Coastguard Worker    lastchange_file,
94*6777b538SAndroid Build Coastguard Worker  ]
95*6777b538SAndroid Build Coastguard Worker  extra_args = [
96*6777b538SAndroid Build Coastguard Worker    "-e",
97*6777b538SAndroid Build Coastguard Worker    "API_LEVEL=$_api_level",
98*6777b538SAndroid Build Coastguard Worker  ]
99*6777b538SAndroid Build Coastguard Worker  output = _generated_api_version_java
100*6777b538SAndroid Build Coastguard Worker}
101*6777b538SAndroid Build Coastguard Worker
102*6777b538SAndroid Build Coastguard Worker_generated_impl_version_java =
103*6777b538SAndroid Build Coastguard Worker    "$_templates_dir/org/chromium/net/impl/ImplVersion.java"
104*6777b538SAndroid Build Coastguard Worker
105*6777b538SAndroid Build Coastguard Workerprocess_version("impl_version") {
106*6777b538SAndroid Build Coastguard Worker  process_only = true
107*6777b538SAndroid Build Coastguard Worker  template_file = "java/src/org/chromium/net/impl/ImplVersion.template"
108*6777b538SAndroid Build Coastguard Worker  sources = [
109*6777b538SAndroid Build Coastguard Worker    "//chrome/VERSION",
110*6777b538SAndroid Build Coastguard Worker    lastchange_file,
111*6777b538SAndroid Build Coastguard Worker  ]
112*6777b538SAndroid Build Coastguard Worker  extra_args = [
113*6777b538SAndroid Build Coastguard Worker    "-e",
114*6777b538SAndroid Build Coastguard Worker    "API_LEVEL=$_api_level",
115*6777b538SAndroid Build Coastguard Worker  ]
116*6777b538SAndroid Build Coastguard Worker  output = _generated_impl_version_java
117*6777b538SAndroid Build Coastguard Worker}
118*6777b538SAndroid Build Coastguard Worker
119*6777b538SAndroid Build Coastguard Worker_cronet_version_header_include_dir = "$target_gen_dir/cronet_version_header"
120*6777b538SAndroid Build Coastguard Worker
121*6777b538SAndroid Build Coastguard Workerproto_library("base_feature_overrides_proto") {
122*6777b538SAndroid Build Coastguard Worker  sources = [ "proto/base_feature_overrides.proto" ]
123*6777b538SAndroid Build Coastguard Worker}
124*6777b538SAndroid Build Coastguard Worker
125*6777b538SAndroid Build Coastguard Workerproto_java_library("base_feature_overrides_java_proto") {
126*6777b538SAndroid Build Coastguard Worker  proto_path = "."
127*6777b538SAndroid Build Coastguard Worker  sources = [ "proto/base_feature_overrides.proto" ]
128*6777b538SAndroid Build Coastguard Worker}
129*6777b538SAndroid Build Coastguard Worker
130*6777b538SAndroid Build Coastguard Workerproto_java_library("flags_java_proto") {
131*6777b538SAndroid Build Coastguard Worker  proto_path = "."
132*6777b538SAndroid Build Coastguard Worker  sources = [ "proto/flags.proto" ]
133*6777b538SAndroid Build Coastguard Worker}
134*6777b538SAndroid Build Coastguard Worker
135*6777b538SAndroid Build Coastguard Workerproto_library("request_context_config_proto") {
136*6777b538SAndroid Build Coastguard Worker  sources = [ "proto/request_context_config.proto" ]
137*6777b538SAndroid Build Coastguard Worker}
138*6777b538SAndroid Build Coastguard Worker
139*6777b538SAndroid Build Coastguard Workerproto_java_library("request_context_config_java_proto") {
140*6777b538SAndroid Build Coastguard Worker  proto_path = "."
141*6777b538SAndroid Build Coastguard Worker  sources = [ "proto/request_context_config.proto" ]
142*6777b538SAndroid Build Coastguard Worker}
143*6777b538SAndroid Build Coastguard Worker
144*6777b538SAndroid Build Coastguard Workerstatic_library("cronet_base_feature") {
145*6777b538SAndroid Build Coastguard Worker  sources = [
146*6777b538SAndroid Build Coastguard Worker    "cronet_base_feature.cc",
147*6777b538SAndroid Build Coastguard Worker    "cronet_base_feature.h",
148*6777b538SAndroid Build Coastguard Worker  ]
149*6777b538SAndroid Build Coastguard Worker  deps = [
150*6777b538SAndroid Build Coastguard Worker    ":base_feature_overrides_proto",
151*6777b538SAndroid Build Coastguard Worker    "//base",
152*6777b538SAndroid Build Coastguard Worker  ]
153*6777b538SAndroid Build Coastguard Worker}
154*6777b538SAndroid Build Coastguard Worker
155*6777b538SAndroid Build Coastguard Workerstatic_library("cronet_base_feature_unittest") {
156*6777b538SAndroid Build Coastguard Worker  testonly = true
157*6777b538SAndroid Build Coastguard Worker  sources = [ "cronet_base_feature_unittest.cc" ]
158*6777b538SAndroid Build Coastguard Worker  deps = [
159*6777b538SAndroid Build Coastguard Worker    ":base_feature_overrides_proto",
160*6777b538SAndroid Build Coastguard Worker    ":cronet_base_feature",
161*6777b538SAndroid Build Coastguard Worker    "//base/test:test_support",
162*6777b538SAndroid Build Coastguard Worker    "//testing/gtest",
163*6777b538SAndroid Build Coastguard Worker  ]
164*6777b538SAndroid Build Coastguard Worker}
165*6777b538SAndroid Build Coastguard Worker
166*6777b538SAndroid Build Coastguard Workersource_set("cronet_static") {
167*6777b538SAndroid Build Coastguard Worker  deps = [
168*6777b538SAndroid Build Coastguard Worker    ":base_feature_overrides_proto",
169*6777b538SAndroid Build Coastguard Worker    ":cronet_base_feature",
170*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_headers",
171*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_registration",
172*6777b538SAndroid Build Coastguard Worker    ":request_context_config_proto",
173*6777b538SAndroid Build Coastguard Worker    "//base",
174*6777b538SAndroid Build Coastguard Worker    "//components/cronet:cronet_common",
175*6777b538SAndroid Build Coastguard Worker    "//components/cronet:cronet_version_header",
176*6777b538SAndroid Build Coastguard Worker    "//components/cronet:metrics_util",
177*6777b538SAndroid Build Coastguard Worker    "//components/prefs",
178*6777b538SAndroid Build Coastguard Worker    "//net",
179*6777b538SAndroid Build Coastguard Worker    "//third_party/zlib:zlib",
180*6777b538SAndroid Build Coastguard Worker    "//url",
181*6777b538SAndroid Build Coastguard Worker    "//url:buildflags",
182*6777b538SAndroid Build Coastguard Worker  ]
183*6777b538SAndroid Build Coastguard Worker  if (!is_cronet_for_aosp_build) {
184*6777b538SAndroid Build Coastguard Worker    deps += [ "//components/cronet/native:cronet_native_impl" ]
185*6777b538SAndroid Build Coastguard Worker  }
186*6777b538SAndroid Build Coastguard Worker  sources = [
187*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_bidirectional_stream_adapter.cc",
188*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_bidirectional_stream_adapter.h",
189*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_context_adapter.cc",
190*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_context_adapter.h",
191*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_library_loader.cc",
192*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_library_loader.h",
193*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_upload_data_stream_adapter.cc",
194*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_upload_data_stream_adapter.h",
195*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_url_request_adapter.cc",
196*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_url_request_adapter.h",
197*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/io_buffer_with_byte_buffer.cc",
198*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/io_buffer_with_byte_buffer.h",
199*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/url_request_error.cc",
200*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/url_request_error.h",
201*6777b538SAndroid Build Coastguard Worker  ]
202*6777b538SAndroid Build Coastguard Worker
203*6777b538SAndroid Build Coastguard Worker  include_dirs = [ _cronet_version_header_include_dir ]
204*6777b538SAndroid Build Coastguard Worker
205*6777b538SAndroid Build Coastguard Worker  cflags = [
206*6777b538SAndroid Build Coastguard Worker    "-DLOGGING=1",
207*6777b538SAndroid Build Coastguard Worker    "-Wno-sign-promo",
208*6777b538SAndroid Build Coastguard Worker  ]
209*6777b538SAndroid Build Coastguard Worker
210*6777b538SAndroid Build Coastguard Worker  libs = [
211*6777b538SAndroid Build Coastguard Worker    "android",
212*6777b538SAndroid Build Coastguard Worker    "log",
213*6777b538SAndroid Build Coastguard Worker  ]
214*6777b538SAndroid Build Coastguard Worker
215*6777b538SAndroid Build Coastguard Worker  if (!use_platform_icu_alternatives) {
216*6777b538SAndroid Build Coastguard Worker    deps += [ "//base:i18n" ]
217*6777b538SAndroid Build Coastguard Worker  }
218*6777b538SAndroid Build Coastguard Worker}
219*6777b538SAndroid Build Coastguard Worker
220*6777b538SAndroid Build Coastguard Workerconfig("hide_all_but_jni_onload_and_cronet") {
221*6777b538SAndroid Build Coastguard Worker  ldflags = [ "-Wl,--version-script=" +
222*6777b538SAndroid Build Coastguard Worker              rebase_path("android_only_jni_onload_and_cronet_exports.lst",
223*6777b538SAndroid Build Coastguard Worker                          root_out_dir) ]
224*6777b538SAndroid Build Coastguard Worker}
225*6777b538SAndroid Build Coastguard Worker
226*6777b538SAndroid Build Coastguard Worker_cronet_shared_lib_name = "cronet.$chrome_version_full"
227*6777b538SAndroid Build Coastguard Worker
228*6777b538SAndroid Build Coastguard Workershared_library("cronet") {
229*6777b538SAndroid Build Coastguard Worker  output_name = _cronet_shared_lib_name
230*6777b538SAndroid Build Coastguard Worker  sources = [ "cronet_jni.cc" ]
231*6777b538SAndroid Build Coastguard Worker  deps = [
232*6777b538SAndroid Build Coastguard Worker    ":cronet_static",
233*6777b538SAndroid Build Coastguard Worker    "//base",
234*6777b538SAndroid Build Coastguard Worker    "//net:net",
235*6777b538SAndroid Build Coastguard Worker  ]
236*6777b538SAndroid Build Coastguard Worker  configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
237*6777b538SAndroid Build Coastguard Worker  configs += [ ":hide_all_but_jni_onload_and_cronet" ]
238*6777b538SAndroid Build Coastguard Worker}
239*6777b538SAndroid Build Coastguard Worker
240*6777b538SAndroid Build Coastguard Workersizes_test("cronet_sizes") {
241*6777b538SAndroid Build Coastguard Worker  data_deps = [ ":cronet" ]
242*6777b538SAndroid Build Coastguard Worker  data = [ "${root_out_dir}/lib${_cronet_shared_lib_name}.so" ]
243*6777b538SAndroid Build Coastguard Worker  executable_args = [
244*6777b538SAndroid Build Coastguard Worker    "--platform",
245*6777b538SAndroid Build Coastguard Worker    "android-cronet",
246*6777b538SAndroid Build Coastguard Worker  ]
247*6777b538SAndroid Build Coastguard Worker}
248*6777b538SAndroid Build Coastguard Worker
249*6777b538SAndroid Build Coastguard Workercronet_shared_java_deps_to_package = [ ":cronet_stats_log_java" ]
250*6777b538SAndroid Build Coastguard Worker
251*6777b538SAndroid Build Coastguard Worker# Common Cronet code that is used in Cronet API *and* implementations.
252*6777b538SAndroid Build Coastguard Worker#
253*6777b538SAndroid Build Coastguard Worker# Note that this target should not be used to ship classes that define the
254*6777b538SAndroid Build Coastguard Worker# Cronet API/impl boundary, because API and impl code can end up linking against
255*6777b538SAndroid Build Coastguard Worker# separate copies of these classes at runtime (e.g. if Cronet is loaded from
256*6777b538SAndroid Build Coastguard Worker# Google Play Services), making it impossible for references to these classes to
257*6777b538SAndroid Build Coastguard Worker# cross the boundary. These classes should be shipped in `cronet_api_java`
258*6777b538SAndroid Build Coastguard Worker# instead.
259*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_shared_java") {
260*6777b538SAndroid Build Coastguard Worker  sources = [
261*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetLogger.java",
262*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetLoggerFactory.java",
263*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetManifest.java",
264*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/NoOpLogger.java",
265*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/telemetry/CronetLoggerImpl.java",
266*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/telemetry/ExperimentalOptions.java",
267*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/telemetry/Hash.java",
268*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/telemetry/OptionalBoolean.java",
269*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/telemetry/RateLimiter.java",
270*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/telemetry/SizeBuckets.java",
271*6777b538SAndroid Build Coastguard Worker  ]
272*6777b538SAndroid Build Coastguard Worker
273*6777b538SAndroid Build Coastguard Worker  # Adding deps here won't include those deps in the cronet_shared_java.jar.
274*6777b538SAndroid Build Coastguard Worker  # Please add to cronet_shared_java_deps_to_package instead.
275*6777b538SAndroid Build Coastguard Worker  deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ] +
276*6777b538SAndroid Build Coastguard Worker         cronet_shared_java_deps_to_package
277*6777b538SAndroid Build Coastguard Worker
278*6777b538SAndroid Build Coastguard Worker  proguard_configs =
279*6777b538SAndroid Build Coastguard Worker      [ "//components/cronet/android/cronet_shared_proguard.cfg" ]
280*6777b538SAndroid Build Coastguard Worker}
281*6777b538SAndroid Build Coastguard Worker
282*6777b538SAndroid Build Coastguard Worker# cronet_api_java.jar defines Cronet API.
283*6777b538SAndroid Build Coastguard Worker#
284*6777b538SAndroid Build Coastguard Worker# Note that, in some cases (specifically, the case where Cronet is loaded from
285*6777b538SAndroid Build Coastguard Worker# Google Play Services), the API classes are not bundled with the
286*6777b538SAndroid Build Coastguard Worker# implementation, and at runtime the impl classes may end up deriving from API
287*6777b538SAndroid Build Coastguard Worker# classes that are from a different build/version. This means you have to pay
288*6777b538SAndroid Build Coastguard Worker# attention to backward/forward Java ABI compatibility concerns. If you don't
289*6777b538SAndroid Build Coastguard Worker# want your class to be part of the Cronet API/impl boundary, ship your class in
290*6777b538SAndroid Build Coastguard Worker# `cronet_shared_java` instead.
291*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_api_java") {
292*6777b538SAndroid Build Coastguard Worker  sources = [
293*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/BidirectionalStream.java",
294*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/CallbackException.java",
295*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/ConnectionMigrationOptions.java",
296*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/CronetEngine.java",
297*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/CronetException.java",
298*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/CronetProvider.java",
299*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/DnsOptions.java",
300*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/ExperimentalBidirectionalStream.java",
301*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/ExperimentalCronetEngine.java",
302*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/ExperimentalOptionsTranslatingCronetEngineBuilder.java",
303*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/ExperimentalUrlRequest.java",
304*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/ICronetEngineBuilder.java",
305*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/InlineExecutionProhibitedException.java",
306*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/NetworkException.java",
307*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/NetworkQualityRttListener.java",
308*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/NetworkQualityThroughputListener.java",
309*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/QuicException.java",
310*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/QuicOptions.java",
311*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/RequestFinishedInfo.java",
312*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/UploadDataProvider.java",
313*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/UploadDataSink.java",
314*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/UrlRequest.java",
315*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/UrlResponseInfo.java",
316*6777b538SAndroid Build Coastguard Worker    _generated_api_version_java,
317*6777b538SAndroid Build Coastguard Worker  ]
318*6777b538SAndroid Build Coastguard Worker
319*6777b538SAndroid Build Coastguard Worker  deps = [
320*6777b538SAndroid Build Coastguard Worker    ":api_version",
321*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
322*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_experimental_java",
323*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
324*6777b538SAndroid Build Coastguard Worker  ]
325*6777b538SAndroid Build Coastguard Worker}
326*6777b538SAndroid Build Coastguard Worker
327*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_api_helpers_java") {
328*6777b538SAndroid Build Coastguard Worker  sources = [
329*6777b538SAndroid Build Coastguard Worker    # This API file is a special case because it depends on methods that exists
330*6777b538SAndroid Build Coastguard Worker    # within the ApiHelper package.
331*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/UploadDataProviders.java",
332*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/ByteArrayCronetCallback.java",
333*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/ContentTypeParametersParser.java",
334*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/CronetRequestCompletionListener.java",
335*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/CronetResponse.java",
336*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/ImplicitFlowControlCallback.java",
337*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/InMemoryTransformCronetCallback.java",
338*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/JsonCronetCallback.java",
339*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/RedirectHandler.java",
340*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/RedirectHandlers.java",
341*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/StringCronetCallback.java",
342*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/UploadDataProviders.java",
343*6777b538SAndroid Build Coastguard Worker    "api/src/org/chromium/net/apihelpers/UrlRequestCallbacks.java",
344*6777b538SAndroid Build Coastguard Worker  ]
345*6777b538SAndroid Build Coastguard Worker  deps = [
346*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
347*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
348*6777b538SAndroid Build Coastguard Worker  ]
349*6777b538SAndroid Build Coastguard Worker}
350*6777b538SAndroid Build Coastguard Worker
351*6777b538SAndroid Build Coastguard Worker# CronetStatsLog uses `android.util.StatsLog` which is not in the public SDK,
352*6777b538SAndroid Build Coastguard Worker# hence this separate target pointed at the system SDK.
353*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_stats_log_java") {
354*6777b538SAndroid Build Coastguard Worker  sources = [ "java/src/org/chromium/net/telemetry/CronetStatsLog.java" ]
355*6777b538SAndroid Build Coastguard Worker  alternative_android_sdk_dep =
356*6777b538SAndroid Build Coastguard Worker      "//third_party/android_sdk:public_framework_system_java"
357*6777b538SAndroid Build Coastguard Worker  deps = [ "//third_party/androidx:androidx_annotation_annotation_java" ]
358*6777b538SAndroid Build Coastguard Worker}
359*6777b538SAndroid Build Coastguard Worker
360*6777b538SAndroid Build Coastguard Workercronet_impl_common_java_srcjar_deps = [
361*6777b538SAndroid Build Coastguard Worker  ":http_cache_type_java",
362*6777b538SAndroid Build Coastguard Worker  ":load_states_list",
363*6777b538SAndroid Build Coastguard Worker  ":rtt_throughput_values_java",
364*6777b538SAndroid Build Coastguard Worker  "//net:effective_connection_type_java",
365*6777b538SAndroid Build Coastguard Worker]
366*6777b538SAndroid Build Coastguard Worker
367*6777b538SAndroid Build Coastguard Workercronet_impl_common_java_deps_to_package =
368*6777b538SAndroid Build Coastguard Worker    [ "//net/android:net_thread_stats_uid_java" ]
369*6777b538SAndroid Build Coastguard Worker
370*6777b538SAndroid Build Coastguard Worker# cronet_impl_common_java.jar - common Cronet code that is shared
371*6777b538SAndroid Build Coastguard Worker# by all Cronet engine implementations.
372*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_impl_common_java") {
373*6777b538SAndroid Build Coastguard Worker  sources = [
374*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CallbackExceptionImpl.java",
375*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetEngineBase.java",
376*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetEngineBuilderImpl.java",
377*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetExceptionImpl.java",
378*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/NetworkExceptionImpl.java",
379*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/Preconditions.java",
380*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/QuicExceptionImpl.java",
381*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/RefCountDelegate.java",
382*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/RequestFinishedInfoImpl.java",
383*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/UrlRequestBase.java",
384*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/UrlRequestBuilderImpl.java",
385*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/UrlResponseInfoImpl.java",
386*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/UserAgent.java",
387*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/VersionSafeCallbacks.java",
388*6777b538SAndroid Build Coastguard Worker    _generated_impl_version_java,
389*6777b538SAndroid Build Coastguard Worker  ]
390*6777b538SAndroid Build Coastguard Worker
391*6777b538SAndroid Build Coastguard Worker  # Adding deps here won't include those deps in the cronet_impl_common_java.jar.
392*6777b538SAndroid Build Coastguard Worker  # Please add to cronet_impl_common_java_deps_to_package instead.
393*6777b538SAndroid Build Coastguard Worker  deps = [
394*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
395*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
396*6777b538SAndroid Build Coastguard Worker    ":impl_version",
397*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
398*6777b538SAndroid Build Coastguard Worker  ]
399*6777b538SAndroid Build Coastguard Worker  deps += cronet_impl_common_java_deps_to_package
400*6777b538SAndroid Build Coastguard Worker
401*6777b538SAndroid Build Coastguard Worker  srcjar_deps = cronet_impl_common_java_srcjar_deps
402*6777b538SAndroid Build Coastguard Worker  proguard_configs = [ "cronet_impl_common_proguard.cfg" ]
403*6777b538SAndroid Build Coastguard Worker}
404*6777b538SAndroid Build Coastguard Worker
405*6777b538SAndroid Build Coastguard Worker# cronet_impl_java_util_java.jar - Classes shared between Java Cronet implementations.
406*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_impl_java_util_java") {
407*6777b538SAndroid Build Coastguard Worker  sources = [
408*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/JavaUploadDataSinkBase.java",
409*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/JavaUrlRequestUtils.java",
410*6777b538SAndroid Build Coastguard Worker  ]
411*6777b538SAndroid Build Coastguard Worker
412*6777b538SAndroid Build Coastguard Worker  deps = [
413*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
414*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_common_java",
415*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
416*6777b538SAndroid Build Coastguard Worker  ]
417*6777b538SAndroid Build Coastguard Worker}
418*6777b538SAndroid Build Coastguard Worker
419*6777b538SAndroid Build Coastguard Worker# cronet_impl_platform_java.jar - Java platform based implementation of the Cronet engine.
420*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_impl_platform_java") {
421*6777b538SAndroid Build Coastguard Worker  sources = [
422*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/InputStreamChannel.java",
423*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/JavaCronetEngine.java",
424*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/JavaCronetEngineBuilderImpl.java",
425*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/JavaCronetProvider.java",
426*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/JavaUrlRequest.java",
427*6777b538SAndroid Build Coastguard Worker  ]
428*6777b538SAndroid Build Coastguard Worker
429*6777b538SAndroid Build Coastguard Worker  deps = [
430*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
431*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_common_java",
432*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_java_util_java",
433*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
434*6777b538SAndroid Build Coastguard Worker    "//net/android:net_thread_stats_uid_java",
435*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
436*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
437*6777b538SAndroid Build Coastguard Worker  ]
438*6777b538SAndroid Build Coastguard Worker}
439*6777b538SAndroid Build Coastguard Worker
440*6777b538SAndroid Build Coastguard Worker# cronet_impl_fake_java.jar - Fake implementation of Cronet.
441*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_impl_fake_java") {
442*6777b538SAndroid Build Coastguard Worker  sources = [
443*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/FakeCronetController.java",
444*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/FakeCronetEngine.java",
445*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/FakeCronetProvider.java",
446*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/FakeRequestFinishedInfo.java",
447*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/FakeUrlRequest.java",
448*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/FakeUrlResponse.java",
449*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/ResponseMatcher.java",
450*6777b538SAndroid Build Coastguard Worker    "fake/java/org/chromium/net/test/UrlResponseMatcher.java",
451*6777b538SAndroid Build Coastguard Worker  ]
452*6777b538SAndroid Build Coastguard Worker
453*6777b538SAndroid Build Coastguard Worker  deps = [
454*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
455*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_common_java",
456*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_java_util_java",
457*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
458*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
459*6777b538SAndroid Build Coastguard Worker  ]
460*6777b538SAndroid Build Coastguard Worker}
461*6777b538SAndroid Build Coastguard Worker
462*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_urlconnection_impl_java") {
463*6777b538SAndroid Build Coastguard Worker  sources = [
464*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetBufferedOutputStream.java",
465*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetChunkedOutputStream.java",
466*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetFixedModeOutputStream.java",
467*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetHttpURLConnection.java",
468*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetHttpURLStreamHandler.java",
469*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetInputStream.java",
470*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetOutputStream.java",
471*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/CronetURLStreamHandlerFactory.java",
472*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/urlconnection/MessageLoop.java",
473*6777b538SAndroid Build Coastguard Worker  ]
474*6777b538SAndroid Build Coastguard Worker  deps = [
475*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
476*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
477*6777b538SAndroid Build Coastguard Worker  ]
478*6777b538SAndroid Build Coastguard Worker}
479*6777b538SAndroid Build Coastguard Worker
480*6777b538SAndroid Build Coastguard Workercronet_impl_native_java_srcjar_deps = [
481*6777b538SAndroid Build Coastguard Worker  ":net_idempotency_java",
482*6777b538SAndroid Build Coastguard Worker  ":net_request_priority_java",
483*6777b538SAndroid Build Coastguard Worker  ":network_quality_observation_source_java",
484*6777b538SAndroid Build Coastguard Worker  ":url_request_error_java",
485*6777b538SAndroid Build Coastguard Worker]
486*6777b538SAndroid Build Coastguard Worker
487*6777b538SAndroid Build Coastguard Workercronet_impl_native_java_deps_to_package = [
488*6777b538SAndroid Build Coastguard Worker  ":cronet_urlconnection_impl_java",
489*6777b538SAndroid Build Coastguard Worker  ":base_feature_overrides_java_proto",
490*6777b538SAndroid Build Coastguard Worker  ":flags_java_proto",
491*6777b538SAndroid Build Coastguard Worker  ":request_context_config_java_proto",
492*6777b538SAndroid Build Coastguard Worker  "//base:base_java",
493*6777b538SAndroid Build Coastguard Worker  "//third_party/jni_zero:jni_zero_java",
494*6777b538SAndroid Build Coastguard Worker  "//build/android:build_java",
495*6777b538SAndroid Build Coastguard Worker  "//net/android:net_java",
496*6777b538SAndroid Build Coastguard Worker  "//url:url_java",
497*6777b538SAndroid Build Coastguard Worker]
498*6777b538SAndroid Build Coastguard Worker
499*6777b538SAndroid Build Coastguard Worker# cronet_impl_native_java.jar - native implementation of the Cronet engine.
500*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_impl_native_java") {
501*6777b538SAndroid Build Coastguard Worker  sources = [
502*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/httpflags/BaseFeature.java",
503*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/httpflags/HttpFlagsLoader.java",
504*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/httpflags/ResolvedFlags.java",
505*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/BidirectionalStreamBuilderImpl.java",
506*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/BidirectionalStreamNetworkException.java",
507*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetBidirectionalStream.java",
508*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetLibraryLoader.java",
509*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetMetrics.java",
510*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetUploadDataStream.java",
511*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetUrlRequest.java",
512*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetUrlRequestContext.java",
513*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/NativeCronetEngineBuilderImpl.java",
514*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/NativeCronetEngineBuilderWithLibraryLoaderImpl.java",
515*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/NativeCronetProvider.java",
516*6777b538SAndroid Build Coastguard Worker  ]
517*6777b538SAndroid Build Coastguard Worker
518*6777b538SAndroid Build Coastguard Worker  # Adding deps here won't include those deps in the cronet_impl_native_java.jar.
519*6777b538SAndroid Build Coastguard Worker  # Please add to cronet_impl_native_java_deps_to_package instead.
520*6777b538SAndroid Build Coastguard Worker  deps = [
521*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
522*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_common_java",
523*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
524*6777b538SAndroid Build Coastguard Worker    "//build/android:build_java",
525*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
526*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:protobuf_lite_runtime_java",
527*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
528*6777b538SAndroid Build Coastguard Worker    "//third_party/jni_zero:jni_zero_java",
529*6777b538SAndroid Build Coastguard Worker  ]
530*6777b538SAndroid Build Coastguard Worker  deps += cronet_impl_native_java_deps_to_package
531*6777b538SAndroid Build Coastguard Worker
532*6777b538SAndroid Build Coastguard Worker  srcjar_deps = cronet_impl_native_java_srcjar_deps
533*6777b538SAndroid Build Coastguard Worker  srcjar_deps += [ ":cronet_jni_headers" ]
534*6777b538SAndroid Build Coastguard Worker  proguard_configs =
535*6777b538SAndroid Build Coastguard Worker      [ "//components/cronet/android/cronet_impl_native_proguard.cfg" ]
536*6777b538SAndroid Build Coastguard Worker}
537*6777b538SAndroid Build Coastguard Worker
538*6777b538SAndroid Build Coastguard Worker# httpengine_native_provider_java.jar - native implementation of Cronet engine
539*6777b538SAndroid Build Coastguard Worker# loaded from AOSP (only for Android U onwards)
540*6777b538SAndroid Build Coastguard Workerandroid_library("httpengine_native_provider_java") {
541*6777b538SAndroid Build Coastguard Worker  sources = [
542*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidBidirectionalStreamBuilderWrapper.java",
543*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidBidirectionalStreamCallbackWrapper.java",
544*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidBidirectionalStreamWrapper.java",
545*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidCallbackExceptionWrapper.java",
546*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidHeaderBlockWrapper.java",
547*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidHttpEngineBuilderWrapper.java",
548*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidHttpEngineWrapper.java",
549*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidHttpExceptionWrapper.java",
550*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidNetworkExceptionWrapper.java",
551*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidQuicExceptionWrapper.java",
552*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidUploadDataProviderWrapper.java",
553*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidUploadDataSinkWrapper.java",
554*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidUrlRequestBuilderWrapper.java",
555*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidUrlRequestCallbackWrapper.java",
556*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidUrlRequestStatusListenerWrapper.java",
557*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidUrlRequestWrapper.java",
558*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/AndroidUrlResponseInfoWrapper.java",
559*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/CronetExceptionTranslationUtils.java",
560*6777b538SAndroid Build Coastguard Worker    "java/src/org/chromium/net/impl/HttpEngineNativeProvider.java",
561*6777b538SAndroid Build Coastguard Worker  ]
562*6777b538SAndroid Build Coastguard Worker
563*6777b538SAndroid Build Coastguard Worker  deps = [
564*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
565*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_common_java",
566*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
567*6777b538SAndroid Build Coastguard Worker    "//build/android:build_java",
568*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
569*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_core_core_java",
570*6777b538SAndroid Build Coastguard Worker    "//third_party/jni_zero:jni_zero_java",
571*6777b538SAndroid Build Coastguard Worker  ]
572*6777b538SAndroid Build Coastguard Worker}
573*6777b538SAndroid Build Coastguard Worker
574*6777b538SAndroid Build Coastguard Worker# Groups all Cronet code (API and impl) into a single Java dependency.
575*6777b538SAndroid Build Coastguard Workerjava_group("cronet_all_java") {
576*6777b538SAndroid Build Coastguard Worker  deps = [
577*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
578*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_common_java",
579*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_native_java",
580*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_platform_java",
581*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
582*6777b538SAndroid Build Coastguard Worker    ":httpengine_native_provider_java",
583*6777b538SAndroid Build Coastguard Worker  ]
584*6777b538SAndroid Build Coastguard Worker}
585*6777b538SAndroid Build Coastguard Worker
586*6777b538SAndroid Build Coastguard Workerandroid_resources("cronet_sample_apk_resources") {
587*6777b538SAndroid Build Coastguard Worker  sources = [
588*6777b538SAndroid Build Coastguard Worker    "sample/res/drawable/ic_action_home.xml",
589*6777b538SAndroid Build Coastguard Worker    "sample/res/drawable/ic_flag.xml",
590*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/main_activity.xml",
591*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/main_fragment.xml",
592*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/options_fragment.xml",
593*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/toggle_view.xml",
594*6777b538SAndroid Build Coastguard Worker    "sample/res/values/colors.xml",
595*6777b538SAndroid Build Coastguard Worker    "sample/res/values/dimens.xml",
596*6777b538SAndroid Build Coastguard Worker    "sample/res/values/strings.xml",
597*6777b538SAndroid Build Coastguard Worker    "sample/res/values/styles.xml",
598*6777b538SAndroid Build Coastguard Worker  ]
599*6777b538SAndroid Build Coastguard Worker  android_manifest = "sample/AndroidManifest.xml"
600*6777b538SAndroid Build Coastguard Worker  deps = [
601*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_appcompat_appcompat_java",
602*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_appcompat_appcompat_resources_java",
603*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_drawerlayout_drawerlayout_java",
604*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_fragment_fragment_java",
605*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_interpolator_interpolator_java",
606*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_lifecycle_lifecycle_common_java",
607*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_vectordrawable_vectordrawable_animated_java",
608*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_vectordrawable_vectordrawable_java",
609*6777b538SAndroid Build Coastguard Worker  ]
610*6777b538SAndroid Build Coastguard Worker}
611*6777b538SAndroid Build Coastguard Worker
612*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_sample_apk_java") {
613*6777b538SAndroid Build Coastguard Worker  sources = [
614*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/Action.java",
615*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/ActionData.java",
616*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/CronetSampleActivity.java",
617*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/CronetSampleApplication.java",
618*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/MainFragment.java",
619*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/Options.java",
620*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/OptionsFragment.java",
621*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/OptionsRecyclerViewAdapter.java",
622*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/SampleActivityViewModel.java",
623*6777b538SAndroid Build Coastguard Worker  ]
624*6777b538SAndroid Build Coastguard Worker
625*6777b538SAndroid Build Coastguard Worker  resources_package = "org.chromium.cronet_sample_apk"
626*6777b538SAndroid Build Coastguard Worker  deps = [
627*6777b538SAndroid Build Coastguard Worker    ":cronet_sample_apk_resources",
628*6777b538SAndroid Build Coastguard Worker    ":package_api_java",
629*6777b538SAndroid Build Coastguard Worker    ":package_impl_native_java",
630*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_experimental_java",
631*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
632*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_appcompat_appcompat_java",
633*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_fragment_fragment_java",
634*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_lifecycle_lifecycle_viewmodel_java",
635*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_preference_preference_java",
636*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_recyclerview_recyclerview_java",
637*6777b538SAndroid Build Coastguard Worker  ]
638*6777b538SAndroid Build Coastguard Worker}
639*6777b538SAndroid Build Coastguard Worker
640*6777b538SAndroid Build Coastguard Workerandroid_apk("cronet_sample_apk") {
641*6777b538SAndroid Build Coastguard Worker  apk_name = "CronetSample"
642*6777b538SAndroid Build Coastguard Worker  android_manifest = "sample/AndroidManifest.xml"
643*6777b538SAndroid Build Coastguard Worker  shared_libraries = [ ":cronet" ]
644*6777b538SAndroid Build Coastguard Worker
645*6777b538SAndroid Build Coastguard Worker  deps = [
646*6777b538SAndroid Build Coastguard Worker    ":cronet_combine_proguard_flags",
647*6777b538SAndroid Build Coastguard Worker    ":cronet_sample_apk_java",
648*6777b538SAndroid Build Coastguard Worker    ":cronet_sample_apk_resources",
649*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:protobuf_lite_runtime_java",
650*6777b538SAndroid Build Coastguard Worker  ]
651*6777b538SAndroid Build Coastguard Worker
652*6777b538SAndroid Build Coastguard Worker  # Cronet jars will include this, so don't duplicate.
653*6777b538SAndroid Build Coastguard Worker  generate_buildconfig_java = false
654*6777b538SAndroid Build Coastguard Worker
655*6777b538SAndroid Build Coastguard Worker  if (!is_java_debug) {
656*6777b538SAndroid Build Coastguard Worker    proguard_enabled = true
657*6777b538SAndroid Build Coastguard Worker    proguard_configs = [
658*6777b538SAndroid Build Coastguard Worker      "$target_gen_dir/cronet_impl_native_proguard.cfg",
659*6777b538SAndroid Build Coastguard Worker      "cronet_impl_common_proguard.cfg",
660*6777b538SAndroid Build Coastguard Worker      "cronet_shared_proguard.cfg",
661*6777b538SAndroid Build Coastguard Worker    ]
662*6777b538SAndroid Build Coastguard Worker  }
663*6777b538SAndroid Build Coastguard Worker}
664*6777b538SAndroid Build Coastguard Worker
665*6777b538SAndroid Build Coastguard Workerandroid_resource_sizes_test("resource_sizes_cronet_sample_apk") {
666*6777b538SAndroid Build Coastguard Worker  apk_name = "CronetSample"
667*6777b538SAndroid Build Coastguard Worker  data_deps = [ ":cronet_sample_apk" ]
668*6777b538SAndroid Build Coastguard Worker}
669*6777b538SAndroid Build Coastguard Worker
670*6777b538SAndroid Build Coastguard Worker# TODO(b/313416274): Change the output name to something else
671*6777b538SAndroid Build Coastguard Worker# that doesn't actually exist.
672*6777b538SAndroid Build Coastguard Workeraction("cronet_combine_proguard_flags") {
673*6777b538SAndroid Build Coastguard Worker  script = "//components/cronet/tools/generate_proguard_file.py"
674*6777b538SAndroid Build Coastguard Worker
675*6777b538SAndroid Build Coastguard Worker  # This will combine all the proguard configs found through the
676*6777b538SAndroid Build Coastguard Worker  # transitive dependencies of those targets.
677*6777b538SAndroid Build Coastguard Worker  deps = [
678*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_registration_java",
679*6777b538SAndroid Build Coastguard Worker    ":repackage_api",
680*6777b538SAndroid Build Coastguard Worker    ":repackage_native_impl",
681*6777b538SAndroid Build Coastguard Worker  ]
682*6777b538SAndroid Build Coastguard Worker
683*6777b538SAndroid Build Coastguard Worker  # TODO(b/313416274): Change the output name to something else
684*6777b538SAndroid Build Coastguard Worker  # that doesn't actually exist.
685*6777b538SAndroid Build Coastguard Worker  outputs = [ "$target_gen_dir/cronet_impl_native_proguard.cfg" ]
686*6777b538SAndroid Build Coastguard Worker  sources = []
687*6777b538SAndroid Build Coastguard Worker  depfile = "$target_out_dir/$target_name.d"
688*6777b538SAndroid Build Coastguard Worker  _build_config_deps = []
689*6777b538SAndroid Build Coastguard Worker  foreach(dep, deps) {
690*6777b538SAndroid Build Coastguard Worker    _dep_label = get_label_info(dep, "label_no_toolchain")
691*6777b538SAndroid Build Coastguard Worker    _build_config_deps += [ "$_dep_label$build_config_target_suffix" ]
692*6777b538SAndroid Build Coastguard Worker    _dep_gen_dir = get_label_info(dep, "target_gen_dir")
693*6777b538SAndroid Build Coastguard Worker    _dep_name = get_label_info(dep, "name")
694*6777b538SAndroid Build Coastguard Worker    sources += [ "$_dep_gen_dir/$_dep_name.build_config.json" ]
695*6777b538SAndroid Build Coastguard Worker  }
696*6777b538SAndroid Build Coastguard Worker  deps += _build_config_deps
697*6777b538SAndroid Build Coastguard Worker  args = [
698*6777b538SAndroid Build Coastguard Worker           "--output_file",
699*6777b538SAndroid Build Coastguard Worker           rebase_path(outputs[0], root_build_dir),
700*6777b538SAndroid Build Coastguard Worker           "--dep_file",
701*6777b538SAndroid Build Coastguard Worker           rebase_path(depfile, root_build_dir),
702*6777b538SAndroid Build Coastguard Worker         ] + rebase_path(sources, root_build_dir)
703*6777b538SAndroid Build Coastguard Worker}
704*6777b538SAndroid Build Coastguard Worker
705*6777b538SAndroid Build Coastguard Workeraction("cronet_combined_proguard_flags_golden_test") {
706*6777b538SAndroid Build Coastguard Worker  script = "//components/cronet/tools/check_combined_proguard_file.py"
707*6777b538SAndroid Build Coastguard Worker  deps = [ ":cronet_combine_proguard_flags" ]
708*6777b538SAndroid Build Coastguard Worker  sources = [
709*6777b538SAndroid Build Coastguard Worker    "$target_gen_dir/cronet_impl_native_proguard.cfg",
710*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_combined_impl_native_proguard_golden.cfg",
711*6777b538SAndroid Build Coastguard Worker  ]
712*6777b538SAndroid Build Coastguard Worker  outputs = [ "$target_gen_dir/$target_name.stamp" ]
713*6777b538SAndroid Build Coastguard Worker  args = [
714*6777b538SAndroid Build Coastguard Worker    "--input_generated_file",
715*6777b538SAndroid Build Coastguard Worker    rebase_path(sources[0], root_build_dir),
716*6777b538SAndroid Build Coastguard Worker    "--input_golden_file",
717*6777b538SAndroid Build Coastguard Worker    rebase_path(sources[1], root_build_dir),
718*6777b538SAndroid Build Coastguard Worker    "--stamp",
719*6777b538SAndroid Build Coastguard Worker    rebase_path(outputs[0], root_build_dir),
720*6777b538SAndroid Build Coastguard Worker  ]
721*6777b538SAndroid Build Coastguard Worker}
722*6777b538SAndroid Build Coastguard Worker
723*6777b538SAndroid Build Coastguard Worker_package_dir = "$root_out_dir/cronet"
724*6777b538SAndroid Build Coastguard Worker
725*6777b538SAndroid Build Coastguard Worker# These package_* targets represent how Cronet is used in production code.
726*6777b538SAndroid Build Coastguard Worker# Using these targets is preferred to using the underlying targets like
727*6777b538SAndroid Build Coastguard Worker# :cronet_api_java or :cronet_all_java, as it better tests production
728*6777b538SAndroid Build Coastguard Worker# usage.
729*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("package_shared_java") {
730*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_shared_java.jar"
731*6777b538SAndroid Build Coastguard Worker  deps = [ ":repackage_shared" ]
732*6777b538SAndroid Build Coastguard Worker}
733*6777b538SAndroid Build Coastguard Worker
734*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("package_api_java") {
735*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_api.jar"
736*6777b538SAndroid Build Coastguard Worker  deps = [
737*6777b538SAndroid Build Coastguard Worker    ":package_shared_java",
738*6777b538SAndroid Build Coastguard Worker    ":repackage_api",
739*6777b538SAndroid Build Coastguard Worker  ]
740*6777b538SAndroid Build Coastguard Worker}
741*6777b538SAndroid Build Coastguard Worker
742*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("package_impl_common_java") {
743*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_common_java.jar"
744*6777b538SAndroid Build Coastguard Worker  deps = [
745*6777b538SAndroid Build Coastguard Worker    ":package_api_java",
746*6777b538SAndroid Build Coastguard Worker    ":package_shared_java",
747*6777b538SAndroid Build Coastguard Worker    ":repackage_impl_common",
748*6777b538SAndroid Build Coastguard Worker  ]
749*6777b538SAndroid Build Coastguard Worker}
750*6777b538SAndroid Build Coastguard Worker
751*6777b538SAndroid Build Coastguard Workerjava_prebuilt("package_impl_native_java") {
752*6777b538SAndroid Build Coastguard Worker  # This target is a java_prebuilt instead of a android_java_prebuilt so we
753*6777b538SAndroid Build Coastguard Worker  # don't filter out GEN_JNI which is part of jar_excluded_patterns in
754*6777b538SAndroid Build Coastguard Worker  # android_java_prebuilt.
755*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_native_java.jar"
756*6777b538SAndroid Build Coastguard Worker  supports_android = true
757*6777b538SAndroid Build Coastguard Worker  requires_android = true
758*6777b538SAndroid Build Coastguard Worker
759*6777b538SAndroid Build Coastguard Worker  # To avoid dual definition of classes some dependencies are added
760*6777b538SAndroid Build Coastguard Worker  # downstream (Maven deps, BUILD dependencies), and the bytecode check
761*6777b538SAndroid Build Coastguard Worker  # doesn't like that.
762*6777b538SAndroid Build Coastguard Worker  enable_bytecode_checks = false
763*6777b538SAndroid Build Coastguard Worker
764*6777b538SAndroid Build Coastguard Worker  deps = [
765*6777b538SAndroid Build Coastguard Worker    ":package_api_java",
766*6777b538SAndroid Build Coastguard Worker    ":package_impl_common_java",
767*6777b538SAndroid Build Coastguard Worker    ":package_shared_java",
768*6777b538SAndroid Build Coastguard Worker    ":repackage_native",
769*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:com_google_code_findbugs_jsr305_java",
770*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_drawerlayout_drawerlayout_java",
771*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_interpolator_interpolator_java",
772*6777b538SAndroid Build Coastguard Worker  ]
773*6777b538SAndroid Build Coastguard Worker  jar_excluded_patterns = [ "androidx/*/R*" ]
774*6777b538SAndroid Build Coastguard Worker}
775*6777b538SAndroid Build Coastguard Worker
776*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("package_impl_util_java") {
777*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_util_java.jar"
778*6777b538SAndroid Build Coastguard Worker  deps = [
779*6777b538SAndroid Build Coastguard Worker    ":package_api_java",
780*6777b538SAndroid Build Coastguard Worker    ":repackage_util",
781*6777b538SAndroid Build Coastguard Worker  ]
782*6777b538SAndroid Build Coastguard Worker}
783*6777b538SAndroid Build Coastguard Worker
784*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("package_impl_platform_java") {
785*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_platform_java.jar"
786*6777b538SAndroid Build Coastguard Worker  deps = [
787*6777b538SAndroid Build Coastguard Worker    ":package_api_java",
788*6777b538SAndroid Build Coastguard Worker    ":package_impl_common_java",
789*6777b538SAndroid Build Coastguard Worker    ":package_shared_java",
790*6777b538SAndroid Build Coastguard Worker    ":repackage_platform",
791*6777b538SAndroid Build Coastguard Worker  ]
792*6777b538SAndroid Build Coastguard Worker}
793*6777b538SAndroid Build Coastguard Worker
794*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("package_impl_fake_java") {
795*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_fake_java.jar"
796*6777b538SAndroid Build Coastguard Worker  deps = [
797*6777b538SAndroid Build Coastguard Worker    ":package_api_java",
798*6777b538SAndroid Build Coastguard Worker    ":package_impl_common_java",
799*6777b538SAndroid Build Coastguard Worker    ":package_shared_java",
800*6777b538SAndroid Build Coastguard Worker    ":repackage_fake",
801*6777b538SAndroid Build Coastguard Worker  ]
802*6777b538SAndroid Build Coastguard Worker}
803*6777b538SAndroid Build Coastguard Worker
804*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("package_httpengine_native_provider_java") {
805*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/httpengine_native_provider_java.jar"
806*6777b538SAndroid Build Coastguard Worker  deps = [
807*6777b538SAndroid Build Coastguard Worker    ":package_api_java",
808*6777b538SAndroid Build Coastguard Worker    ":repackage_httpengine_native_provider",
809*6777b538SAndroid Build Coastguard Worker  ]
810*6777b538SAndroid Build Coastguard Worker}
811*6777b538SAndroid Build Coastguard Worker
812*6777b538SAndroid Build Coastguard Workertemplate("jar_src") {
813*6777b538SAndroid Build Coastguard Worker  action_with_pydeps(target_name) {
814*6777b538SAndroid Build Coastguard Worker    _rebased_src_search_dirs =
815*6777b538SAndroid Build Coastguard Worker        rebase_path(invoker.src_search_dirs, root_build_dir)
816*6777b538SAndroid Build Coastguard Worker
817*6777b538SAndroid Build Coastguard Worker    script = "//components/cronet/tools/jar_src.py"
818*6777b538SAndroid Build Coastguard Worker    depfile = "$target_gen_dir/$target_name.d"
819*6777b538SAndroid Build Coastguard Worker    outputs = [ invoker.jar_path ]
820*6777b538SAndroid Build Coastguard Worker    args = [
821*6777b538SAndroid Build Coastguard Worker      "--src-search-dirs=${_rebased_src_search_dirs}",
822*6777b538SAndroid Build Coastguard Worker      "--jar-path",
823*6777b538SAndroid Build Coastguard Worker      rebase_path(invoker.jar_path, root_build_dir),
824*6777b538SAndroid Build Coastguard Worker      "--depfile",
825*6777b538SAndroid Build Coastguard Worker      rebase_path(depfile, root_build_dir),
826*6777b538SAndroid Build Coastguard Worker    ]
827*6777b538SAndroid Build Coastguard Worker
828*6777b538SAndroid Build Coastguard Worker    deps = []
829*6777b538SAndroid Build Coastguard Worker    if (defined(invoker.deps)) {
830*6777b538SAndroid Build Coastguard Worker      deps += invoker.deps
831*6777b538SAndroid Build Coastguard Worker    }
832*6777b538SAndroid Build Coastguard Worker
833*6777b538SAndroid Build Coastguard Worker    _excluded_patterns = []
834*6777b538SAndroid Build Coastguard Worker    if (defined(invoker.excluded_patterns)) {
835*6777b538SAndroid Build Coastguard Worker      _excluded_patterns = invoker.excluded_patterns
836*6777b538SAndroid Build Coastguard Worker    }
837*6777b538SAndroid Build Coastguard Worker    _src_jars = []
838*6777b538SAndroid Build Coastguard Worker
839*6777b538SAndroid Build Coastguard Worker    # Add src-jar files that are listed in "src_jars".
840*6777b538SAndroid Build Coastguard Worker    if (defined(invoker.src_jars)) {
841*6777b538SAndroid Build Coastguard Worker      _rebased_src_jars = rebase_path(invoker.src_jars, root_build_dir)
842*6777b538SAndroid Build Coastguard Worker      _src_jars += _rebased_src_jars
843*6777b538SAndroid Build Coastguard Worker    }
844*6777b538SAndroid Build Coastguard Worker
845*6777b538SAndroid Build Coastguard Worker    # Add src-jar files that are generated by dependencies in "srcjar_deps".
846*6777b538SAndroid Build Coastguard Worker    if (defined(invoker.srcjar_deps)) {
847*6777b538SAndroid Build Coastguard Worker      foreach(_srcjar_dep, invoker.srcjar_deps) {
848*6777b538SAndroid Build Coastguard Worker        _dep_gen_dir = get_label_info(_srcjar_dep, "target_gen_dir")
849*6777b538SAndroid Build Coastguard Worker        _dep_name = get_label_info(_srcjar_dep, "name")
850*6777b538SAndroid Build Coastguard Worker        _src_jars += rebase_path([ "$_dep_gen_dir/$_dep_name.srcjar" ])
851*6777b538SAndroid Build Coastguard Worker        deps += [ _srcjar_dep ]
852*6777b538SAndroid Build Coastguard Worker      }
853*6777b538SAndroid Build Coastguard Worker    }
854*6777b538SAndroid Build Coastguard Worker
855*6777b538SAndroid Build Coastguard Worker    # Create the list of all source files that are given in "src_files".
856*6777b538SAndroid Build Coastguard Worker    _src_files = []
857*6777b538SAndroid Build Coastguard Worker    if (defined(invoker.src_files)) {
858*6777b538SAndroid Build Coastguard Worker      _src_files += invoker.src_files
859*6777b538SAndroid Build Coastguard Worker    }
860*6777b538SAndroid Build Coastguard Worker
861*6777b538SAndroid Build Coastguard Worker    # Handle "source_deps".
862*6777b538SAndroid Build Coastguard Worker    _src_list_files = []
863*6777b538SAndroid Build Coastguard Worker    if (defined(invoker.source_deps)) {
864*6777b538SAndroid Build Coastguard Worker      foreach(_source_dep, invoker.source_deps) {
865*6777b538SAndroid Build Coastguard Worker        _dep_gen_dir = get_label_info(_source_dep, "target_gen_dir")
866*6777b538SAndroid Build Coastguard Worker        _dep_name = get_label_info(_source_dep, "name")
867*6777b538SAndroid Build Coastguard Worker        _src_list_files += rebase_path([ "$_dep_gen_dir/$_dep_name.sources" ])
868*6777b538SAndroid Build Coastguard Worker        deps += [ _source_dep ]
869*6777b538SAndroid Build Coastguard Worker      }
870*6777b538SAndroid Build Coastguard Worker    }
871*6777b538SAndroid Build Coastguard Worker    args += [ "--src-jar=${_src_jars}" ]
872*6777b538SAndroid Build Coastguard Worker    args += [ "--src-files=${_src_files}" ]
873*6777b538SAndroid Build Coastguard Worker    args += [ "--src-list-files=${_src_list_files}" ]
874*6777b538SAndroid Build Coastguard Worker    args += [ "--excluded-classes=$_excluded_patterns" ]
875*6777b538SAndroid Build Coastguard Worker
876*6777b538SAndroid Build Coastguard Worker    inputs = _src_jars
877*6777b538SAndroid Build Coastguard Worker    inputs += _src_files
878*6777b538SAndroid Build Coastguard Worker    inputs += _src_list_files
879*6777b538SAndroid Build Coastguard Worker  }
880*6777b538SAndroid Build Coastguard Worker}
881*6777b538SAndroid Build Coastguard Worker
882*6777b538SAndroid Build Coastguard Workerjar_src("jar_cronet_shared_source") {
883*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [ "java/src" ]
884*6777b538SAndroid Build Coastguard Worker  source_deps = [ ":cronet_shared_java" ]
885*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_shared-src.jar"
886*6777b538SAndroid Build Coastguard Worker}
887*6777b538SAndroid Build Coastguard Worker
888*6777b538SAndroid Build Coastguard Workerjar_src("jar_cronet_api_source") {
889*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [
890*6777b538SAndroid Build Coastguard Worker    "api/src",
891*6777b538SAndroid Build Coastguard Worker    _templates_dir,
892*6777b538SAndroid Build Coastguard Worker  ]
893*6777b538SAndroid Build Coastguard Worker  source_deps = [ ":cronet_api_java" ]
894*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_api-src.jar"
895*6777b538SAndroid Build Coastguard Worker}
896*6777b538SAndroid Build Coastguard Worker
897*6777b538SAndroid Build Coastguard Workerjar_src("jar_cronet_impl_common_java_source") {
898*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [
899*6777b538SAndroid Build Coastguard Worker    "java/src",
900*6777b538SAndroid Build Coastguard Worker    _templates_dir,
901*6777b538SAndroid Build Coastguard Worker  ]
902*6777b538SAndroid Build Coastguard Worker  source_deps = [ ":cronet_impl_common_java" ]
903*6777b538SAndroid Build Coastguard Worker  srcjar_deps = cronet_impl_common_java_srcjar_deps
904*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_common_java-src.jar"
905*6777b538SAndroid Build Coastguard Worker}
906*6777b538SAndroid Build Coastguard Worker
907*6777b538SAndroid Build Coastguard Workerjar_src("jar_cronet_impl_platform_java_source") {
908*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [ "java/src" ]
909*6777b538SAndroid Build Coastguard Worker  source_deps = [ ":cronet_impl_platform_java" ]
910*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_platform_java-src.jar"
911*6777b538SAndroid Build Coastguard Worker}
912*6777b538SAndroid Build Coastguard Worker
913*6777b538SAndroid Build Coastguard Workerjar_src("jar_cronet_impl_fake_java_source") {
914*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [ "fake/java" ]
915*6777b538SAndroid Build Coastguard Worker  source_deps = [ ":cronet_impl_fake_java" ]
916*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_fake_java-src.jar"
917*6777b538SAndroid Build Coastguard Worker}
918*6777b538SAndroid Build Coastguard Worker
919*6777b538SAndroid Build Coastguard Workerjar_src("jar_cronet_impl_util_java_source") {
920*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [ "java/src" ]
921*6777b538SAndroid Build Coastguard Worker  source_deps = [ ":cronet_impl_java_util_java" ]
922*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_util_java-src.jar"
923*6777b538SAndroid Build Coastguard Worker}
924*6777b538SAndroid Build Coastguard Worker
925*6777b538SAndroid Build Coastguard Workerjar_src("jar_httpengine_native_provider_java_source") {
926*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [ "java/src" ]
927*6777b538SAndroid Build Coastguard Worker  source_deps = [ ":httpengine_native_provider_java" ]
928*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/httpengine_native_provider_java-src.jar"
929*6777b538SAndroid Build Coastguard Worker}
930*6777b538SAndroid Build Coastguard Worker
931*6777b538SAndroid Build Coastguard Worker# List of patterns of .class files to exclude from the jar.
932*6777b538SAndroid Build Coastguard Worker_jar_excluded_patterns = [
933*6777b538SAndroid Build Coastguard Worker  # Excludes Android support libraries crbug.com/832770.
934*6777b538SAndroid Build Coastguard Worker  "android/*",
935*6777b538SAndroid Build Coastguard Worker  "androidx/*",
936*6777b538SAndroid Build Coastguard Worker  "*/library_loader/*.class",
937*6777b538SAndroid Build Coastguard Worker  "*/multidex/*.class",
938*6777b538SAndroid Build Coastguard Worker  "*/process_launcher/*.class",
939*6777b538SAndroid Build Coastguard Worker  "*/SysUtils*.class",
940*6777b538SAndroid Build Coastguard Worker  "org/chromium/base/Feature*.class",
941*6777b538SAndroid Build Coastguard Worker  "org/chromium/base/jank_tracker/*.class",
942*6777b538SAndroid Build Coastguard Worker  "org/chromium/base/memory/MemoryPurgeManager*.class",
943*6777b538SAndroid Build Coastguard Worker  "org/chromium/base/memory/MemoryPressureMonitor*.class",
944*6777b538SAndroid Build Coastguard Worker]
945*6777b538SAndroid Build Coastguard Worker
946*6777b538SAndroid Build Coastguard Worker# Excluded from repackage_jars, but not from jar_src().
947*6777b538SAndroid Build Coastguard Worker_build_jar_excluded_patterns = [ "org/chromium/build/NativeLibraries.class" ]
948*6777b538SAndroid Build Coastguard Worker
949*6777b538SAndroid Build Coastguard Worker# See crbug.com/1401015 for more info on why GEN_JNI is excluded by default
950*6777b538SAndroid Build Coastguard Workertemplate("repackage_jars") {
951*6777b538SAndroid Build Coastguard Worker  _excludes = []
952*6777b538SAndroid Build Coastguard Worker  if (defined(invoker.jar_excluded_patterns)) {
953*6777b538SAndroid Build Coastguard Worker    _excludes += invoker.jar_excluded_patterns
954*6777b538SAndroid Build Coastguard Worker  }
955*6777b538SAndroid Build Coastguard Worker  if (!defined(invoker.remove_gen_jni) || invoker.remove_gen_jni) {
956*6777b538SAndroid Build Coastguard Worker    _excludes += [ "*/*GEN_JNI.class" ]
957*6777b538SAndroid Build Coastguard Worker  }
958*6777b538SAndroid Build Coastguard Worker  dist_jar(target_name) {
959*6777b538SAndroid Build Coastguard Worker    requires_android = true
960*6777b538SAndroid Build Coastguard Worker    direct_deps_only = true
961*6777b538SAndroid Build Coastguard Worker    use_unprocessed_jars = true
962*6777b538SAndroid Build Coastguard Worker    no_build_hooks = true
963*6777b538SAndroid Build Coastguard Worker    jar_excluded_patterns = _excludes
964*6777b538SAndroid Build Coastguard Worker    forward_variables_from(invoker, "*", [ "jar_excluded_patterns" ])
965*6777b538SAndroid Build Coastguard Worker  }
966*6777b538SAndroid Build Coastguard Worker}
967*6777b538SAndroid Build Coastguard Worker
968*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_shared") {
969*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet_shared_java.jar"
970*6777b538SAndroid Build Coastguard Worker  deps = cronet_shared_java_deps_to_package + [ ":cronet_shared_java" ]
971*6777b538SAndroid Build Coastguard Worker}
972*6777b538SAndroid Build Coastguard Worker
973*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_api") {
974*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet_api.jar"
975*6777b538SAndroid Build Coastguard Worker  deps = [
976*6777b538SAndroid Build Coastguard Worker    ":cronet_api_helpers_java",
977*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
978*6777b538SAndroid Build Coastguard Worker  ]
979*6777b538SAndroid Build Coastguard Worker}
980*6777b538SAndroid Build Coastguard Worker
981*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_platform") {
982*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet_impl_platform_java.jar"
983*6777b538SAndroid Build Coastguard Worker  deps = [ ":cronet_impl_platform_java" ]
984*6777b538SAndroid Build Coastguard Worker}
985*6777b538SAndroid Build Coastguard Worker
986*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_fake") {
987*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet_impl_fake_java.jar"
988*6777b538SAndroid Build Coastguard Worker  deps = [ ":cronet_impl_fake_java" ]
989*6777b538SAndroid Build Coastguard Worker}
990*6777b538SAndroid Build Coastguard Worker
991*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_util") {
992*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet_impl_util_java.jar"
993*6777b538SAndroid Build Coastguard Worker  deps = [ ":cronet_impl_java_util_java" ]
994*6777b538SAndroid Build Coastguard Worker}
995*6777b538SAndroid Build Coastguard Worker
996*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_httpengine_native_provider") {
997*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/httpengine_native_provider_java.jar"
998*6777b538SAndroid Build Coastguard Worker  deps = [ ":httpengine_native_provider_java" ]
999*6777b538SAndroid Build Coastguard Worker}
1000*6777b538SAndroid Build Coastguard Worker
1001*6777b538SAndroid Build Coastguard Worker# See crbug.com/1005836 for more info on why repackage_native requires 2 extra
1002*6777b538SAndroid Build Coastguard Worker# targets. These 3 targets exist to ensure the correct version of GEN_JNI
1003*6777b538SAndroid Build Coastguard Worker# (a generated class containing native method definitions) is included.
1004*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_native") {
1005*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet_impl_native_java.jar"
1006*6777b538SAndroid Build Coastguard Worker  deps = [
1007*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_registration_java",
1008*6777b538SAndroid Build Coastguard Worker    ":repackage_native_java",
1009*6777b538SAndroid Build Coastguard Worker  ]
1010*6777b538SAndroid Build Coastguard Worker  remove_gen_jni = false
1011*6777b538SAndroid Build Coastguard Worker  jar_excluded_patterns = _jar_excluded_patterns + _build_jar_excluded_patterns
1012*6777b538SAndroid Build Coastguard Worker}
1013*6777b538SAndroid Build Coastguard Worker
1014*6777b538SAndroid Build Coastguard Worker_native_intermediate_jar_path = "$target_out_dir/repackage_native_impl.jar"
1015*6777b538SAndroid Build Coastguard Worker
1016*6777b538SAndroid Build Coastguard Worker# Do not depend on this target directly. Use :repackage_native.
1017*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_native_impl") {
1018*6777b538SAndroid Build Coastguard Worker  output = _native_intermediate_jar_path
1019*6777b538SAndroid Build Coastguard Worker  deps =
1020*6777b538SAndroid Build Coastguard Worker      cronet_impl_native_java_deps_to_package + [ ":cronet_impl_native_java" ]
1021*6777b538SAndroid Build Coastguard Worker  jar_excluded_patterns = _jar_excluded_patterns + _build_jar_excluded_patterns
1022*6777b538SAndroid Build Coastguard Worker}
1023*6777b538SAndroid Build Coastguard Worker
1024*6777b538SAndroid Build Coastguard Worker# Do not depend on this target directly. Use :repackage_native.
1025*6777b538SAndroid Build Coastguard Worker# This target exists to provide :repackage_native with a suitable target to
1026*6777b538SAndroid Build Coastguard Worker# depend on (since dist_aar only pulls in deps of type "java_library").
1027*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("repackage_native_java") {
1028*6777b538SAndroid Build Coastguard Worker  jar_path = _native_intermediate_jar_path
1029*6777b538SAndroid Build Coastguard Worker
1030*6777b538SAndroid Build Coastguard Worker  # Since only the unprocessed jar is used, no need to complete the bytecode
1031*6777b538SAndroid Build Coastguard Worker  # processing step.
1032*6777b538SAndroid Build Coastguard Worker  enable_bytecode_checks = false
1033*6777b538SAndroid Build Coastguard Worker  deps = [ ":repackage_native_impl" ]
1034*6777b538SAndroid Build Coastguard Worker}
1035*6777b538SAndroid Build Coastguard Worker
1036*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_impl_common") {
1037*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet_impl_common_java.jar"
1038*6777b538SAndroid Build Coastguard Worker  deps = cronet_impl_common_java_deps_to_package + [
1039*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_common_java",
1040*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_java_util_java",
1041*6777b538SAndroid Build Coastguard Worker         ]
1042*6777b538SAndroid Build Coastguard Worker}
1043*6777b538SAndroid Build Coastguard Worker
1044*6777b538SAndroid Build Coastguard Worker_cronet_shared_lib_file_name = "lib" + _cronet_shared_lib_name + ".so"
1045*6777b538SAndroid Build Coastguard Worker
1046*6777b538SAndroid Build Coastguard Workerinstrumentation_test_apk("cronet_sample_test_apk") {
1047*6777b538SAndroid Build Coastguard Worker  apk_name = "CronetSampleTest"
1048*6777b538SAndroid Build Coastguard Worker  apk_under_test = ":cronet_sample_apk"
1049*6777b538SAndroid Build Coastguard Worker  android_manifest = "sample/javatests/AndroidManifest.xml"
1050*6777b538SAndroid Build Coastguard Worker  sources = [
1051*6777b538SAndroid Build Coastguard Worker    "sample/javatests/src/org/chromium/cronet_sample_apk/CronetSampleTest.java",
1052*6777b538SAndroid Build Coastguard Worker  ]
1053*6777b538SAndroid Build Coastguard Worker  deps = [
1054*6777b538SAndroid Build Coastguard Worker    ":cronet_sample_apk_java",
1055*6777b538SAndroid Build Coastguard Worker    ":package_impl_common_java",
1056*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:com_googlecode_java_diff_utils_diffutils_java",
1057*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:espresso_java",
1058*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_test_monitor_java",
1059*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_test_rules_java",
1060*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_test_runner_java",
1061*6777b538SAndroid Build Coastguard Worker    "//third_party/google-truth:google_truth_java",
1062*6777b538SAndroid Build Coastguard Worker    "//third_party/junit",
1063*6777b538SAndroid Build Coastguard Worker  ]
1064*6777b538SAndroid Build Coastguard Worker
1065*6777b538SAndroid Build Coastguard Worker  if (!is_java_debug) {
1066*6777b538SAndroid Build Coastguard Worker    proguard_enabled = true
1067*6777b538SAndroid Build Coastguard Worker    proguard_configs = [ "sample/javatests/proguard.cfg" ]
1068*6777b538SAndroid Build Coastguard Worker  }
1069*6777b538SAndroid Build Coastguard Worker}
1070*6777b538SAndroid Build Coastguard Worker
1071*6777b538SAndroid Build Coastguard Workershared_library("cronet_tests") {
1072*6777b538SAndroid Build Coastguard Worker  testonly = true
1073*6777b538SAndroid Build Coastguard Worker  assert_no_deps = [ ":cronet_static" ]
1074*6777b538SAndroid Build Coastguard Worker  sources = [
1075*6777b538SAndroid Build Coastguard Worker    # While "cronet_tests" cannot depend on "cronet_static", and hence cannot
1076*6777b538SAndroid Build Coastguard Worker    # call any Cronet functions, it can access fields of Cronet objects, so add
1077*6777b538SAndroid Build Coastguard Worker    # Cronet header files to facilitate accessing these fields.
1078*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_context_adapter.h",
1079*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/cronet_url_request_adapter.h",
1080*6777b538SAndroid Build Coastguard Worker    "//components/cronet/cronet_url_request.h",
1081*6777b538SAndroid Build Coastguard Worker    "//components/cronet/url_request_context_config.h",
1082*6777b538SAndroid Build Coastguard Worker    "test/cronet_test_jni.cc",
1083*6777b538SAndroid Build Coastguard Worker    "test/cronet_test_util.cc",
1084*6777b538SAndroid Build Coastguard Worker    "test/cronet_test_util.h",
1085*6777b538SAndroid Build Coastguard Worker    "test/cronet_url_request_context_config_test.cc",
1086*6777b538SAndroid Build Coastguard Worker    "test/cronet_url_request_context_config_test.h",
1087*6777b538SAndroid Build Coastguard Worker    "test/cronet_url_request_test.cc",
1088*6777b538SAndroid Build Coastguard Worker    "test/experimental_options_test.cc",
1089*6777b538SAndroid Build Coastguard Worker    "test/mock_cert_verifier.cc",
1090*6777b538SAndroid Build Coastguard Worker    "test/mock_url_request_job_factory.cc",
1091*6777b538SAndroid Build Coastguard Worker    "test/native_test_server.cc",
1092*6777b538SAndroid Build Coastguard Worker    "test/quic_test_server.cc",
1093*6777b538SAndroid Build Coastguard Worker    "test/test_upload_data_stream_handler.cc",
1094*6777b538SAndroid Build Coastguard Worker    "test/test_upload_data_stream_handler.h",
1095*6777b538SAndroid Build Coastguard Worker    "test/url_request_intercepting_job_factory.cc",
1096*6777b538SAndroid Build Coastguard Worker    "test/url_request_intercepting_job_factory.h",
1097*6777b538SAndroid Build Coastguard Worker  ]
1098*6777b538SAndroid Build Coastguard Worker
1099*6777b538SAndroid Build Coastguard Worker  deps = [
1100*6777b538SAndroid Build Coastguard Worker    ":cronet_test_apk_jni",
1101*6777b538SAndroid Build Coastguard Worker    ":cronet_tests_jni_headers",
1102*6777b538SAndroid Build Coastguard Worker    "//base",
1103*6777b538SAndroid Build Coastguard Worker    "//base:i18n",
1104*6777b538SAndroid Build Coastguard Worker    "//base/test:test_support",
1105*6777b538SAndroid Build Coastguard Worker    "//components/cronet:cronet_common",
1106*6777b538SAndroid Build Coastguard Worker    "//components/cronet:cronet_version_header",
1107*6777b538SAndroid Build Coastguard Worker    "//components/cronet/testing:test_support",
1108*6777b538SAndroid Build Coastguard Worker    "//components/prefs",
1109*6777b538SAndroid Build Coastguard Worker    "//net",
1110*6777b538SAndroid Build Coastguard Worker    "//net:simple_quic_tools",
1111*6777b538SAndroid Build Coastguard Worker    "//net:test_support",
1112*6777b538SAndroid Build Coastguard Worker    "//third_party/icu",
1113*6777b538SAndroid Build Coastguard Worker  ]
1114*6777b538SAndroid Build Coastguard Worker
1115*6777b538SAndroid Build Coastguard Worker  include_dirs = [ _cronet_version_header_include_dir ]
1116*6777b538SAndroid Build Coastguard Worker
1117*6777b538SAndroid Build Coastguard Worker  configs -= [ "//build/config/android:hide_all_but_jni_onload" ]
1118*6777b538SAndroid Build Coastguard Worker  configs += [ "//build/config/android:hide_all_but_jni" ]
1119*6777b538SAndroid Build Coastguard Worker}
1120*6777b538SAndroid Build Coastguard Worker
1121*6777b538SAndroid Build Coastguard Workerandroid_resources("cronet_test_apk_resources") {
1122*6777b538SAndroid Build Coastguard Worker  testonly = true
1123*6777b538SAndroid Build Coastguard Worker  sources = [
1124*6777b538SAndroid Build Coastguard Worker    # TODO(crbug.com/40283951): Modify quicroot.pem to become a build time copy of
1125*6777b538SAndroid Build Coastguard Worker    # net/data/ssl/certificates/cronet-quic-chain.pem.
1126*6777b538SAndroid Build Coastguard Worker    "test/res/raw/quicroot.pem",
1127*6777b538SAndroid Build Coastguard Worker    "test/res/values/cronet-test-rule-configuration.xml",
1128*6777b538SAndroid Build Coastguard Worker    "test/res/values/strings.xml",
1129*6777b538SAndroid Build Coastguard Worker    "test/res/xml/network_security_config.xml",
1130*6777b538SAndroid Build Coastguard Worker  ]
1131*6777b538SAndroid Build Coastguard Worker}
1132*6777b538SAndroid Build Coastguard Worker
1133*6777b538SAndroid Build Coastguard Workergenerate_jni("cronet_test_apk_jni") {
1134*6777b538SAndroid Build Coastguard Worker  testonly = true
1135*6777b538SAndroid Build Coastguard Worker  sources = [
1136*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/CronetTestUtil.java",
1137*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/MockCertVerifier.java",
1138*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/MockUrlRequestJobFactory.java",
1139*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/NativeTestServer.java",
1140*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/QuicTestServer.java",
1141*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/TestUploadDataStreamHandler.java",
1142*6777b538SAndroid Build Coastguard Worker  ]
1143*6777b538SAndroid Build Coastguard Worker}
1144*6777b538SAndroid Build Coastguard Worker
1145*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_test_apk_java") {
1146*6777b538SAndroid Build Coastguard Worker  testonly = true
1147*6777b538SAndroid Build Coastguard Worker
1148*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [ ":cronet_test_apk_jni" ]
1149*6777b538SAndroid Build Coastguard Worker  sources = [
1150*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/CronetTestApplication.java",
1151*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/CronetTestUtil.java",
1152*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/Http2TestHandler.java",
1153*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/Http2TestServer.java",
1154*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/MockCertVerifier.java",
1155*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/MockUrlRequestJobFactory.java",
1156*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/NativeTestServer.java",
1157*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/QuicTestServer.java",
1158*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/ReportingCollector.java",
1159*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/TestFilesInstaller.java",
1160*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/TestUploadDataStreamHandler.java",
1161*6777b538SAndroid Build Coastguard Worker    "test/src/org/chromium/net/truth/UrlResponseInfoSubject.java",
1162*6777b538SAndroid Build Coastguard Worker  ]
1163*6777b538SAndroid Build Coastguard Worker
1164*6777b538SAndroid Build Coastguard Worker  deps = [
1165*6777b538SAndroid Build Coastguard Worker    ":cronet_all_java",
1166*6777b538SAndroid Build Coastguard Worker    "//base:base_java",
1167*6777b538SAndroid Build Coastguard Worker    "//base:base_java_test_support",
1168*6777b538SAndroid Build Coastguard Worker    "//build/android:build_java",
1169*6777b538SAndroid Build Coastguard Worker    "//net/android:net_java_test_support",
1170*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
1171*6777b538SAndroid Build Coastguard Worker    "//third_party/google-truth:google_truth_java",
1172*6777b538SAndroid Build Coastguard Worker    "//third_party/jni_zero:jni_zero_java",
1173*6777b538SAndroid Build Coastguard Worker    "//third_party/junit",
1174*6777b538SAndroid Build Coastguard Worker    "//third_party/netty4:netty_all_java",
1175*6777b538SAndroid Build Coastguard Worker  ]
1176*6777b538SAndroid Build Coastguard Worker}
1177*6777b538SAndroid Build Coastguard Worker
1178*6777b538SAndroid Build Coastguard Workercronet_smoketests_platform_only_common_srcs = [
1179*6777b538SAndroid Build Coastguard Worker  "test/smoketests/src/org/chromium/net/smoke/ChromiumPlatformOnlyTestSupport.java",
1180*6777b538SAndroid Build Coastguard Worker  "test/smoketests/src/org/chromium/net/smoke/CronetSmokeTestRule.java",
1181*6777b538SAndroid Build Coastguard Worker  "test/smoketests/src/org/chromium/net/smoke/HttpTestServer.java",
1182*6777b538SAndroid Build Coastguard Worker  "test/smoketests/src/org/chromium/net/smoke/SmokeTestRequestCallback.java",
1183*6777b538SAndroid Build Coastguard Worker  "test/smoketests/src/org/chromium/net/smoke/TestSupport.java",
1184*6777b538SAndroid Build Coastguard Worker  "test/smoketests/src/org/chromium/net/smoke/CronetPlatformSmokeTestRule.java",
1185*6777b538SAndroid Build Coastguard Worker]
1186*6777b538SAndroid Build Coastguard Worker
1187*6777b538SAndroid Build Coastguard Workercronet_smoketests_native_common_srcs = cronet_smoketests_platform_only_common_srcs + [
1188*6777b538SAndroid Build Coastguard Worker                                         "test/smoketests/src/org/chromium/net/smoke/ChromiumNativeTestSupport.java",
1189*6777b538SAndroid Build Coastguard Worker                                         "test/smoketests/src/org/chromium/net/smoke/NativeCronetTestRule.java",
1190*6777b538SAndroid Build Coastguard Worker                                       ]
1191*6777b538SAndroid Build Coastguard Worker
1192*6777b538SAndroid Build Coastguard Workercronet_tests_androidx_common_srcs = [
1193*6777b538SAndroid Build Coastguard Worker  "//third_party/androidx:androidx_annotation_annotation_java",
1194*6777b538SAndroid Build Coastguard Worker  "//third_party/androidx:androidx_test_core_java",
1195*6777b538SAndroid Build Coastguard Worker  "//third_party/androidx:androidx_test_ext_junit_java",
1196*6777b538SAndroid Build Coastguard Worker  "//third_party/androidx:androidx_test_runner_java",
1197*6777b538SAndroid Build Coastguard Worker]
1198*6777b538SAndroid Build Coastguard Worker
1199*6777b538SAndroid Build Coastguard Worker# cronet_common_javatests.jar - Cronet Java test common files.
1200*6777b538SAndroid Build Coastguard Worker# TODO(crbug.com/40919033) - refactor to cronet_api only dependency
1201*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_common_javatests") {
1202*6777b538SAndroid Build Coastguard Worker  testonly = true
1203*6777b538SAndroid Build Coastguard Worker  sources = [
1204*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/ContextInterceptor.java",
1205*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetLoggerTestRule.java",
1206*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetTestRule.java",
1207*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/TestRequestFinishedListener.java",
1208*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/TestUploadDataProvider.java",
1209*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/TestUrlRequestCallback.java",
1210*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/httpflags/HttpFlagsInterceptor.java",
1211*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/impl/CronetManifestInterceptor.java",
1212*6777b538SAndroid Build Coastguard Worker  ]
1213*6777b538SAndroid Build Coastguard Worker  deps = [
1214*6777b538SAndroid Build Coastguard Worker           ":cronet_all_java",
1215*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_java",
1216*6777b538SAndroid Build Coastguard Worker           ":flags_java_proto",
1217*6777b538SAndroid Build Coastguard Worker           "//base:base_java",
1218*6777b538SAndroid Build Coastguard Worker           "//base:base_java_test_support",
1219*6777b538SAndroid Build Coastguard Worker           "//build/android:build_java",
1220*6777b538SAndroid Build Coastguard Worker           "//third_party/androidx:androidx_core_core_java",
1221*6777b538SAndroid Build Coastguard Worker           "//third_party/google-truth:google_truth_java",
1222*6777b538SAndroid Build Coastguard Worker           "//third_party/jni_zero:jni_zero_java",
1223*6777b538SAndroid Build Coastguard Worker           "//third_party/junit",
1224*6777b538SAndroid Build Coastguard Worker         ] + cronet_tests_androidx_common_srcs
1225*6777b538SAndroid Build Coastguard Worker}
1226*6777b538SAndroid Build Coastguard Worker
1227*6777b538SAndroid Build Coastguard Worker# cronet_fake_javatests.jar - Java tests for the fake implementation of Cronet.
1228*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_fake_javatests") {
1229*6777b538SAndroid Build Coastguard Worker  testonly = true
1230*6777b538SAndroid Build Coastguard Worker  sources = [
1231*6777b538SAndroid Build Coastguard Worker    "fake/javatests/org/chromium/net/test/FakeCronetControllerTest.java",
1232*6777b538SAndroid Build Coastguard Worker    "fake/javatests/org/chromium/net/test/FakeCronetEngineTest.java",
1233*6777b538SAndroid Build Coastguard Worker    "fake/javatests/org/chromium/net/test/FakeCronetProviderTest.java",
1234*6777b538SAndroid Build Coastguard Worker    "fake/javatests/org/chromium/net/test/FakeUrlRequestTest.java",
1235*6777b538SAndroid Build Coastguard Worker    "fake/javatests/org/chromium/net/test/FakeUrlResponseTest.java",
1236*6777b538SAndroid Build Coastguard Worker    "fake/javatests/org/chromium/net/test/UrlResponseMatcherTest.java",
1237*6777b538SAndroid Build Coastguard Worker  ]
1238*6777b538SAndroid Build Coastguard Worker
1239*6777b538SAndroid Build Coastguard Worker  deps = [
1240*6777b538SAndroid Build Coastguard Worker           ":cronet_api_helpers_java",
1241*6777b538SAndroid Build Coastguard Worker           ":cronet_api_java",
1242*6777b538SAndroid Build Coastguard Worker           ":cronet_common_javatests",
1243*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_common_java",
1244*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_fake_java",
1245*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_platform_java",
1246*6777b538SAndroid Build Coastguard Worker           ":cronet_shared_java",
1247*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_java",
1248*6777b538SAndroid Build Coastguard Worker           "//base:base_java_test_support",
1249*6777b538SAndroid Build Coastguard Worker           "//third_party/android_deps:guava_android_java",
1250*6777b538SAndroid Build Coastguard Worker           "//third_party/google-truth:google_truth_java",
1251*6777b538SAndroid Build Coastguard Worker           "//third_party/junit",
1252*6777b538SAndroid Build Coastguard Worker         ] + cronet_tests_androidx_common_srcs
1253*6777b538SAndroid Build Coastguard Worker}
1254*6777b538SAndroid Build Coastguard Worker
1255*6777b538SAndroid Build Coastguard Workercronet_javatests_deps_to_package = [
1256*6777b538SAndroid Build Coastguard Worker  ":cronet_common_javatests",
1257*6777b538SAndroid Build Coastguard Worker  ":cronet_test_apk_java",
1258*6777b538SAndroid Build Coastguard Worker  ":flags_java_proto",
1259*6777b538SAndroid Build Coastguard Worker  "//base:base_java",
1260*6777b538SAndroid Build Coastguard Worker  "//third_party/jni_zero:jni_zero_java",
1261*6777b538SAndroid Build Coastguard Worker  "//base:base_java_test_support",
1262*6777b538SAndroid Build Coastguard Worker
1263*6777b538SAndroid Build Coastguard Worker  "//net/android:embedded_test_server_aidl_java",
1264*6777b538SAndroid Build Coastguard Worker  "//net/android:net_java",
1265*6777b538SAndroid Build Coastguard Worker  "//net/android:net_java_test_support",
1266*6777b538SAndroid Build Coastguard Worker  "//url:url_java",
1267*6777b538SAndroid Build Coastguard Worker  "//third_party/androidx:androidx_annotation_annotation_experimental_java",
1268*6777b538SAndroid Build Coastguard Worker]
1269*6777b538SAndroid Build Coastguard Worker
1270*6777b538SAndroid Build Coastguard Workerif (!is_cronet_for_aosp_build) {
1271*6777b538SAndroid Build Coastguard Worker  # Don't bundle FakeCronetEngine or its tests for AOSP.
1272*6777b538SAndroid Build Coastguard Worker  cronet_javatests_deps_to_package += [ ":cronet_fake_javatests" ]
1273*6777b538SAndroid Build Coastguard Worker}
1274*6777b538SAndroid Build Coastguard Worker
1275*6777b538SAndroid Build Coastguard Workergenerate_jni("cronet_tests_jni_headers") {
1276*6777b538SAndroid Build Coastguard Worker  testonly = true
1277*6777b538SAndroid Build Coastguard Worker  sources = [
1278*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java",
1279*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetUrlRequestTest.java",
1280*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java",
1281*6777b538SAndroid Build Coastguard Worker  ]
1282*6777b538SAndroid Build Coastguard Worker}
1283*6777b538SAndroid Build Coastguard Worker
1284*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_javatests") {
1285*6777b538SAndroid Build Coastguard Worker  testonly = true
1286*6777b538SAndroid Build Coastguard Worker
1287*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [ ":cronet_tests_jni_headers" ]
1288*6777b538SAndroid Build Coastguard Worker  sources = [
1289*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/BidirectionalStreamQuicTest.java",
1290*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/BidirectionalStreamTest.java",
1291*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/BrotliTest.java",
1292*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/Criteria.java",
1293*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetEngineBuilderTest.java",
1294*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetOnboardingTest.java",
1295*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetStressTest.java",
1296*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetTestRuleTest.java",
1297*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetUploadTest.java",
1298*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetUrlRequestContextTest.java",
1299*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetUrlRequestHTTPSTest.java",
1300*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/CronetUrlRequestTest.java",
1301*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/DiskStorageTest.java",
1302*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/ExperimentalOptionsTest.java",
1303*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/ExperimentalOptionsTranslationTest.java",
1304*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/ExperimentalOptionsTranslationTestUtil.java",
1305*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/FileUtils.java",
1306*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/GetStatusTest.java",
1307*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/LogcatCapture.java",
1308*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/MetricsTestUtil.java",
1309*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/MockCertVerifierTest.java",
1310*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/NQETest.java",
1311*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/NetworkChangesTest.java",
1312*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/NetworkErrorLoggingTest.java",
1313*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/PkpTest.java",
1314*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/QuicTest.java",
1315*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/RequestFinishedInfoTest.java",
1316*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/TestBidirectionalStreamCallback.java",
1317*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/TestDrivenDataProvider.java",
1318*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/TestNetworkQualityRttListener.java",
1319*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/TestNetworkQualityThroughputListener.java",
1320*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/UrlResponseInfoTest.java",
1321*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/apihelpers/ContentTypeParametersParserTest.java",
1322*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/apihelpers/UploadDataProvidersTest.java",
1323*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/httpflags/BaseFeatureTest.java",
1324*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/httpflags/HttpFlagsLoaderTest.java",
1325*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/httpflags/ResolvedFlagsTest.java",
1326*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/impl/AndroidHttpEngineBuilderWrapperTest.java",
1327*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/impl/CronetLoggerTest.java",
1328*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/impl/CronetManifestTest.java",
1329*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/telemetry/CronetLoggerImplTest.java",
1330*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/telemetry/ExperimentalOptionsTest.java",
1331*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/telemetry/HashTest.java",
1332*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/telemetry/RateLimiterTest.java",
1333*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/telemetry/SizeBucketsTest.java",
1334*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/CronetBufferedOutputStreamTest.java",
1335*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/CronetChunkedOutputStreamTest.java",
1336*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/CronetFixedModeOutputStreamTest.java",
1337*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLConnectionTest.java",
1338*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/CronetHttpURLStreamHandlerTest.java",
1339*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/CronetInputStreamTest.java",
1340*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/CronetURLStreamHandlerFactoryTest.java",
1341*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/MessageLoopTest.java",
1342*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/QuicUploadTest.java",
1343*6777b538SAndroid Build Coastguard Worker    "test/javatests/src/org/chromium/net/urlconnection/TestUtil.java",
1344*6777b538SAndroid Build Coastguard Worker  ]
1345*6777b538SAndroid Build Coastguard Worker
1346*6777b538SAndroid Build Coastguard Worker  # Adding deps here won't include those deps in the cronet_tests_java.jar.
1347*6777b538SAndroid Build Coastguard Worker  # Please add to cronet_javatests_deps_to_package instead.
1348*6777b538SAndroid Build Coastguard Worker  deps = [
1349*6777b538SAndroid Build Coastguard Worker    ":cronet_all_java",
1350*6777b538SAndroid Build Coastguard Worker    ":cronet_api_helpers_java",
1351*6777b538SAndroid Build Coastguard Worker    ":cronet_urlconnection_impl_java",
1352*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:guava_android_java",
1353*6777b538SAndroid Build Coastguard Worker    "//third_party/android_deps:protobuf_lite_runtime_java",
1354*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_java",
1355*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_test_core_java",
1356*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_test_ext_junit_java",
1357*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_test_runner_java",
1358*6777b538SAndroid Build Coastguard Worker    "//third_party/google-truth:google_truth_java",
1359*6777b538SAndroid Build Coastguard Worker    "//third_party/hamcrest:hamcrest_core_java",
1360*6777b538SAndroid Build Coastguard Worker    "//third_party/junit",
1361*6777b538SAndroid Build Coastguard Worker    "//third_party/mockito:mockito_java",
1362*6777b538SAndroid Build Coastguard Worker  ]
1363*6777b538SAndroid Build Coastguard Worker  deps += cronet_javatests_deps_to_package
1364*6777b538SAndroid Build Coastguard Worker  data = [ "//components/cronet/testing/test_server/data/" ]
1365*6777b538SAndroid Build Coastguard Worker}
1366*6777b538SAndroid Build Coastguard Worker
1367*6777b538SAndroid Build Coastguard Workerinstrumentation_test_apk("cronet_test_instrumentation_apk") {
1368*6777b538SAndroid Build Coastguard Worker  # This is the only Cronet APK with lint enabled. This one was chosen because
1369*6777b538SAndroid Build Coastguard Worker  # it depends on basically all source files.
1370*6777b538SAndroid Build Coastguard Worker  enable_lint = true
1371*6777b538SAndroid Build Coastguard Worker  lint_baseline_file = "lint-baseline.xml"
1372*6777b538SAndroid Build Coastguard Worker  lint_suppressions_file = "lint-suppressions.xml"
1373*6777b538SAndroid Build Coastguard Worker
1374*6777b538SAndroid Build Coastguard Worker  lint_min_sdk_version = 21
1375*6777b538SAndroid Build Coastguard Worker
1376*6777b538SAndroid Build Coastguard Worker  apk_name = "CronetTestInstrumentation"
1377*6777b538SAndroid Build Coastguard Worker  android_manifest = "test/javatests/AndroidManifest.xml"
1378*6777b538SAndroid Build Coastguard Worker
1379*6777b538SAndroid Build Coastguard Worker  shared_libraries = [
1380*6777b538SAndroid Build Coastguard Worker    ":cronet",
1381*6777b538SAndroid Build Coastguard Worker    ":cronet_tests",
1382*6777b538SAndroid Build Coastguard Worker  ]
1383*6777b538SAndroid Build Coastguard Worker  loadable_modules = [ "$root_out_dir/libnetty-tcnative.so" ]
1384*6777b538SAndroid Build Coastguard Worker
1385*6777b538SAndroid Build Coastguard Worker  sources = cronet_smoketests_native_common_srcs + [
1386*6777b538SAndroid Build Coastguard Worker              "test/smoketests/src/org/chromium/net/smoke/Http2Test.java",
1387*6777b538SAndroid Build Coastguard Worker              "test/smoketests/src/org/chromium/net/smoke/QuicTest.java",
1388*6777b538SAndroid Build Coastguard Worker            ]
1389*6777b538SAndroid Build Coastguard Worker
1390*6777b538SAndroid Build Coastguard Worker  deps = [
1391*6777b538SAndroid Build Coastguard Worker           ":cronet_all_java",
1392*6777b538SAndroid Build Coastguard Worker           ":cronet_combine_proguard_flags",
1393*6777b538SAndroid Build Coastguard Worker           ":cronet_javatests",
1394*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_java",
1395*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_resources",
1396*6777b538SAndroid Build Coastguard Worker           "//base:base_java",
1397*6777b538SAndroid Build Coastguard Worker           "//base:base_java_test_support",
1398*6777b538SAndroid Build Coastguard Worker           "//build/android:build_java",
1399*6777b538SAndroid Build Coastguard Worker           "//net/android:net_java",
1400*6777b538SAndroid Build Coastguard Worker           "//net/android:net_java_test_support",
1401*6777b538SAndroid Build Coastguard Worker           "//third_party/android_sdk:android_test_mock_java",
1402*6777b538SAndroid Build Coastguard Worker           "//third_party/google-truth:google_truth_java",
1403*6777b538SAndroid Build Coastguard Worker           "//third_party/hamcrest:hamcrest_core_java",
1404*6777b538SAndroid Build Coastguard Worker           "//third_party/jni_zero:jni_zero_java",
1405*6777b538SAndroid Build Coastguard Worker           "//third_party/junit",
1406*6777b538SAndroid Build Coastguard Worker           "//third_party/netty-tcnative:netty-tcnative-so",
1407*6777b538SAndroid Build Coastguard Worker           "//third_party/netty4:netty_all_java",
1408*6777b538SAndroid Build Coastguard Worker         ] + cronet_tests_androidx_common_srcs
1409*6777b538SAndroid Build Coastguard Worker
1410*6777b538SAndroid Build Coastguard Worker  data_deps = [ "//net:test_support" ]
1411*6777b538SAndroid Build Coastguard Worker
1412*6777b538SAndroid Build Coastguard Worker  if (!is_java_debug) {
1413*6777b538SAndroid Build Coastguard Worker    proguard_enabled = true
1414*6777b538SAndroid Build Coastguard Worker
1415*6777b538SAndroid Build Coastguard Worker    proguard_configs = [
1416*6777b538SAndroid Build Coastguard Worker      "$target_gen_dir/cronet_impl_native_proguard.cfg",
1417*6777b538SAndroid Build Coastguard Worker      "cronet_shared_proguard.cfg",
1418*6777b538SAndroid Build Coastguard Worker      "cronet_impl_common_proguard.cfg",
1419*6777b538SAndroid Build Coastguard Worker      "cronet_impl_platform_proguard.cfg",
1420*6777b538SAndroid Build Coastguard Worker      "httpengine_native_provider_proguard.cfg",
1421*6777b538SAndroid Build Coastguard Worker      "test/proguard.cfg",
1422*6777b538SAndroid Build Coastguard Worker    ]
1423*6777b538SAndroid Build Coastguard Worker  }
1424*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [
1425*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_registration",
1426*6777b538SAndroid Build Coastguard Worker    ":cronet_tests_jni_registration",
1427*6777b538SAndroid Build Coastguard Worker  ]
1428*6777b538SAndroid Build Coastguard Worker}
1429*6777b538SAndroid Build Coastguard Worker
1430*6777b538SAndroid Build Coastguard Workerinstrumentation_test_apk(
1431*6777b538SAndroid Build Coastguard Worker    "cronet_smoketests_platform_only_instrumentation_apk") {
1432*6777b538SAndroid Build Coastguard Worker  apk_name = "PlatformOnlyEngineSmokeTestInstrumentation"
1433*6777b538SAndroid Build Coastguard Worker  android_manifest = "test/javatests/AndroidManifest.xml"
1434*6777b538SAndroid Build Coastguard Worker
1435*6777b538SAndroid Build Coastguard Worker  sources = cronet_smoketests_platform_only_common_srcs + [
1436*6777b538SAndroid Build Coastguard Worker              "test/smoketests/src/org/chromium/net/smoke/PlatformOnlyEngineTest.java",
1437*6777b538SAndroid Build Coastguard Worker              "test/src/org/chromium/net/CronetTestApplication.java",
1438*6777b538SAndroid Build Coastguard Worker              "test/src/org/chromium/net/truth/UrlResponseInfoSubject.java",
1439*6777b538SAndroid Build Coastguard Worker            ]
1440*6777b538SAndroid Build Coastguard Worker
1441*6777b538SAndroid Build Coastguard Worker  deps = [
1442*6777b538SAndroid Build Coastguard Worker           ":cronet_api_java",
1443*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_common_java",
1444*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_platform_java",
1445*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_resources",
1446*6777b538SAndroid Build Coastguard Worker           "//base:base_java_test_support",
1447*6777b538SAndroid Build Coastguard Worker           "//third_party/android_sdk:android_test_mock_java",
1448*6777b538SAndroid Build Coastguard Worker           "//third_party/google-truth:google_truth_java",
1449*6777b538SAndroid Build Coastguard Worker           "//third_party/junit",
1450*6777b538SAndroid Build Coastguard Worker           "//third_party/netty4:netty_all_java",
1451*6777b538SAndroid Build Coastguard Worker         ] + cronet_tests_androidx_common_srcs
1452*6777b538SAndroid Build Coastguard Worker
1453*6777b538SAndroid Build Coastguard Worker  if (!is_java_debug) {
1454*6777b538SAndroid Build Coastguard Worker    proguard_enabled = true
1455*6777b538SAndroid Build Coastguard Worker
1456*6777b538SAndroid Build Coastguard Worker    proguard_configs = [
1457*6777b538SAndroid Build Coastguard Worker      "cronet_impl_common_proguard.cfg",
1458*6777b538SAndroid Build Coastguard Worker      "cronet_impl_platform_proguard.cfg",
1459*6777b538SAndroid Build Coastguard Worker      "test/proguard.cfg",
1460*6777b538SAndroid Build Coastguard Worker    ]
1461*6777b538SAndroid Build Coastguard Worker  }
1462*6777b538SAndroid Build Coastguard Worker
1463*6777b538SAndroid Build Coastguard Worker  # There is no native in this apk. However, since we depend on //base, we
1464*6777b538SAndroid Build Coastguard Worker  # need something that provides a GEN_JNI, as //base uses GEN_JNI.
1465*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [ ":cronet_jni_registration" ]
1466*6777b538SAndroid Build Coastguard Worker}
1467*6777b538SAndroid Build Coastguard Worker
1468*6777b538SAndroid Build Coastguard Workerinstrumentation_test_apk(
1469*6777b538SAndroid Build Coastguard Worker    "cronet_smoketests_missing_native_library_instrumentation_apk") {
1470*6777b538SAndroid Build Coastguard Worker  apk_name = "MissingNativeLibrarySmokeTestInstrumentation"
1471*6777b538SAndroid Build Coastguard Worker  android_manifest = "test/javatests/AndroidManifest.xml"
1472*6777b538SAndroid Build Coastguard Worker
1473*6777b538SAndroid Build Coastguard Worker  sources = cronet_smoketests_native_common_srcs + [ "test/smoketests/src/org/chromium/net/smoke/MissingNativeLibraryTest.java" ]
1474*6777b538SAndroid Build Coastguard Worker  deps = [
1475*6777b538SAndroid Build Coastguard Worker           ":cronet_api_java",
1476*6777b538SAndroid Build Coastguard Worker           ":cronet_combine_proguard_flags",
1477*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_common_java",
1478*6777b538SAndroid Build Coastguard Worker           ":cronet_impl_platform_java",
1479*6777b538SAndroid Build Coastguard Worker           ":cronet_shared_java",
1480*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_java",
1481*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_resources",
1482*6777b538SAndroid Build Coastguard Worker           "//base:base_java",
1483*6777b538SAndroid Build Coastguard Worker           "//base:base_java_test_support",
1484*6777b538SAndroid Build Coastguard Worker           "//build/android:build_java",
1485*6777b538SAndroid Build Coastguard Worker           "//third_party/android_sdk:android_test_mock_java",
1486*6777b538SAndroid Build Coastguard Worker           "//third_party/google-truth:google_truth_java",
1487*6777b538SAndroid Build Coastguard Worker           "//third_party/jni_zero:jni_zero_java",
1488*6777b538SAndroid Build Coastguard Worker           "//third_party/junit",
1489*6777b538SAndroid Build Coastguard Worker           "//third_party/netty4:netty_all_java",
1490*6777b538SAndroid Build Coastguard Worker         ] + cronet_tests_androidx_common_srcs
1491*6777b538SAndroid Build Coastguard Worker
1492*6777b538SAndroid Build Coastguard Worker  if (!is_java_debug) {
1493*6777b538SAndroid Build Coastguard Worker    proguard_enabled = true
1494*6777b538SAndroid Build Coastguard Worker    proguard_configs = [
1495*6777b538SAndroid Build Coastguard Worker      "$target_gen_dir/cronet_impl_native_proguard.cfg",
1496*6777b538SAndroid Build Coastguard Worker      "cronet_shared_proguard.cfg",
1497*6777b538SAndroid Build Coastguard Worker      "cronet_impl_common_proguard.cfg",
1498*6777b538SAndroid Build Coastguard Worker      "cronet_impl_platform_proguard.cfg",
1499*6777b538SAndroid Build Coastguard Worker      "test/proguard.cfg",
1500*6777b538SAndroid Build Coastguard Worker    ]
1501*6777b538SAndroid Build Coastguard Worker  }
1502*6777b538SAndroid Build Coastguard Worker
1503*6777b538SAndroid Build Coastguard Worker  # There is no native in this apk. However, since we depend on //base, we
1504*6777b538SAndroid Build Coastguard Worker  # need something that provides a GEN_JNI, as //base uses GEN_JNI.
1505*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [ ":cronet_jni_registration" ]
1506*6777b538SAndroid Build Coastguard Worker}
1507*6777b538SAndroid Build Coastguard Worker
1508*6777b538SAndroid Build Coastguard Worker# The smoketests included in this test target are already included in
1509*6777b538SAndroid Build Coastguard Worker# cronet_test_instrumentation_apk, but they are proguarded here using
1510*6777b538SAndroid Build Coastguard Worker# the same proguard rules for which we release Cronet with. This is
1511*6777b538SAndroid Build Coastguard Worker# to ensure that any changes to the proguard does not break Cronet.
1512*6777b538SAndroid Build Coastguard Worker# Note: The proguard rules includes the test proguard configs as
1513*6777b538SAndroid Build Coastguard Worker# the build system automatically pulls in all transitive proguard
1514*6777b538SAndroid Build Coastguard Worker# configs that can be found through the dependency chain.
1515*6777b538SAndroid Build Coastguard Workerinstrumentation_test_apk("cronet_smoketests_apk") {
1516*6777b538SAndroid Build Coastguard Worker  apk_name = "CronetSmokeTestInstrumentation"
1517*6777b538SAndroid Build Coastguard Worker  android_manifest = "test/javatests/AndroidManifest.xml"
1518*6777b538SAndroid Build Coastguard Worker  shared_libraries = [
1519*6777b538SAndroid Build Coastguard Worker    ":cronet",
1520*6777b538SAndroid Build Coastguard Worker    ":cronet_tests",
1521*6777b538SAndroid Build Coastguard Worker  ]
1522*6777b538SAndroid Build Coastguard Worker  loadable_modules = [ "$root_out_dir/libnetty-tcnative.so" ]
1523*6777b538SAndroid Build Coastguard Worker  sources = cronet_smoketests_native_common_srcs + [
1524*6777b538SAndroid Build Coastguard Worker              "test/smoketests/src/org/chromium/net/smoke/Http2Test.java",
1525*6777b538SAndroid Build Coastguard Worker              "test/smoketests/src/org/chromium/net/smoke/QuicTest.java",
1526*6777b538SAndroid Build Coastguard Worker            ]
1527*6777b538SAndroid Build Coastguard Worker  deps = [
1528*6777b538SAndroid Build Coastguard Worker           ":cronet_api_java",
1529*6777b538SAndroid Build Coastguard Worker
1530*6777b538SAndroid Build Coastguard Worker           # cronet_test_apk_java pulls all implementation of Cronet along with their proguard cfgs.
1531*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_java",
1532*6777b538SAndroid Build Coastguard Worker           ":cronet_test_apk_resources",
1533*6777b538SAndroid Build Coastguard Worker           "//base:base_java",
1534*6777b538SAndroid Build Coastguard Worker           "//base:base_java_test_support",
1535*6777b538SAndroid Build Coastguard Worker           "//build/android:build_java",
1536*6777b538SAndroid Build Coastguard Worker           "//third_party/android_sdk:android_test_mock_java",
1537*6777b538SAndroid Build Coastguard Worker           "//third_party/google-truth:google_truth_java",
1538*6777b538SAndroid Build Coastguard Worker           "//third_party/junit",
1539*6777b538SAndroid Build Coastguard Worker           "//third_party/netty-tcnative:netty-tcnative-so",
1540*6777b538SAndroid Build Coastguard Worker           "//third_party/netty4:netty_all_java",
1541*6777b538SAndroid Build Coastguard Worker         ] + cronet_tests_androidx_common_srcs
1542*6777b538SAndroid Build Coastguard Worker
1543*6777b538SAndroid Build Coastguard Worker  proguard_enabled = true
1544*6777b538SAndroid Build Coastguard Worker  proguard_configs = [ "test/proguard.cfg" ]
1545*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [
1546*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_registration",
1547*6777b538SAndroid Build Coastguard Worker    ":cronet_tests_jni_registration",
1548*6777b538SAndroid Build Coastguard Worker  ]
1549*6777b538SAndroid Build Coastguard Worker}
1550*6777b538SAndroid Build Coastguard Worker
1551*6777b538SAndroid Build Coastguard Workerandroid_apk("cronet_perf_test_apk") {
1552*6777b538SAndroid Build Coastguard Worker  testonly = true
1553*6777b538SAndroid Build Coastguard Worker  apk_name = "CronetPerfTest"
1554*6777b538SAndroid Build Coastguard Worker  android_manifest = "test/javaperftests/AndroidManifest.xml"
1555*6777b538SAndroid Build Coastguard Worker  shared_libraries = [
1556*6777b538SAndroid Build Coastguard Worker    ":cronet",
1557*6777b538SAndroid Build Coastguard Worker    ":cronet_tests",
1558*6777b538SAndroid Build Coastguard Worker  ]
1559*6777b538SAndroid Build Coastguard Worker
1560*6777b538SAndroid Build Coastguard Worker  sources =
1561*6777b538SAndroid Build Coastguard Worker      [ "test/javaperftests/src/org/chromium/net/CronetPerfTestActivity.java" ]
1562*6777b538SAndroid Build Coastguard Worker
1563*6777b538SAndroid Build Coastguard Worker  deps = [
1564*6777b538SAndroid Build Coastguard Worker    ":cronet_all_java",
1565*6777b538SAndroid Build Coastguard Worker    ":cronet_combine_proguard_flags",
1566*6777b538SAndroid Build Coastguard Worker    ":cronet_javatests",
1567*6777b538SAndroid Build Coastguard Worker    ":cronet_test_apk_java",
1568*6777b538SAndroid Build Coastguard Worker    "//base:base_java",
1569*6777b538SAndroid Build Coastguard Worker    "//build/android:build_java",
1570*6777b538SAndroid Build Coastguard Worker    "//third_party/android_sdk:android_test_mock_java",
1571*6777b538SAndroid Build Coastguard Worker    "//third_party/jni_zero:jni_zero_java",
1572*6777b538SAndroid Build Coastguard Worker    "//third_party/junit",
1573*6777b538SAndroid Build Coastguard Worker  ]
1574*6777b538SAndroid Build Coastguard Worker
1575*6777b538SAndroid Build Coastguard Worker  if (!is_java_debug) {
1576*6777b538SAndroid Build Coastguard Worker    proguard_enabled = true
1577*6777b538SAndroid Build Coastguard Worker    proguard_configs = [
1578*6777b538SAndroid Build Coastguard Worker      "$target_gen_dir/cronet_impl_native_proguard.cfg",
1579*6777b538SAndroid Build Coastguard Worker      "cronet_shared_proguard.cfg",
1580*6777b538SAndroid Build Coastguard Worker      "cronet_impl_common_proguard.cfg",
1581*6777b538SAndroid Build Coastguard Worker      "httpengine_native_provider_proguard.cfg",
1582*6777b538SAndroid Build Coastguard Worker      "test/proguard.cfg",
1583*6777b538SAndroid Build Coastguard Worker      "//testing/android/proguard_for_test.flags",
1584*6777b538SAndroid Build Coastguard Worker      "//third_party/jni_zero/proguard_for_test.flags",
1585*6777b538SAndroid Build Coastguard Worker    ]
1586*6777b538SAndroid Build Coastguard Worker    enable_proguard_checks = false
1587*6777b538SAndroid Build Coastguard Worker  }
1588*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [
1589*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_registration",
1590*6777b538SAndroid Build Coastguard Worker    ":cronet_tests_jni_registration",
1591*6777b538SAndroid Build Coastguard Worker  ]
1592*6777b538SAndroid Build Coastguard Worker}
1593*6777b538SAndroid Build Coastguard Worker
1594*6777b538SAndroid Build Coastguard Workertest("cronet_unittests_android") {
1595*6777b538SAndroid Build Coastguard Worker  deps = [
1596*6777b538SAndroid Build Coastguard Worker    ":cronet_base_feature_unittest",
1597*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_native_java",
1598*6777b538SAndroid Build Coastguard Worker    ":cronet_static",
1599*6777b538SAndroid Build Coastguard Worker    "//base",
1600*6777b538SAndroid Build Coastguard Worker    "//base/test:test_support",
1601*6777b538SAndroid Build Coastguard Worker    "//components/cronet:cronet_common_unittests",
1602*6777b538SAndroid Build Coastguard Worker    "//components/prefs:test_support",
1603*6777b538SAndroid Build Coastguard Worker    "//net",
1604*6777b538SAndroid Build Coastguard Worker    "//net:test_support",
1605*6777b538SAndroid Build Coastguard Worker    "//net/android:net_java",
1606*6777b538SAndroid Build Coastguard Worker    "//testing/gtest",
1607*6777b538SAndroid Build Coastguard Worker  ]
1608*6777b538SAndroid Build Coastguard Worker
1609*6777b538SAndroid Build Coastguard Worker  if (!is_cronet_for_aosp_build) {
1610*6777b538SAndroid Build Coastguard Worker    deps += [ "//components/cronet/native:cronet_native_unittests" ]
1611*6777b538SAndroid Build Coastguard Worker  }
1612*6777b538SAndroid Build Coastguard Worker
1613*6777b538SAndroid Build Coastguard Worker  sources = [ "../run_all_unittests.cc" ]
1614*6777b538SAndroid Build Coastguard Worker
1615*6777b538SAndroid Build Coastguard Worker  data = [ "//components/cronet/testing/test_server/data/" ]
1616*6777b538SAndroid Build Coastguard Worker
1617*6777b538SAndroid Build Coastguard Worker  if (is_android) {
1618*6777b538SAndroid Build Coastguard Worker    shard_timeout = 180
1619*6777b538SAndroid Build Coastguard Worker  }
1620*6777b538SAndroid Build Coastguard Worker}
1621*6777b538SAndroid Build Coastguard Worker
1622*6777b538SAndroid Build Coastguard Workertest("cronet_tests_android") {
1623*6777b538SAndroid Build Coastguard Worker  deps = [
1624*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_native_java",
1625*6777b538SAndroid Build Coastguard Worker    ":cronet_static",
1626*6777b538SAndroid Build Coastguard Worker    "//base",
1627*6777b538SAndroid Build Coastguard Worker    "//base/test:test_support",
1628*6777b538SAndroid Build Coastguard Worker    "//components/prefs:test_support",
1629*6777b538SAndroid Build Coastguard Worker    "//net",
1630*6777b538SAndroid Build Coastguard Worker    "//net:test_support",
1631*6777b538SAndroid Build Coastguard Worker    "//net/android:net_java",
1632*6777b538SAndroid Build Coastguard Worker    "//testing/gtest",
1633*6777b538SAndroid Build Coastguard Worker  ]
1634*6777b538SAndroid Build Coastguard Worker
1635*6777b538SAndroid Build Coastguard Worker  if (!is_cronet_for_aosp_build) {
1636*6777b538SAndroid Build Coastguard Worker    deps += [ "//components/cronet/native/test:cronet_native_tests" ]
1637*6777b538SAndroid Build Coastguard Worker  }
1638*6777b538SAndroid Build Coastguard Worker
1639*6777b538SAndroid Build Coastguard Worker  allow_cleartext_traffic = true
1640*6777b538SAndroid Build Coastguard Worker
1641*6777b538SAndroid Build Coastguard Worker  sources = [ "../run_all_unittests.cc" ]
1642*6777b538SAndroid Build Coastguard Worker
1643*6777b538SAndroid Build Coastguard Worker  defines = [ "CRONET_TESTS_IMPLEMENTATION" ]
1644*6777b538SAndroid Build Coastguard Worker
1645*6777b538SAndroid Build Coastguard Worker  data = [ "//components/cronet/testing/test_server/data/" ]
1646*6777b538SAndroid Build Coastguard Worker
1647*6777b538SAndroid Build Coastguard Worker  if (is_android) {
1648*6777b538SAndroid Build Coastguard Worker    shard_timeout = 180
1649*6777b538SAndroid Build Coastguard Worker  }
1650*6777b538SAndroid Build Coastguard Worker}
1651*6777b538SAndroid Build Coastguard Worker
1652*6777b538SAndroid Build Coastguard Worker_test_package_dir = "$root_out_dir/cronet/test"
1653*6777b538SAndroid Build Coastguard Worker_tests_java_jars_without_jni_path =
1654*6777b538SAndroid Build Coastguard Worker    "$target_out_dir/cronet_tests_java_without_jni.jar"
1655*6777b538SAndroid Build Coastguard Worker_test_deps = cronet_javatests_deps_to_package + [
1656*6777b538SAndroid Build Coastguard Worker               ":cronet_javatests",
1657*6777b538SAndroid Build Coastguard Worker               "//third_party/netty4:netty_all_java",
1658*6777b538SAndroid Build Coastguard Worker             ]
1659*6777b538SAndroid Build Coastguard Worker
1660*6777b538SAndroid Build Coastguard Worker# First, generate an intermediate jar with the various source GEN_JNI classes
1661*6777b538SAndroid Build Coastguard Worker# removed to avoid conflicts...
1662*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_test_jars_without_jni") {
1663*6777b538SAndroid Build Coastguard Worker  output = _tests_java_jars_without_jni_path
1664*6777b538SAndroid Build Coastguard Worker  testonly = true
1665*6777b538SAndroid Build Coastguard Worker  deps = _test_deps
1666*6777b538SAndroid Build Coastguard Worker  remove_gen_jni = true
1667*6777b538SAndroid Build Coastguard Worker}
1668*6777b538SAndroid Build Coastguard Worker
1669*6777b538SAndroid Build Coastguard Worker# This target exists to provide :repackage_test_jars with a suitable target to
1670*6777b538SAndroid Build Coastguard Worker# depend on (since dist_aar only pulls in deps of type "java_library").
1671*6777b538SAndroid Build Coastguard Workerandroid_java_prebuilt("repackage_test_jars_without_jni_java") {
1672*6777b538SAndroid Build Coastguard Worker  jar_path = _tests_java_jars_without_jni_path
1673*6777b538SAndroid Build Coastguard Worker  testonly = true
1674*6777b538SAndroid Build Coastguard Worker
1675*6777b538SAndroid Build Coastguard Worker  # Since only the unprocessed jar is used, no need to complete the bytecode
1676*6777b538SAndroid Build Coastguard Worker  # processing step.
1677*6777b538SAndroid Build Coastguard Worker  enable_bytecode_checks = false
1678*6777b538SAndroid Build Coastguard Worker  deps = [ ":repackage_test_jars_without_jni" ]
1679*6777b538SAndroid Build Coastguard Worker}
1680*6777b538SAndroid Build Coastguard Worker
1681*6777b538SAndroid Build Coastguard Worker# ...then, generate the final, merged GEN_JNI class...
1682*6777b538SAndroid Build Coastguard Workergenerate_jni_registration("cronet_tests_jni_registration") {
1683*6777b538SAndroid Build Coastguard Worker  java_targets = _test_deps
1684*6777b538SAndroid Build Coastguard Worker  manual_jni_registration = true
1685*6777b538SAndroid Build Coastguard Worker  testonly = true
1686*6777b538SAndroid Build Coastguard Worker  module_name = "cronet_tests"
1687*6777b538SAndroid Build Coastguard Worker  _subdir = rebase_path(target_gen_dir, root_gen_dir)
1688*6777b538SAndroid Build Coastguard Worker  cpp_codegen_output =
1689*6777b538SAndroid Build Coastguard Worker      "$jni_headers_dir/$_subdir/cronet_tests_jni_registration_generated.h"
1690*6777b538SAndroid Build Coastguard Worker}
1691*6777b538SAndroid Build Coastguard Workerandroid_library("cronet_tests_jni_registration_java") {
1692*6777b538SAndroid Build Coastguard Worker  srcjar_deps = [ ":cronet_tests_jni_registration" ]
1693*6777b538SAndroid Build Coastguard Worker  testonly = true
1694*6777b538SAndroid Build Coastguard Worker}
1695*6777b538SAndroid Build Coastguard Worker
1696*6777b538SAndroid Build Coastguard Worker# ...and finally, generate the test jar with the final GEN_JNI class.
1697*6777b538SAndroid Build Coastguard Workerrepackage_jars("repackage_test_jars") {
1698*6777b538SAndroid Build Coastguard Worker  output = "$_test_package_dir/cronet_tests_java.jar"
1699*6777b538SAndroid Build Coastguard Worker  testonly = true
1700*6777b538SAndroid Build Coastguard Worker  deps = [
1701*6777b538SAndroid Build Coastguard Worker    ":cronet_tests_jni_registration_java",
1702*6777b538SAndroid Build Coastguard Worker    ":repackage_test_jars_without_jni_java",
1703*6777b538SAndroid Build Coastguard Worker  ]
1704*6777b538SAndroid Build Coastguard Worker  remove_gen_jni = false
1705*6777b538SAndroid Build Coastguard Worker}
1706*6777b538SAndroid Build Coastguard Worker
1707*6777b538SAndroid Build Coastguard Workerzip("jar_cronet_sample_source") {
1708*6777b538SAndroid Build Coastguard Worker  inputs = [
1709*6777b538SAndroid Build Coastguard Worker    "sample/AndroidManifest.xml",
1710*6777b538SAndroid Build Coastguard Worker    "sample/README",
1711*6777b538SAndroid Build Coastguard Worker    "sample/res/drawable/ic_action_home.xml",
1712*6777b538SAndroid Build Coastguard Worker    "sample/res/drawable/ic_flag.xml",
1713*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/main_activity.xml",
1714*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/main_fragment.xml",
1715*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/options_fragment.xml",
1716*6777b538SAndroid Build Coastguard Worker    "sample/res/layout/toggle_view.xml",
1717*6777b538SAndroid Build Coastguard Worker    "sample/res/values/colors.xml",
1718*6777b538SAndroid Build Coastguard Worker    "sample/res/values/dimens.xml",
1719*6777b538SAndroid Build Coastguard Worker    "sample/res/values/strings.xml",
1720*6777b538SAndroid Build Coastguard Worker    "sample/res/values/styles.xml",
1721*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/Action.java",
1722*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/ActionData.java",
1723*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/CronetSampleActivity.java",
1724*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/CronetSampleApplication.java",
1725*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/MainFragment.java",
1726*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/Options.java",
1727*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/OptionsFragment.java",
1728*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/OptionsRecyclerViewAdapter.java",
1729*6777b538SAndroid Build Coastguard Worker    "sample/src/org/chromium/cronet_sample_apk/SampleActivityViewModel.java",
1730*6777b538SAndroid Build Coastguard Worker  ]
1731*6777b538SAndroid Build Coastguard Worker  output = "$_package_dir/cronet-sample-src.jar"
1732*6777b538SAndroid Build Coastguard Worker  base_dir = "sample"
1733*6777b538SAndroid Build Coastguard Worker}
1734*6777b538SAndroid Build Coastguard Worker
1735*6777b538SAndroid Build Coastguard Workerjar_src("jar_cronet_impl_native_java_source") {
1736*6777b538SAndroid Build Coastguard Worker  src_search_dirs = [
1737*6777b538SAndroid Build Coastguard Worker    "//base/android/java/src",
1738*6777b538SAndroid Build Coastguard Worker    "//base/test/android/javatests/src/stub",
1739*6777b538SAndroid Build Coastguard Worker    "//build/android/java/src",
1740*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/java/src",
1741*6777b538SAndroid Build Coastguard Worker    "//net/android/java/src",
1742*6777b538SAndroid Build Coastguard Worker    "//url/android/java/src",
1743*6777b538SAndroid Build Coastguard Worker    "//third_party/jni_zero/java/src",
1744*6777b538SAndroid Build Coastguard Worker  ]
1745*6777b538SAndroid Build Coastguard Worker  source_deps = [
1746*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_native_java",
1747*6777b538SAndroid Build Coastguard Worker    "//base:base_java",
1748*6777b538SAndroid Build Coastguard Worker    "//build/android:build_java",
1749*6777b538SAndroid Build Coastguard Worker    "//net/android:net_java",
1750*6777b538SAndroid Build Coastguard Worker    "//third_party/jni_zero:jni_zero_java",
1751*6777b538SAndroid Build Coastguard Worker    "//url:url_java",
1752*6777b538SAndroid Build Coastguard Worker  ]
1753*6777b538SAndroid Build Coastguard Worker
1754*6777b538SAndroid Build Coastguard Worker  srcjar_deps = cronet_impl_native_java_srcjar_deps
1755*6777b538SAndroid Build Coastguard Worker  srcjar_deps += [
1756*6777b538SAndroid Build Coastguard Worker    ":cronet_jni_registration",
1757*6777b538SAndroid Build Coastguard Worker    "//base:base_android_java_enums_srcjar",
1758*6777b538SAndroid Build Coastguard Worker    "//net/android:net_android_java_enums_srcjar",
1759*6777b538SAndroid Build Coastguard Worker    "//net/android:net_errors_java",
1760*6777b538SAndroid Build Coastguard Worker  ]
1761*6777b538SAndroid Build Coastguard Worker  excluded_patterns = _jar_excluded_patterns
1762*6777b538SAndroid Build Coastguard Worker  jar_path = "$_package_dir/cronet_impl_native_java-src.jar"
1763*6777b538SAndroid Build Coastguard Worker}
1764*6777b538SAndroid Build Coastguard Worker
1765*6777b538SAndroid Build Coastguard Workeraction("generate_licenses") {
1766*6777b538SAndroid Build Coastguard Worker  _license_path = "$_package_dir/LICENSE"
1767*6777b538SAndroid Build Coastguard Worker
1768*6777b538SAndroid Build Coastguard Worker  script = "//tools/licenses/licenses.py"
1769*6777b538SAndroid Build Coastguard Worker  outputs = [ _license_path ]
1770*6777b538SAndroid Build Coastguard Worker  args = [
1771*6777b538SAndroid Build Coastguard Worker    "license_file",
1772*6777b538SAndroid Build Coastguard Worker    rebase_path(_license_path, root_build_dir),
1773*6777b538SAndroid Build Coastguard Worker    "--gn-target",
1774*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android:cronet_non_test_package",
1775*6777b538SAndroid Build Coastguard Worker    "--gn-out-dir",
1776*6777b538SAndroid Build Coastguard Worker    ".",
1777*6777b538SAndroid Build Coastguard Worker  ]
1778*6777b538SAndroid Build Coastguard Worker}
1779*6777b538SAndroid Build Coastguard Worker
1780*6777b538SAndroid Build Coastguard Workeraction_with_pydeps("generate_javadoc") {
1781*6777b538SAndroid Build Coastguard Worker  script = "//components/cronet/tools/generate_javadoc.py"
1782*6777b538SAndroid Build Coastguard Worker  depfile = "$target_gen_dir/$target_name.d"
1783*6777b538SAndroid Build Coastguard Worker  _zip_file = "$target_gen_dir/$target_name.zip"
1784*6777b538SAndroid Build Coastguard Worker  outputs = [ _zip_file ]
1785*6777b538SAndroid Build Coastguard Worker  _src_jar = "$_package_dir/cronet_api-src.jar"
1786*6777b538SAndroid Build Coastguard Worker  _shared_jar = "$_package_dir/cronet_shared-src.jar"
1787*6777b538SAndroid Build Coastguard Worker
1788*6777b538SAndroid Build Coastguard Worker  _annotations_deps = [
1789*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_experimental_java__classes",
1790*6777b538SAndroid Build Coastguard Worker    "//third_party/androidx:androidx_annotation_annotation_jvm_java",
1791*6777b538SAndroid Build Coastguard Worker  ]
1792*6777b538SAndroid Build Coastguard Worker
1793*6777b538SAndroid Build Coastguard Worker  _build_config_deps = []
1794*6777b538SAndroid Build Coastguard Worker  _build_configs = []
1795*6777b538SAndroid Build Coastguard Worker
1796*6777b538SAndroid Build Coastguard Worker  foreach(dep, _annotations_deps) {
1797*6777b538SAndroid Build Coastguard Worker    _build_config_dep = "$dep$build_config_target_suffix"
1798*6777b538SAndroid Build Coastguard Worker    _build_config_deps += [ _build_config_dep ]
1799*6777b538SAndroid Build Coastguard Worker
1800*6777b538SAndroid Build Coastguard Worker    _build_config = get_label_info(dep, "target_gen_dir") + "/" +
1801*6777b538SAndroid Build Coastguard Worker                    get_label_info(dep, "name") + ".build_config.json"
1802*6777b538SAndroid Build Coastguard Worker
1803*6777b538SAndroid Build Coastguard Worker    _build_configs += [ _build_config ]
1804*6777b538SAndroid Build Coastguard Worker  }
1805*6777b538SAndroid Build Coastguard Worker
1806*6777b538SAndroid Build Coastguard Worker  deps = [
1807*6777b538SAndroid Build Coastguard Worker           ":jar_cronet_api_source",
1808*6777b538SAndroid Build Coastguard Worker           ":jar_cronet_shared_source",
1809*6777b538SAndroid Build Coastguard Worker         ] + _annotations_deps + _build_config_deps
1810*6777b538SAndroid Build Coastguard Worker
1811*6777b538SAndroid Build Coastguard Worker  inputs = [
1812*6777b538SAndroid Build Coastguard Worker             _src_jar,
1813*6777b538SAndroid Build Coastguard Worker             _shared_jar,
1814*6777b538SAndroid Build Coastguard Worker             android_sdk_jar,
1815*6777b538SAndroid Build Coastguard Worker           ] + _build_configs
1816*6777b538SAndroid Build Coastguard Worker
1817*6777b538SAndroid Build Coastguard Worker  _rebased_build_configs = []
1818*6777b538SAndroid Build Coastguard Worker  foreach(config, _build_configs) {
1819*6777b538SAndroid Build Coastguard Worker    _rebased_build_configs += [ rebase_path(config, root_build_dir) ]
1820*6777b538SAndroid Build Coastguard Worker  }
1821*6777b538SAndroid Build Coastguard Worker
1822*6777b538SAndroid Build Coastguard Worker  args = [
1823*6777b538SAndroid Build Coastguard Worker    "--output-dir",
1824*6777b538SAndroid Build Coastguard Worker    rebase_path(_package_dir, root_build_dir),
1825*6777b538SAndroid Build Coastguard Worker    "--input-dir",
1826*6777b538SAndroid Build Coastguard Worker    rebase_path("//components/cronet", root_build_dir),
1827*6777b538SAndroid Build Coastguard Worker    "--overview-file",
1828*6777b538SAndroid Build Coastguard Worker    rebase_path("$_package_dir/README.md.html", root_build_dir),
1829*6777b538SAndroid Build Coastguard Worker    "--readme-file",
1830*6777b538SAndroid Build Coastguard Worker    rebase_path("//components/cronet/README.md", root_build_dir),
1831*6777b538SAndroid Build Coastguard Worker    "--depfile",
1832*6777b538SAndroid Build Coastguard Worker    rebase_path(depfile, root_build_dir),
1833*6777b538SAndroid Build Coastguard Worker    "--zip-file",
1834*6777b538SAndroid Build Coastguard Worker    rebase_path(_zip_file, root_build_dir),
1835*6777b538SAndroid Build Coastguard Worker    "--android-sdk-jar",
1836*6777b538SAndroid Build Coastguard Worker    rebase_path(android_sdk_jar, root_build_dir),
1837*6777b538SAndroid Build Coastguard Worker    "--classpath-jars",
1838*6777b538SAndroid Build Coastguard Worker    rebase_path(_shared_jar, root_build_dir),
1839*6777b538SAndroid Build Coastguard Worker
1840*6777b538SAndroid Build Coastguard Worker    # JavaDoc is generated from Cronet's API source jar.
1841*6777b538SAndroid Build Coastguard Worker    "--input-src-jar",
1842*6777b538SAndroid Build Coastguard Worker    rebase_path(_src_jar, root_build_dir),
1843*6777b538SAndroid Build Coastguard Worker  ]
1844*6777b538SAndroid Build Coastguard Worker
1845*6777b538SAndroid Build Coastguard Worker  foreach(rebased_config, _rebased_build_configs) {
1846*6777b538SAndroid Build Coastguard Worker    args += [
1847*6777b538SAndroid Build Coastguard Worker      "--support-annotations-jars=@FileArg($rebased_config:deps_info:unprocessed_jar_path)",
1848*6777b538SAndroid Build Coastguard Worker      "--classpath-jars=@FileArg($rebased_config:deps_info:javac_full_classpath)",
1849*6777b538SAndroid Build Coastguard Worker    ]
1850*6777b538SAndroid Build Coastguard Worker  }
1851*6777b538SAndroid Build Coastguard Worker}
1852*6777b538SAndroid Build Coastguard Worker
1853*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy") {
1854*6777b538SAndroid Build Coastguard Worker  sources = [
1855*6777b538SAndroid Build Coastguard Worker    "$target_gen_dir/cronet_impl_native_proguard.cfg",
1856*6777b538SAndroid Build Coastguard Worker    "//AUTHORS",
1857*6777b538SAndroid Build Coastguard Worker    "//chrome/VERSION",
1858*6777b538SAndroid Build Coastguard Worker    "api_version.txt",
1859*6777b538SAndroid Build Coastguard Worker    "cronet_impl_common_proguard.cfg",
1860*6777b538SAndroid Build Coastguard Worker    "cronet_impl_fake_proguard.cfg",
1861*6777b538SAndroid Build Coastguard Worker    "cronet_impl_platform_proguard.cfg",
1862*6777b538SAndroid Build Coastguard Worker    "cronet_shared_proguard.cfg",
1863*6777b538SAndroid Build Coastguard Worker    "httpengine_native_provider_proguard.cfg",
1864*6777b538SAndroid Build Coastguard Worker  ]
1865*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_package_dir/{{source_file_part}}" ]
1866*6777b538SAndroid Build Coastguard Worker
1867*6777b538SAndroid Build Coastguard Worker  deps = [
1868*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
1869*6777b538SAndroid Build Coastguard Worker    ":cronet_combine_proguard_flags",
1870*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_common_java",
1871*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_fake_java",
1872*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_platform_java",
1873*6777b538SAndroid Build Coastguard Worker    ":cronet_shared_java",
1874*6777b538SAndroid Build Coastguard Worker    ":httpengine_native_provider_java",
1875*6777b538SAndroid Build Coastguard Worker  ]
1876*6777b538SAndroid Build Coastguard Worker}
1877*6777b538SAndroid Build Coastguard Worker
1878*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_native_headers") {
1879*6777b538SAndroid Build Coastguard Worker  sources = cronet_native_public_headers + grpc_public_headers
1880*6777b538SAndroid Build Coastguard Worker
1881*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_package_dir/include/{{source_file_part}}" ]
1882*6777b538SAndroid Build Coastguard Worker}
1883*6777b538SAndroid Build Coastguard Worker
1884*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_native_lib") {
1885*6777b538SAndroid Build Coastguard Worker  sources = [ "$root_out_dir/" + _cronet_shared_lib_file_name ]
1886*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_package_dir/libs/${android_app_abi}/" +
1887*6777b538SAndroid Build Coastguard Worker              _cronet_shared_lib_file_name ]
1888*6777b538SAndroid Build Coastguard Worker  deps = [ ":cronet" ]
1889*6777b538SAndroid Build Coastguard Worker}
1890*6777b538SAndroid Build Coastguard Worker
1891*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_native_lib_unstripped") {
1892*6777b538SAndroid Build Coastguard Worker  sources = [ "$root_out_dir/lib.unstripped/" + _cronet_shared_lib_file_name ]
1893*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_package_dir/symbols/${android_app_abi}/" +
1894*6777b538SAndroid Build Coastguard Worker              _cronet_shared_lib_file_name ]
1895*6777b538SAndroid Build Coastguard Worker  deps = [ ":cronet" ]
1896*6777b538SAndroid Build Coastguard Worker}
1897*6777b538SAndroid Build Coastguard Worker
1898*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_native_test_lib") {
1899*6777b538SAndroid Build Coastguard Worker  testonly = true
1900*6777b538SAndroid Build Coastguard Worker  sources = [
1901*6777b538SAndroid Build Coastguard Worker    "$root_out_dir/libcronet_tests.so",
1902*6777b538SAndroid Build Coastguard Worker    "$root_out_dir/libnetty-tcnative.so",
1903*6777b538SAndroid Build Coastguard Worker  ]
1904*6777b538SAndroid Build Coastguard Worker  outputs =
1905*6777b538SAndroid Build Coastguard Worker      [ "$_test_package_dir/libs/${android_app_abi}/{{source_file_part}}" ]
1906*6777b538SAndroid Build Coastguard Worker  deps = [
1907*6777b538SAndroid Build Coastguard Worker    ":cronet_tests",
1908*6777b538SAndroid Build Coastguard Worker    "//third_party/netty-tcnative:netty-tcnative-so",
1909*6777b538SAndroid Build Coastguard Worker  ]
1910*6777b538SAndroid Build Coastguard Worker}
1911*6777b538SAndroid Build Coastguard Worker
1912*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_native_test_lib_unstripped") {
1913*6777b538SAndroid Build Coastguard Worker  testonly = true
1914*6777b538SAndroid Build Coastguard Worker  sources = [
1915*6777b538SAndroid Build Coastguard Worker    "$root_out_dir/lib.unstripped/libcronet_tests.so",
1916*6777b538SAndroid Build Coastguard Worker    "$root_out_dir/lib.unstripped/libnetty-tcnative.so",
1917*6777b538SAndroid Build Coastguard Worker  ]
1918*6777b538SAndroid Build Coastguard Worker  outputs =
1919*6777b538SAndroid Build Coastguard Worker      [ "$_test_package_dir/symbols/${android_app_abi}/{{source_file_part}}" ]
1920*6777b538SAndroid Build Coastguard Worker  deps = [
1921*6777b538SAndroid Build Coastguard Worker    ":cronet_tests",
1922*6777b538SAndroid Build Coastguard Worker    "//third_party/netty-tcnative:netty-tcnative-so",
1923*6777b538SAndroid Build Coastguard Worker  ]
1924*6777b538SAndroid Build Coastguard Worker}
1925*6777b538SAndroid Build Coastguard Worker
1926*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_test_assets") {
1927*6777b538SAndroid Build Coastguard Worker  testonly = true
1928*6777b538SAndroid Build Coastguard Worker  sources = [ "//components/cronet/testing/test_server/data" ]
1929*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_test_package_dir/assets/test" ]
1930*6777b538SAndroid Build Coastguard Worker}
1931*6777b538SAndroid Build Coastguard Worker
1932*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_test_resources") {
1933*6777b538SAndroid Build Coastguard Worker  testonly = true
1934*6777b538SAndroid Build Coastguard Worker  sources = [ "//components/cronet/android/test/res" ]
1935*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_test_package_dir/res" ]
1936*6777b538SAndroid Build Coastguard Worker}
1937*6777b538SAndroid Build Coastguard Worker
1938*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_test_files") {
1939*6777b538SAndroid Build Coastguard Worker  testonly = true
1940*6777b538SAndroid Build Coastguard Worker  sources = [
1941*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/cronet-quic-chain.pem",
1942*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/cronet-quic-leaf-cert.key",
1943*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/cronet-quic-leaf-cert.key.pkcs8.pem",
1944*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/expired_cert.pem",
1945*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/quic-chain.pem",
1946*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/quic-leaf-cert.key",
1947*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/quic-leaf-cert.key.pkcs8.pem",
1948*6777b538SAndroid Build Coastguard Worker    "//net/data/ssl/certificates/root_ca_cert.pem",
1949*6777b538SAndroid Build Coastguard Worker  ]
1950*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_test_package_dir/assets/test_files/net/data/ssl/certificates/{{source_file_part}}" ]
1951*6777b538SAndroid Build Coastguard Worker  deps = [
1952*6777b538SAndroid Build Coastguard Worker    # Not really dependent, but builds can fail if these two targets attempt
1953*6777b538SAndroid Build Coastguard Worker    # to create the "assets" subdirectory simultaneously.
1954*6777b538SAndroid Build Coastguard Worker    ":cronet_package_copy_test_assets",
1955*6777b538SAndroid Build Coastguard Worker  ]
1956*6777b538SAndroid Build Coastguard Worker}
1957*6777b538SAndroid Build Coastguard Worker
1958*6777b538SAndroid Build Coastguard Workercopy("cronet_package_copy_resources") {
1959*6777b538SAndroid Build Coastguard Worker  sources = [ "api/res/raw/keep_cronet_api.xml" ]
1960*6777b538SAndroid Build Coastguard Worker  outputs = [ "$_package_dir/res/raw/{{source_file_part}}" ]
1961*6777b538SAndroid Build Coastguard Worker}
1962*6777b538SAndroid Build Coastguard Worker
1963*6777b538SAndroid Build Coastguard Worker# Enforce that ARM Neon is not used when building for ARMv7
1964*6777b538SAndroid Build Coastguard Workerif (target_cpu == "arm" && arm_version == 7 && !arm_use_neon) {
1965*6777b538SAndroid Build Coastguard Worker  action("enforce_no_neon") {
1966*6777b538SAndroid Build Coastguard Worker    script = "//components/cronet/tools/check_no_neon.py"
1967*6777b538SAndroid Build Coastguard Worker    outputs = [ "$target_gen_dir/$target_name.stamp" ]
1968*6777b538SAndroid Build Coastguard Worker    args = [
1969*6777b538SAndroid Build Coastguard Worker      rebase_path("${android_tool_prefix}objdump", root_build_dir),
1970*6777b538SAndroid Build Coastguard Worker
1971*6777b538SAndroid Build Coastguard Worker      # libcronet.so may contain ARM Neon instructions from BoringSSL, but these
1972*6777b538SAndroid Build Coastguard Worker      # are only used after checking whether the CPU supports NEON at runtime,
1973*6777b538SAndroid Build Coastguard Worker      # so instead check base/ as it represents a large swath of code that only
1974*6777b538SAndroid Build Coastguard Worker      # contains Neon instructions when Neon is enabled by default.
1975*6777b538SAndroid Build Coastguard Worker      rebase_path("$root_out_dir/obj/base/base/*.o", root_build_dir),
1976*6777b538SAndroid Build Coastguard Worker      "--stamp",
1977*6777b538SAndroid Build Coastguard Worker      rebase_path(outputs[0], root_build_dir),
1978*6777b538SAndroid Build Coastguard Worker    ]
1979*6777b538SAndroid Build Coastguard Worker    deps = [ "//base:base" ]
1980*6777b538SAndroid Build Coastguard Worker  }
1981*6777b538SAndroid Build Coastguard Worker}
1982*6777b538SAndroid Build Coastguard Worker
1983*6777b538SAndroid Build Coastguard Worker# Enforce restrictions for API<->impl boundary.
1984*6777b538SAndroid Build Coastguard Workeraction("api_static_checks") {
1985*6777b538SAndroid Build Coastguard Worker  script = "//components/cronet/tools/api_static_checks.py"
1986*6777b538SAndroid Build Coastguard Worker  outputs = [ "$target_gen_dir/$target_name.stamp" ]
1987*6777b538SAndroid Build Coastguard Worker  _api_jar = "$_package_dir/cronet_api.jar"
1988*6777b538SAndroid Build Coastguard Worker  _common_jar = "$_package_dir/cronet_impl_common_java.jar"
1989*6777b538SAndroid Build Coastguard Worker  _platform_jar = "$_package_dir/cronet_impl_platform_java.jar"
1990*6777b538SAndroid Build Coastguard Worker  _native_jar = "$_package_dir/cronet_impl_native_java.jar"
1991*6777b538SAndroid Build Coastguard Worker  args = [
1992*6777b538SAndroid Build Coastguard Worker    "--api_jar",
1993*6777b538SAndroid Build Coastguard Worker    rebase_path(_api_jar, root_build_dir),
1994*6777b538SAndroid Build Coastguard Worker    "--impl_jar",
1995*6777b538SAndroid Build Coastguard Worker    rebase_path(_common_jar, root_build_dir),
1996*6777b538SAndroid Build Coastguard Worker    "--impl_jar",
1997*6777b538SAndroid Build Coastguard Worker    rebase_path(_platform_jar, root_build_dir),
1998*6777b538SAndroid Build Coastguard Worker    "--impl_jar",
1999*6777b538SAndroid Build Coastguard Worker    rebase_path(_native_jar, root_build_dir),
2000*6777b538SAndroid Build Coastguard Worker    "--stamp",
2001*6777b538SAndroid Build Coastguard Worker    rebase_path(outputs[0], root_build_dir),
2002*6777b538SAndroid Build Coastguard Worker  ]
2003*6777b538SAndroid Build Coastguard Worker  deps = [
2004*6777b538SAndroid Build Coastguard Worker    ":repackage_api",
2005*6777b538SAndroid Build Coastguard Worker    ":repackage_impl_common",
2006*6777b538SAndroid Build Coastguard Worker    ":repackage_native",
2007*6777b538SAndroid Build Coastguard Worker    ":repackage_platform",
2008*6777b538SAndroid Build Coastguard Worker  ]
2009*6777b538SAndroid Build Coastguard Worker  inputs = [
2010*6777b538SAndroid Build Coastguard Worker    _api_jar,
2011*6777b538SAndroid Build Coastguard Worker    _common_jar,
2012*6777b538SAndroid Build Coastguard Worker    _platform_jar,
2013*6777b538SAndroid Build Coastguard Worker    _native_jar,
2014*6777b538SAndroid Build Coastguard Worker    "//components/cronet/tools/update_api.py",
2015*6777b538SAndroid Build Coastguard Worker  ]
2016*6777b538SAndroid Build Coastguard Worker  sources = [
2017*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/api.txt",
2018*6777b538SAndroid Build Coastguard Worker    "//components/cronet/android/api_version.txt",
2019*6777b538SAndroid Build Coastguard Worker  ]
2020*6777b538SAndroid Build Coastguard Worker}
2021*6777b538SAndroid Build Coastguard Worker
2022*6777b538SAndroid Build Coastguard Workeraction("gn2bp_check") {
2023*6777b538SAndroid Build Coastguard Worker  script = "//components/cronet/gn2bp/validate_gn2bp.py"
2024*6777b538SAndroid Build Coastguard Worker  sources = [
2025*6777b538SAndroid Build Coastguard Worker    "$_gn_path",
2026*6777b538SAndroid Build Coastguard Worker    "//components/cronet/gn2bp/gen_android_bp.py",
2027*6777b538SAndroid Build Coastguard Worker    "//tools/mb/mb.py",
2028*6777b538SAndroid Build Coastguard Worker  ]
2029*6777b538SAndroid Build Coastguard Worker  outputs = [ "$target_gen_dir/$target_name.stamp" ]
2030*6777b538SAndroid Build Coastguard Worker  args = [
2031*6777b538SAndroid Build Coastguard Worker    "--stamp",
2032*6777b538SAndroid Build Coastguard Worker    rebase_path(outputs[0], root_build_dir),
2033*6777b538SAndroid Build Coastguard Worker  ]
2034*6777b538SAndroid Build Coastguard Worker}
2035*6777b538SAndroid Build Coastguard Worker
2036*6777b538SAndroid Build Coastguard Workeraction("dependencies_checks") {
2037*6777b538SAndroid Build Coastguard Worker  script = "//components/cronet/tools/check_cronet_dependencies.py"
2038*6777b538SAndroid Build Coastguard Worker  inputs = [ "//components/cronet/android/dependencies.txt" ]
2039*6777b538SAndroid Build Coastguard Worker  sources = [ "$_gn_path" ]
2040*6777b538SAndroid Build Coastguard Worker  outputs = [ "$target_gen_dir/$target_name.stamp" ]
2041*6777b538SAndroid Build Coastguard Worker  deps = [
2042*6777b538SAndroid Build Coastguard Worker    ":cronet",
2043*6777b538SAndroid Build Coastguard Worker    ":cronet_api_helpers_java",
2044*6777b538SAndroid Build Coastguard Worker    ":cronet_api_java",
2045*6777b538SAndroid Build Coastguard Worker    ":cronet_impl_native_java",
2046*6777b538SAndroid Build Coastguard Worker  ]
2047*6777b538SAndroid Build Coastguard Worker  abs_deps = []
2048*6777b538SAndroid Build Coastguard Worker  foreach(dep, deps) {
2049*6777b538SAndroid Build Coastguard Worker    abs_deps += [ get_label_info(dep, "label_no_toolchain") ]
2050*6777b538SAndroid Build Coastguard Worker  }
2051*6777b538SAndroid Build Coastguard Worker  args = [
2052*6777b538SAndroid Build Coastguard Worker    "--old-dependencies",
2053*6777b538SAndroid Build Coastguard Worker    rebase_path(inputs[0], root_build_dir),
2054*6777b538SAndroid Build Coastguard Worker    "--stamp",
2055*6777b538SAndroid Build Coastguard Worker    rebase_path(outputs[0], root_build_dir),
2056*6777b538SAndroid Build Coastguard Worker    "--root-deps",
2057*6777b538SAndroid Build Coastguard Worker  ]
2058*6777b538SAndroid Build Coastguard Worker  foreach(abs_dep, abs_deps) {
2059*6777b538SAndroid Build Coastguard Worker    args += [ abs_dep ]
2060*6777b538SAndroid Build Coastguard Worker  }
2061*6777b538SAndroid Build Coastguard Worker}
2062*6777b538SAndroid Build Coastguard Worker
2063*6777b538SAndroid Build Coastguard Workergroup("cronet_non_test_package") {
2064*6777b538SAndroid Build Coastguard Worker  # Target containing all of cronet's non-test targets.
2065*6777b538SAndroid Build Coastguard Worker  # Enforce building with ICU alternatives, crbug.com/611621.
2066*6777b538SAndroid Build Coastguard Worker  # Enforce that arm_use_neon==false when building for ARMv7 by
2067*6777b538SAndroid Build Coastguard Worker  # not including any deps in cronet_package target otherwise.
2068*6777b538SAndroid Build Coastguard Worker  if (use_platform_icu_alternatives &&
2069*6777b538SAndroid Build Coastguard Worker      (!(target_cpu == "arm" && arm_version == 7) || !arm_use_neon)) {
2070*6777b538SAndroid Build Coastguard Worker    deps = [
2071*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy",
2072*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_native_headers",
2073*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_native_lib",
2074*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_native_lib_unstripped",
2075*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_resources",
2076*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_api_source",
2077*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_impl_common_java_source",
2078*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_impl_fake_java_source",
2079*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_impl_native_java_source",
2080*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_impl_platform_java_source",
2081*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_sample_source",
2082*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_shared_source",
2083*6777b538SAndroid Build Coastguard Worker      ":jar_httpengine_native_provider_java_source",
2084*6777b538SAndroid Build Coastguard Worker      ":repackage_api",
2085*6777b538SAndroid Build Coastguard Worker      ":repackage_fake",
2086*6777b538SAndroid Build Coastguard Worker      ":repackage_httpengine_native_provider",
2087*6777b538SAndroid Build Coastguard Worker      ":repackage_impl_common",
2088*6777b538SAndroid Build Coastguard Worker      ":repackage_native",
2089*6777b538SAndroid Build Coastguard Worker      ":repackage_platform",
2090*6777b538SAndroid Build Coastguard Worker      ":repackage_shared",
2091*6777b538SAndroid Build Coastguard Worker    ]
2092*6777b538SAndroid Build Coastguard Worker    if (current_cpu == "arm" && arm_version == 7) {
2093*6777b538SAndroid Build Coastguard Worker      deps += [ ":enforce_no_neon" ]
2094*6777b538SAndroid Build Coastguard Worker    }
2095*6777b538SAndroid Build Coastguard Worker  }
2096*6777b538SAndroid Build Coastguard Worker}
2097*6777b538SAndroid Build Coastguard Worker
2098*6777b538SAndroid Build Coastguard Workergroup("cronet_test_package") {
2099*6777b538SAndroid Build Coastguard Worker  # Target containing all of cronet's test targets.
2100*6777b538SAndroid Build Coastguard Worker  testonly = true
2101*6777b538SAndroid Build Coastguard Worker
2102*6777b538SAndroid Build Coastguard Worker  # Don't build for MIPS where tests aren't run.
2103*6777b538SAndroid Build Coastguard Worker  if (current_cpu != "mipsel" && current_cpu != "mips64el") {
2104*6777b538SAndroid Build Coastguard Worker    deps = [
2105*6777b538SAndroid Build Coastguard Worker      ":api_static_checks",
2106*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_native_test_lib",
2107*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_native_test_lib_unstripped",
2108*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_test_assets",
2109*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_test_files",
2110*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_test_resources",
2111*6777b538SAndroid Build Coastguard Worker      ":cronet_sizes",
2112*6777b538SAndroid Build Coastguard Worker      ":repackage_test_jars",
2113*6777b538SAndroid Build Coastguard Worker    ]
2114*6777b538SAndroid Build Coastguard Worker  }
2115*6777b538SAndroid Build Coastguard Worker}
2116*6777b538SAndroid Build Coastguard Worker
2117*6777b538SAndroid Build Coastguard Worker# Everything added here will be executed in the CQ.
2118*6777b538SAndroid Build Coastguard Workergroup("cronet_package_android") {
2119*6777b538SAndroid Build Coastguard Worker  # Target containing all of cronet's targets both test and non-test ones.
2120*6777b538SAndroid Build Coastguard Worker  # Marked as testonly as it contains test-only targets too.
2121*6777b538SAndroid Build Coastguard Worker  testonly = true
2122*6777b538SAndroid Build Coastguard Worker  deps = [
2123*6777b538SAndroid Build Coastguard Worker    ":cronet_combined_proguard_flags_golden_test",
2124*6777b538SAndroid Build Coastguard Worker    ":cronet_non_test_package",
2125*6777b538SAndroid Build Coastguard Worker    ":cronet_test_package",
2126*6777b538SAndroid Build Coastguard Worker    ":dependencies_checks",
2127*6777b538SAndroid Build Coastguard Worker    ":generate_javadoc",
2128*6777b538SAndroid Build Coastguard Worker    ":generate_licenses",
2129*6777b538SAndroid Build Coastguard Worker  ]
2130*6777b538SAndroid Build Coastguard Worker}
2131*6777b538SAndroid Build Coastguard Worker
2132*6777b538SAndroid Build Coastguard Worker# Everything added here will be executed in the CI.
2133*6777b538SAndroid Build Coastguard Workergroup("cronet_package_ci") {
2134*6777b538SAndroid Build Coastguard Worker  deps = [ ":gn2bp_check" ]
2135*6777b538SAndroid Build Coastguard Worker}
2136*6777b538SAndroid Build Coastguard Worker
2137*6777b538SAndroid Build Coastguard Workergroup("cronet_android_mainline") {
2138*6777b538SAndroid Build Coastguard Worker  # Target for android mainline which removed unnecessary deps from
2139*6777b538SAndroid Build Coastguard Worker  # "cronet_package_android"
2140*6777b538SAndroid Build Coastguard Worker
2141*6777b538SAndroid Build Coastguard Worker  # Enforce building with ICU alternatives, crbug.com/611621.
2142*6777b538SAndroid Build Coastguard Worker  # Enforce that arm_use_neon==false when building for ARMv7 by
2143*6777b538SAndroid Build Coastguard Worker  # not including any deps in cronet_package target otherwise.
2144*6777b538SAndroid Build Coastguard Worker  if (use_platform_icu_alternatives &&
2145*6777b538SAndroid Build Coastguard Worker      (!(target_cpu == "arm" && arm_version == 7) || !arm_use_neon)) {
2146*6777b538SAndroid Build Coastguard Worker    deps = [
2147*6777b538SAndroid Build Coastguard Worker      ":cronet_package_copy_native_lib",
2148*6777b538SAndroid Build Coastguard Worker      ":jar_cronet_api_source",
2149*6777b538SAndroid Build Coastguard Worker      ":repackage_api",
2150*6777b538SAndroid Build Coastguard Worker      ":repackage_impl_common",
2151*6777b538SAndroid Build Coastguard Worker      ":repackage_native",
2152*6777b538SAndroid Build Coastguard Worker      ":repackage_shared",
2153*6777b538SAndroid Build Coastguard Worker    ]
2154*6777b538SAndroid Build Coastguard Worker    if (current_cpu == "arm" && arm_version == 7) {
2155*6777b538SAndroid Build Coastguard Worker      deps += [ ":enforce_no_neon" ]
2156*6777b538SAndroid Build Coastguard Worker    }
2157*6777b538SAndroid Build Coastguard Worker  }
2158*6777b538SAndroid Build Coastguard Worker}
2159