blob: b99c9e4899741e247007d69c0861cc6fdac66040 [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"],
Motomu Utsumid4a1c632023-03-10 13:30:00 +090068 lint: { strict_updatability_linting: true },
Dan Stahre2be25f2023-01-16 18:02:30 +000069}
70
71java_defaults {
72 name: "CronetJavaDefaults",
73 defaults: [cronet_java_defaults],
74}
75
76java_defaults {
77 name: "CronetJavaDefaultsEnabled",
Stefano Duo2cd4ac82023-01-27 16:32:03 +000078 srcs: ["//external/cronet:cronet_aml_api_sources"],
Dan Stahre2be25f2023-01-16 18:02:30 +000079 libs: [
80 "androidx.annotation_annotation",
81 ],
82 impl_only_static_libs: [
Stefano Duo2cd4ac82023-01-27 16:32:03 +000083 "//external/cronet:cronet_aml_java",
Dan Stahre2be25f2023-01-16 18:02:30 +000084 ],
Dan Stahre2be25f2023-01-16 18:02:30 +000085 api_dir: "cronet_enabled/api",
86}
87
88java_defaults {
89 name: "CronetJavaDefaultsDisabled",
Dan Stahre2be25f2023-01-16 18:02:30 +000090}
91
92java_defaults {
93 name: "CronetJavaPrejarjarDefaults",
94 defaults: [cronet_java_prejarjar_defaults],
95}
96
97java_defaults {
98 name: "CronetJavaPrejarjarDefaultsDisabled",
99}
100
101java_defaults {
102 name: "CronetJavaPrejarjarDefaultsEnabled",
103 static_libs: [
Stefano Duo2cd4ac82023-01-27 16:32:03 +0000104 "//external/cronet:cronet_aml_api_java",
105 "//external/cronet:cronet_aml_java"
Dan Stahre2be25f2023-01-16 18:02:30 +0000106 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000107}
108
109java_library {
110 name: "framework-tethering-pre-jarjar",
Dan Stahre2be25f2023-01-16 18:02:30 +0000111 defaults: [
112 "framework-tethering-defaults",
113 "CronetJavaPrejarjarDefaults",
114 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000115}
116
117java_genrule {
118 name: "framework-tethering-jarjar-rules",
119 tool_files: [
120 ":framework-tethering-pre-jarjar{.jar}",
121 ":framework-tethering.stubs.module_lib{.jar}",
122 "jarjar-excludes.txt",
123 ],
124 tools: [
125 "jarjar-rules-generator",
126 ],
127 out: ["framework_tethering_jarjar_rules.txt"],
128 cmd: "$(location jarjar-rules-generator) " +
129 "$(location :framework-tethering-pre-jarjar{.jar}) " +
130 "--apistubs $(location :framework-tethering.stubs.module_lib{.jar}) " +
131 "--prefix android.net.http.internal " +
132 "--excludes $(location jarjar-excludes.txt) " +
133 "--output $(out)",
134}
135
136java_defaults {
137 name: "framework-tethering-defaults",
138 defaults: ["framework-module-defaults"],
139 srcs: [
140 ":framework-tethering-srcs"
141 ],
142 libs: ["framework-connectivity.stubs.module_lib"],
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900143 aidl: {
144 include_dirs: [
Baligh Uddin36847132021-05-23 16:38:40 +0000145 "packages/modules/Connectivity/framework/aidl-export",
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900146 ],
147 },
Jiyong Park1eb89332020-01-06 13:30:59 +0900148 apex_available: ["com.android.tethering"],
Nikita Ioffe583e35a2020-10-31 22:41:41 +0000149 min_sdk_version: "30",
markchien932da862019-08-27 10:19:38 +0800150}
markchienee6ad372019-09-30 14:40:57 +0800151
markchienee6ad372019-09-30 14:40:57 +0800152filegroup {
markchien9d353822019-12-16 20:15:20 +0800153 name: "framework-tethering-srcs",
154 srcs: [
Igor Chernyshev9dac6602022-12-13 19:28:32 -0800155 "src/**/*.aidl",
156 "src/**/*.java",
markchien9d353822019-12-16 20:15:20 +0800157 ],
158 path: "src"
markchienee6ad372019-09-30 14:40:57 +0800159}