blob: 6b62da9473264a8d51c02ce024aca8e5565c3f86 [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: [
Dan Stahre2be25f2023-01-16 18:02:30 +000033 "framework-tethering-defaults",
34 ],
Baligh Uddinf814b9b2020-10-29 02:11:55 +000035 impl_library_visibility: [
Baligh Uddinf814b9b2020-10-29 02:11:55 +000036 "//packages/modules/Connectivity/Tethering:__subpackages__",
Igor Chernyshev9dac6602022-12-13 19:28:32 -080037 "//packages/modules/Connectivity/framework",
38 "//packages/modules/Connectivity/framework-t",
39 "//packages/modules/Connectivity/service",
40 "//packages/modules/Connectivity/service-t",
markchien2fbd3e72021-08-17 23:59:09 +080041
42 // Using for test only
43 "//cts/tests/netlegacy22.api",
44 "//external/sl4a:__subpackages__",
Remi NGUYEN VANbdaa3512022-02-02 20:06:56 +090045 "//frameworks/base/core/tests/bandwidthtests",
46 "//frameworks/base/core/tests/benchmarks",
47 "//frameworks/base/core/tests/utillib",
markchien2fbd3e72021-08-17 23:59:09 +080048 "//frameworks/base/packages/Connectivity/tests:__subpackages__",
Aaron Huang7174ac32022-01-26 00:43:10 +080049 "//frameworks/base/tests/vcn",
markchien2fbd3e72021-08-17 23:59:09 +080050 "//frameworks/libs/net/common/testutils",
51 "//frameworks/libs/net/common/tests:__subpackages__",
52 "//frameworks/opt/telephony/tests/telephonytests",
53 "//packages/modules/CaptivePortalLogin/tests",
54 "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
Remi NGUYEN VANfe20e132021-06-07 13:10:49 +090055 "//packages/modules/Connectivity/tests:__subpackages__",
Aaron Huang7174ac32022-01-26 00:43:10 +080056 "//packages/modules/IPsec/tests/iketests",
markchien2fbd3e72021-08-17 23:59:09 +080057 "//packages/modules/NetworkStack/tests:__subpackages__",
58 "//packages/modules/Wifi/service/tests/wifitests",
Baligh Uddinf814b9b2020-10-29 02:11:55 +000059 ],
Remi NGUYEN VANf2010392021-03-24 22:50:35 +090060 stub_only_libs: ["framework-connectivity.stubs.module_lib"],
Dan Stahr1a8d9d12023-01-12 11:41:54 +000061
62 jarjar_rules: ":framework-tethering-jarjar-rules",
63 installable: true,
64
65 hostdex: true, // for hiddenapi check
66 permitted_packages: ["android.net"],
Motomu Utsumid4a1c632023-03-10 13:30:00 +090067 lint: { strict_updatability_linting: true },
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",
Mohannad Farrag9c6801f2023-03-23 12:45:45 +000077 srcs: [":cronet_aml_api_sources"],
Dan Stahre2be25f2023-01-16 18:02:30 +000078 libs: [
79 "androidx.annotation_annotation",
80 ],
81 impl_only_static_libs: [
Mohannad Farrag9c6801f2023-03-23 12:45:45 +000082 "cronet_aml_java",
Dan Stahre2be25f2023-01-16 18:02:30 +000083 ],
Dan Stahre2be25f2023-01-16 18:02:30 +000084}
85
86java_defaults {
87 name: "CronetJavaDefaultsDisabled",
Motomu Utsumi73e2e872023-04-14 19:22:42 +090088 api_dir: "cronet_disabled/api",
Dan Stahre2be25f2023-01-16 18:02:30 +000089}
90
91java_defaults {
92 name: "CronetJavaPrejarjarDefaults",
93 defaults: [cronet_java_prejarjar_defaults],
94}
95
96java_defaults {
97 name: "CronetJavaPrejarjarDefaultsDisabled",
98}
99
100java_defaults {
101 name: "CronetJavaPrejarjarDefaultsEnabled",
102 static_libs: [
Mohannad Farrag9c6801f2023-03-23 12:45:45 +0000103 "cronet_aml_api_java",
104 "cronet_aml_java"
Dan Stahre2be25f2023-01-16 18:02:30 +0000105 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000106}
107
108java_library {
109 name: "framework-tethering-pre-jarjar",
Dan Stahre2be25f2023-01-16 18:02:30 +0000110 defaults: [
111 "framework-tethering-defaults",
Dan Stahre2be25f2023-01-16 18:02:30 +0000112 ],
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000113}
114
115java_genrule {
116 name: "framework-tethering-jarjar-rules",
117 tool_files: [
118 ":framework-tethering-pre-jarjar{.jar}",
119 ":framework-tethering.stubs.module_lib{.jar}",
120 "jarjar-excludes.txt",
121 ],
122 tools: [
123 "jarjar-rules-generator",
124 ],
125 out: ["framework_tethering_jarjar_rules.txt"],
126 cmd: "$(location jarjar-rules-generator) " +
127 "$(location :framework-tethering-pre-jarjar{.jar}) " +
Anton Hansson57f3d692023-03-15 10:30:10 +0000128 "--apistubs $(location :framework-tethering.stubs.module_lib{.jar}) " +
Dan Stahr1a8d9d12023-01-12 11:41:54 +0000129 "--prefix android.net.http.internal " +
130 "--excludes $(location jarjar-excludes.txt) " +
131 "--output $(out)",
132}
133
134java_defaults {
135 name: "framework-tethering-defaults",
136 defaults: ["framework-module-defaults"],
137 srcs: [
138 ":framework-tethering-srcs"
139 ],
140 libs: ["framework-connectivity.stubs.module_lib"],
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900141 aidl: {
142 include_dirs: [
Baligh Uddin36847132021-05-23 16:38:40 +0000143 "packages/modules/Connectivity/framework/aidl-export",
Remi NGUYEN VAN74b27442021-01-15 20:26:28 +0900144 ],
145 },
Jiyong Park1eb89332020-01-06 13:30:59 +0900146 apex_available: ["com.android.tethering"],
Nikita Ioffe583e35a2020-10-31 22:41:41 +0000147 min_sdk_version: "30",
markchien932da862019-08-27 10:19:38 +0800148}
markchienee6ad372019-09-30 14:40:57 +0800149
markchienee6ad372019-09-30 14:40:57 +0800150filegroup {
markchien9d353822019-12-16 20:15:20 +0800151 name: "framework-tethering-srcs",
Anton Hansson57f3d692023-03-15 10:30:10 +0000152 defaults: ["framework-sources-module-defaults"],
markchien9d353822019-12-16 20:15:20 +0800153 srcs: [
Igor Chernyshev9dac6602022-12-13 19:28:32 -0800154 "src/**/*.aidl",
155 "src/**/*.java",
markchien9d353822019-12-16 20:15:20 +0800156 ],
157 path: "src"
markchienee6ad372019-09-30 14:40:57 +0800158}