blob: cbdf0c06a3b9251ba9fa4387a6289409eb1243e3 [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
Motomu Utsumi841643a2023-01-17 14:51:46 +090030// cronet_java_defaults_enabled_srcs is used to specify the srcs of CronetJavaDefaultsEnabled
31// This is required until the external/cronet is auto-merged to tm-mainline-prod and
32// :cronet_aml_api_sources is available
33cronet_java_defaults_enabled_srcs = [":cronet_aml_api_sources"]
34// This is a placeholder comment to avoid merge conflicts
35// as cronet_defaults may have different values
36// depending on the branch
37
Paul Duffin2dae2722020-05-13 12:28:49 +010038java_sdk_library {
markchien9d353822019-12-16 20:15:20 +080039 name: "framework-tethering",
Dan Stahre2be25f2023-01-16 18:02:30 +000040 defaults: [
41 "CronetJavaDefaults",
42 "framework-tethering-defaults",
43 ],
Baligh Uddinf814b9b2020-10-29 02:11:55 +000044 impl_library_visibility: [
Baligh Uddinf814b9b2020-10-29 02:11:55 +000045 "//packages/modules/Connectivity/Tethering:__subpackages__",
Igor Chernyshev9dac6602022-12-13 19:28:32 -080046 "//packages/modules/Connectivity/framework",
47 "//packages/modules/Connectivity/framework-t",
48 "//packages/modules/Connectivity/service",
49 "//packages/modules/Connectivity/service-t",
markchien2fbd3e72021-08-17 23:59:09 +080050
51 // Using for test only
52 "//cts/tests/netlegacy22.api",
53 "//external/sl4a:__subpackages__",
Remi NGUYEN VANbdaa3512022-02-02 20:06:56 +090054 "//frameworks/base/core/tests/bandwidthtests",
55 "//frameworks/base/core/tests/benchmarks",
56 "//frameworks/base/core/tests/utillib",
markchien2fbd3e72021-08-17 23:59:09 +080057 "//frameworks/base/packages/Connectivity/tests:__subpackages__",
Aaron Huang7174ac32022-01-26 00:43:10 +080058 "//frameworks/base/tests/vcn",
markchien2fbd3e72021-08-17 23:59:09 +080059 "//frameworks/libs/net/common/testutils",
60 "//frameworks/libs/net/common/tests:__subpackages__",
61 "//frameworks/opt/telephony/tests/telephonytests",
62 "//packages/modules/CaptivePortalLogin/tests",
63 "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
Remi NGUYEN VANfe20e132021-06-07 13:10:49 +090064 "//packages/modules/Connectivity/tests:__subpackages__",
Aaron Huang7174ac32022-01-26 00:43:10 +080065 "//packages/modules/IPsec/tests/iketests",
markchien2fbd3e72021-08-17 23:59:09 +080066 "//packages/modules/NetworkStack/tests:__subpackages__",
67 "//packages/modules/Wifi/service/tests/wifitests",
Baligh Uddinf814b9b2020-10-29 02:11:55 +000068 ],
Remi NGUYEN VANf2010392021-03-24 22:50:35 +090069 stub_only_libs: ["framework-connectivity.stubs.module_lib"],
Dan Stahr1a8d9d12023-01-12 11:41:54 +000070
71 jarjar_rules: ":framework-tethering-jarjar-rules",
72 installable: true,
73
74 hostdex: true, // for hiddenapi check
75 permitted_packages: ["android.net"],
Dan Stahre2be25f2023-01-16 18:02:30 +000076}
77
78java_defaults {
79 name: "CronetJavaDefaults",
80 defaults: [cronet_java_defaults],
81}
82
83java_defaults {
84 name: "CronetJavaDefaultsEnabled",
85 srcs: cronet_java_defaults_enabled_srcs,
86 libs: [
87 "androidx.annotation_annotation",
88 ],
89 impl_only_static_libs: [
90 "cronet_aml_java",
91 ],
92 // STOPSHIP(b/265674359): fix all Cronet lint warnings and re-enable lint
93 // directly in framework-tethering
94 lint: {
95 enabled: false,
96 },
97 api_lint: {
98 enabled: false,
99 },
100 api_dir: "cronet_enabled/api",
101}
102
103java_defaults {
104 name: "CronetJavaDefaultsDisabled",
105 lint: { strict_updatability_linting: true },
106}
107
108java_defaults {
109 name: "CronetJavaPrejarjarDefaults",
110 defaults: [cronet_java_prejarjar_defaults],
111}
112
113java_defaults {
114 name: "CronetJavaPrejarjarDefaultsDisabled",
115}
116
117java_defaults {
118 name: "CronetJavaPrejarjarDefaultsEnabled",
119 static_libs: [
120 "cronet_aml_api_java",
121 "cronet_aml_java"
122 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000123}
124
125java_library {
126 name: "framework-tethering-pre-jarjar",
Dan Stahre2be25f2023-01-16 18:02:30 +0000127 defaults: [
128 "framework-tethering-defaults",
129 "CronetJavaPrejarjarDefaults",
130 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000131}
132
133java_genrule {
134 name: "framework-tethering-jarjar-rules",
135 tool_files: [
136 ":framework-tethering-pre-jarjar{.jar}",
137 ":framework-tethering.stubs.module_lib{.jar}",
138 "jarjar-excludes.txt",
139 ],
140 tools: [
141 "jarjar-rules-generator",
142 ],
143 out: ["framework_tethering_jarjar_rules.txt"],
144 cmd: "$(location jarjar-rules-generator) " +
145 "$(location :framework-tethering-pre-jarjar{.jar}) " +
146 "--apistubs $(location :framework-tethering.stubs.module_lib{.jar}) " +
147 "--prefix android.net.http.internal " +
148 "--excludes $(location jarjar-excludes.txt) " +
149 "--output $(out)",
150}
151
152java_defaults {
153 name: "framework-tethering-defaults",
154 defaults: ["framework-module-defaults"],
155 srcs: [
156 ":framework-tethering-srcs"
157 ],
158 libs: ["framework-connectivity.stubs.module_lib"],
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900159 aidl: {
160 include_dirs: [
Baligh Uddin36847132021-05-23 16:38:40 +0000161 "packages/modules/Connectivity/framework/aidl-export",
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900162 ],
163 },
Jiyong Park1eb89332020-01-06 13:30:59 +0900164 apex_available: ["com.android.tethering"],
Nikita Ioffe583e35a2020-10-31 22:41:41 +0000165 min_sdk_version: "30",
markchien932da862019-08-27 10:19:38 +0800166}
markchienee6ad372019-09-30 14:40:57 +0800167
markchienee6ad372019-09-30 14:40:57 +0800168filegroup {
markchien9d353822019-12-16 20:15:20 +0800169 name: "framework-tethering-srcs",
170 srcs: [
Igor Chernyshev9dac6602022-12-13 19:28:32 -0800171 "src/**/*.aidl",
172 "src/**/*.java",
markchien9d353822019-12-16 20:15:20 +0800173 ],
174 path: "src"
markchienee6ad372019-09-30 14:40:57 +0800175}