blob: 4c677d021d6539cea32b51ef59e96a560bb98bdb [file] [log] [blame]
markchien932da862019-08-27 10:19:38 +08001//
2// Copyright (C) 2019 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8// http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
markchien932da862019-08-27 10:19:38 +080015
Bob Badour97e6be22021-02-12 14:45:04 -080016package {
17 default_applicable_licenses: ["Android-Apache-2.0"],
18}
19
Patrick Rohr3b9ba6a2023-01-05 22:50:58 -080020// Both cronet_java_defaults and cronet_java_prejarjar_defaults can be used to
21// specify a java_defaults target that either enables or disables Cronet. This
22// is used to disable Cronet on tm-mainline-prod.
23// Note: they must either both be enabled or disabled.
Patrick Rohra6d600f2023-01-06 02:06:00 -080024cronet_java_defaults = "CronetJavaDefaultsEnabled"
25cronet_java_prejarjar_defaults = "CronetJavaPrejarjarDefaultsEnabled"
Patrick Rohr3b9ba6a2023-01-05 22:50:58 -080026// This is a placeholder comment to avoid merge conflicts
27// as cronet_defaults may have different values
28// depending on the branch
29
Paul Duffin2dae2722020-05-13 12:28:49 +010030java_sdk_library {
markchien9d353822019-12-16 20:15:20 +080031 name: "framework-tethering",
Dan Stahre2be25f2023-01-16 18:02:30 +000032 defaults: [
33 "CronetJavaDefaults",
34 "framework-tethering-defaults",
35 ],
Baligh Uddinf814b9b2020-10-29 02:11:55 +000036 impl_library_visibility: [
Baligh Uddinf814b9b2020-10-29 02:11:55 +000037 "//packages/modules/Connectivity/Tethering:__subpackages__",
Igor Chernyshev9dac6602022-12-13 19:28:32 -080038 "//packages/modules/Connectivity/framework",
39 "//packages/modules/Connectivity/framework-t",
40 "//packages/modules/Connectivity/service",
41 "//packages/modules/Connectivity/service-t",
markchien2fbd3e72021-08-17 23:59:09 +080042
43 // Using for test only
44 "//cts/tests/netlegacy22.api",
45 "//external/sl4a:__subpackages__",
Remi NGUYEN VANbdaa3512022-02-02 20:06:56 +090046 "//frameworks/base/core/tests/bandwidthtests",
47 "//frameworks/base/core/tests/benchmarks",
48 "//frameworks/base/core/tests/utillib",
markchien2fbd3e72021-08-17 23:59:09 +080049 "//frameworks/base/packages/Connectivity/tests:__subpackages__",
Aaron Huang7174ac32022-01-26 00:43:10 +080050 "//frameworks/base/tests/vcn",
markchien2fbd3e72021-08-17 23:59:09 +080051 "//frameworks/libs/net/common/testutils",
52 "//frameworks/libs/net/common/tests:__subpackages__",
53 "//frameworks/opt/telephony/tests/telephonytests",
54 "//packages/modules/CaptivePortalLogin/tests",
55 "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
Remi NGUYEN VANfe20e132021-06-07 13:10:49 +090056 "//packages/modules/Connectivity/tests:__subpackages__",
Aaron Huang7174ac32022-01-26 00:43:10 +080057 "//packages/modules/IPsec/tests/iketests",
markchien2fbd3e72021-08-17 23:59:09 +080058 "//packages/modules/NetworkStack/tests:__subpackages__",
59 "//packages/modules/Wifi/service/tests/wifitests",
Baligh Uddinf814b9b2020-10-29 02:11:55 +000060 ],
Remi NGUYEN VANf2010392021-03-24 22:50:35 +090061 stub_only_libs: ["framework-connectivity.stubs.module_lib"],
Dan Stahr1a8d9d12023-01-12 11:41:54 +000062
63 jarjar_rules: ":framework-tethering-jarjar-rules",
64 installable: true,
65
66 hostdex: true, // for hiddenapi check
67 permitted_packages: ["android.net"],
Dan Stahre2be25f2023-01-16 18:02:30 +000068}
69
70java_defaults {
71 name: "CronetJavaDefaults",
72 defaults: [cronet_java_defaults],
73}
74
75java_defaults {
76 name: "CronetJavaDefaultsEnabled",
Patrick Rohrffdeb182023-01-24 02:58:53 -080077 srcs: [":cronet_aml_api_sources"],
Dan Stahre2be25f2023-01-16 18:02:30 +000078 libs: [
79 "androidx.annotation_annotation",
80 ],
81 impl_only_static_libs: [
82 "cronet_aml_java",
83 ],
84 // STOPSHIP(b/265674359): fix all Cronet lint warnings and re-enable lint
85 // directly in framework-tethering
86 lint: {
87 enabled: false,
88 },
89 api_lint: {
90 enabled: false,
91 },
92 api_dir: "cronet_enabled/api",
93}
94
95java_defaults {
96 name: "CronetJavaDefaultsDisabled",
97 lint: { strict_updatability_linting: true },
98}
99
100java_defaults {
101 name: "CronetJavaPrejarjarDefaults",
102 defaults: [cronet_java_prejarjar_defaults],
103}
104
105java_defaults {
106 name: "CronetJavaPrejarjarDefaultsDisabled",
107}
108
109java_defaults {
110 name: "CronetJavaPrejarjarDefaultsEnabled",
111 static_libs: [
112 "cronet_aml_api_java",
113 "cronet_aml_java"
114 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000115}
116
117java_library {
118 name: "framework-tethering-pre-jarjar",
Dan Stahre2be25f2023-01-16 18:02:30 +0000119 defaults: [
120 "framework-tethering-defaults",
121 "CronetJavaPrejarjarDefaults",
122 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000123}
124
125java_genrule {
126 name: "framework-tethering-jarjar-rules",
127 tool_files: [
128 ":framework-tethering-pre-jarjar{.jar}",
129 ":framework-tethering.stubs.module_lib{.jar}",
130 "jarjar-excludes.txt",
131 ],
132 tools: [
133 "jarjar-rules-generator",
134 ],
135 out: ["framework_tethering_jarjar_rules.txt"],
136 cmd: "$(location jarjar-rules-generator) " +
137 "$(location :framework-tethering-pre-jarjar{.jar}) " +
138 "--apistubs $(location :framework-tethering.stubs.module_lib{.jar}) " +
139 "--prefix android.net.http.internal " +
140 "--excludes $(location jarjar-excludes.txt) " +
141 "--output $(out)",
142}
143
144java_defaults {
145 name: "framework-tethering-defaults",
146 defaults: ["framework-module-defaults"],
147 srcs: [
148 ":framework-tethering-srcs"
149 ],
150 libs: ["framework-connectivity.stubs.module_lib"],
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900151 aidl: {
152 include_dirs: [
Baligh Uddin36847132021-05-23 16:38:40 +0000153 "packages/modules/Connectivity/framework/aidl-export",
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900154 ],
155 },
Jiyong Park1eb89332020-01-06 13:30:59 +0900156 apex_available: ["com.android.tethering"],
Nikita Ioffe583e35a2020-10-31 22:41:41 +0000157 min_sdk_version: "30",
markchien932da862019-08-27 10:19:38 +0800158}
markchienee6ad372019-09-30 14:40:57 +0800159
markchienee6ad372019-09-30 14:40:57 +0800160filegroup {
markchien9d353822019-12-16 20:15:20 +0800161 name: "framework-tethering-srcs",
162 srcs: [
Igor Chernyshev9dac6602022-12-13 19:28:32 -0800163 "src/**/*.aidl",
164 "src/**/*.java",
markchien9d353822019-12-16 20:15:20 +0800165 ],
166 path: "src"
markchienee6ad372019-09-30 14:40:57 +0800167}