• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2023 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15filegroup {
16    name: "httpclient_api_sources",
17    srcs: [
18        "java/src/android/net/http/BidirectionalStream.java",
19        "java/src/android/net/http/CallbackException.java",
20        "java/src/android/net/http/ConnectionMigrationOptions.java",
21        "java/src/android/net/http/DnsOptions.java",
22        "java/src/android/net/http/HeaderBlock.java",
23        "java/src/android/net/http/HttpEngine.java",
24        "java/src/android/net/http/HttpException.java",
25        "java/src/android/net/http/InlineExecutionProhibitedException.java",
26        "java/src/android/net/http/NetworkException.java",
27        "java/src/android/net/http/QuicException.java",
28        "java/src/android/net/http/QuicOptions.java",
29        "java/src/android/net/http/UploadDataProvider.java",
30        "java/src/android/net/http/UploadDataSink.java",
31        "java/src/android/net/http/UrlRequest.java",
32        "java/src/android/net/http/UrlResponseInfo.java",
33    ],
34    visibility: [
35        "//packages/modules/Connectivity:__subpackages__",
36    ],
37}
38
39java_genrule {
40    name: "httpclient_classes_java",
41    tool_files: [
42        ":httpclient_impl_internal{.jar}",
43        "package_prefix_exclude.txt",
44        "preloading_exclude.txt",
45    ],
46    tools: [
47        "jar-classes-collector",
48    ],
49    out: ["HttpEngineJavaClasses.java"],
50    cmd: "$(location jar-classes-collector) " +
51        "$(location :httpclient_impl_internal{.jar}) " +
52        "--prefix android.net.connectivity " +
53        "--prefix-excludes $(location package_prefix_exclude.txt) " +
54        "--excludes $(location preloading_exclude.txt) " +
55        "--java-package android.net.http " +
56        "--output $(out)",
57    visibility: [
58        "//external/cronet:__subpackages__",
59    ],
60}
61
62java_library {
63    name: "httpclient_api",
64    srcs: [
65        ":httpclient_api_sources",
66    ],
67    defaults: [
68        "cronet_aml_components_cronet_android_api_version",
69    ],
70    libs: [
71        "androidx.annotation_annotation",
72        "framework-annotations-lib",
73        "framework-connectivity.stubs.module_lib",
74        "cronet_aml_api_java",
75        "cronet_aml_java",
76        "httpclient_impl",
77    ],
78    static_libs: [
79        "com.android.net.http.flags-aconfig-java",
80    ],
81    sdk_version: "module_current",
82    visibility: [
83        "//packages/modules/Connectivity:__subpackages__",
84    ],
85}
86
87java_library {
88    name: "httpclient_impl",
89    srcs: [":httpclient_classes_java"],
90    static_libs: ["httpclient_impl_internal"],
91    sdk_version: "module_current",
92    min_sdk_version: "30",
93    visibility: [
94        "//packages/modules/Connectivity:__subpackages__",
95        "//external/cronet:__subpackages__",
96    ],
97    apex_available: [
98        "com.android.tethering",
99    ],
100}
101
102java_library {
103    name: "httpclient_impl_internal",
104    srcs: [
105        "java/src/android/net/http/*Wrapper.java",
106        "java/src/android/net/http/IHttpEngineBuilder.java",
107        "java/src/android/net/http/HeaderBlockImpl.java",
108        "java/src/android/net/http/CronetExceptionTranslationUtils.java",
109    ],
110    libs: [
111        "framework-connectivity.stubs",
112        "androidx.annotation_annotation",
113        "framework-annotations-lib",
114        "framework-connectivity.stubs.module_lib",
115    ],
116    static_libs: [
117        "cronet_aml_api_java",
118        "cronet_aml_java",
119    ],
120    sdk_version: "module_current",
121    min_sdk_version: "30",
122    visibility: [
123        "//packages/modules/Connectivity:__subpackages__",
124    ],
125    apex_available: [
126        "com.android.tethering",
127    ],
128}
129
130filegroup {
131    name: "remove_gen_jni_jarjar_rules",
132    srcs: ["tools/remove-gen-jni-jarjar-rules.txt"],
133    visibility: ["//external/cronet:__subpackages__"],
134}
135