blob: d3b01ea1f0ba92952f5dcd90caec40465bf778e4 [file] [log] [blame]
markchien0abdd112019-11-28 10:17:03 +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.
15//
16
Bob Badour97e6be22021-02-12 14:45:04 -080017package {
18 default_applicable_licenses: ["Android-Apache-2.0"],
19}
20
markchien598a75b2021-11-22 10:36:32 +080021// Defaults to enable/disable java targets which uses development APIs. "enabled" may have a
22// different value depending on the branch.
23java_defaults {
24 name: "ConnectivityNextEnableDefaults",
25 enabled: true,
26}
Remi NGUYEN VAN02eee9a2023-01-30 19:19:48 +090027java_defaults {
28 name: "NetworkStackApiShimSettingsForCurrentBranch",
29 // API shims to include in the networking modules built from the branch. Branches that disable
30 // the "next" targets must use stable shims (latest stable API level) instead of current shims
31 // (X_current API level).
32 static_libs: ["NetworkStackApiCurrentShims"],
33}
markchien598a75b2021-11-22 10:36:32 +080034apex_defaults {
35 name: "ConnectivityApexDefaults",
36 // Tethering app to include in the AOSP apex. Branches that disable the "next" targets may use
37 // a stable tethering app instead, but will generally override the AOSP apex to use updatable
38 // package names and keys, so that apex will be unused anyway.
39 apps: ["TetheringNext"], // Replace to "Tethering" if ConnectivityNextEnableDefaults is false.
40}
Remi NGUYEN VANf24553d2022-01-27 13:16:12 +090041enable_tethering_next_apex = true
markchien598a75b2021-11-22 10:36:32 +080042// This is a placeholder comment to avoid merge conflicts
43// as the above target may have different "enabled" values
44// depending on the branch
45
Dan Stahre2be25f2023-01-16 18:02:30 +000046apex_defaults {
47 name: "CronetInTetheringApexDefaults",
Stefano Duo43d89f62023-03-15 16:11:52 +000048 jni_libs: [
Mohannad Farrag9c6801f2023-03-23 12:45:45 +000049 "cronet_aml_components_cronet_android_cronet",
Stefano Duo43d89f62023-03-15 16:11:52 +000050 "//external/cronet/third_party/boringssl:libcrypto",
51 "//external/cronet/third_party/boringssl:libssl",
52 ],
Dan Stahre2be25f2023-01-16 18:02:30 +000053 arch: {
54 riscv64: {
55 // TODO: remove this when there is a riscv64 libcronet
Stefano Duo43d89f62023-03-15 16:11:52 +000056 exclude_jni_libs: [
Mohannad Farrag9c6801f2023-03-23 12:45:45 +000057 "cronet_aml_components_cronet_android_cronet",
Stefano Duo43d89f62023-03-15 16:11:52 +000058 "//external/cronet/third_party/boringssl:libcrypto",
59 "//external/cronet/third_party/boringssl:libssl",
60 ],
Dan Stahre2be25f2023-01-16 18:02:30 +000061 },
62 },
63}
64
markchien0abdd112019-11-28 10:17:03 +080065apex {
markchien8f831c02019-12-18 17:47:26 +080066 name: "com.android.tethering",
Gurpreet Singha12858d2022-03-04 15:34:29 +000067 defaults: [
68 "ConnectivityApexDefaults",
Dan Stahre2be25f2023-01-16 18:02:30 +000069 "CronetInTetheringApexDefaults",
Gurpreet Singha12858d2022-03-04 15:34:29 +000070 "r-launched-apex-module",
71 ],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090072 compile_multilib: "both",
satayev8bb425a2021-05-12 13:28:58 +010073 bootclasspath_fragments: [
74 "com.android.tethering-bootclasspath-fragment",
75 ],
Jiakai Zhang9ecc66d2021-12-20 16:54:13 +000076 systemserverclasspath_fragments: [
77 "com.android.tethering-systemserverclasspath-fragment",
Remi NGUYEN VAN2812f602021-01-08 01:19:44 +000078 ],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090079 multilib: {
80 first: {
markchien8fb75e32021-11-11 17:53:56 +080081 jni_libs: [
82 "libservice-connectivity",
Remi NGUYEN VAN6a20eed2022-01-31 11:21:08 +090083 "libandroid_net_connectivity_com_android_net_module_util_jni",
markchien8fb75e32021-11-11 17:53:56 +080084 ],
Remi NGUYEN VANfb70eba2022-04-04 20:26:16 +090085 native_shared_libs: [
86 "libcom.android.tethering.connectivity_native",
87 "libnetd_updatable",
88 ],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090089 },
90 both: {
Remi NGUYEN VANc8aa43c2022-02-02 13:03:29 +090091 jni_libs: [
92 "libframework-connectivity-jni",
93 "libframework-connectivity-tiramisu-jni"
94 ],
Paul Duffinb28cb442021-05-26 10:46:20 +010095 },
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090096 },
Hungming Chen378e3232021-12-16 21:56:02 +080097 binaries: [
98 "clatd",
99 ],
Hungming Chenf9d40ae2022-01-14 17:42:43 +0800100 canned_fs_config: "canned_fs_config",
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800101 bpfs: [
Tyler Wearb37f5512021-10-01 13:22:00 -0700102 "block.o",
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700103 "clatd.o",
Ken Chen74ff3ee2022-07-14 16:46:39 +0800104 "dscpPolicy.o",
Maciej Żenczykowskid72a5a72022-05-02 00:43:51 -0700105 "netd.o",
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800106 "offload.o",
Maciej Żenczykowski07d30132022-04-23 12:33:32 -0700107 "offload@btf.o",
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800108 "test.o",
Maciej Żenczykowski07d30132022-04-23 12:33:32 -0700109 "test@btf.o",
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -0800110 ],
Remi NGUYEN VANaffd94b2021-03-08 23:09:31 +0900111 apps: [
112 "ServiceConnectivityResources",
Remi NGUYEN VAN51935fc2022-01-07 13:18:54 +0900113 "HalfSheetUX",
Remi NGUYEN VANaffd94b2021-03-08 23:09:31 +0900114 ],
Anton Hansson1397a102023-05-25 07:04:33 +0000115 prebuilts: ["current_sdkinfo"],
markchien0abdd112019-11-28 10:17:03 +0800116 manifest: "manifest.json",
markchien8f831c02019-12-18 17:47:26 +0800117 key: "com.android.tethering.key",
Nikita Ioffe5f333572021-02-04 01:42:45 +0000118 // Indicates that pre-installed version of this apex can be compressed.
119 // Whether it actually will be compressed is controlled on per-device basis.
120 compressible: true,
markchien0abdd112019-11-28 10:17:03 +0800121
122 androidManifest: "AndroidManifest.xml",
Taras Antoshchuk30d41e52021-08-02 18:06:35 +0200123
Remi NGUYEN VAN348bbb02022-07-19 16:33:04 +0900124 compat_configs: [
125 "connectivity-platform-compat-config",
Remi NGUYEN VAN348bbb02022-07-19 16:33:04 +0900126 ],
markchien0abdd112019-11-28 10:17:03 +0800127}
128
129apex_key {
markchien8f831c02019-12-18 17:47:26 +0800130 name: "com.android.tethering.key",
131 public_key: "com.android.tethering.avbpubkey",
132 private_key: "com.android.tethering.pem",
markchien0abdd112019-11-28 10:17:03 +0800133}
134
135android_app_certificate {
markchien8f831c02019-12-18 17:47:26 +0800136 name: "com.android.tethering.certificate",
137 certificate: "com.android.tethering",
markchien0abdd112019-11-28 10:17:03 +0800138}
markchiendbaff662020-05-05 17:42:44 +0800139
Remi NGUYEN VANe55a88d2022-04-20 15:59:16 +0900140filegroup {
141 name: "connectivity-hiddenapi-files",
Paul Duffinc8164e42022-07-28 10:52:09 +0000142 srcs: [
143 ":connectivity-t-hiddenapi-files",
144 "hiddenapi/*.txt",
145 ],
Remi NGUYEN VANe55a88d2022-04-20 15:59:16 +0900146 visibility: ["//packages/modules/Connectivity:__subpackages__"],
147}
148
satayev8bb425a2021-05-12 13:28:58 +0100149// Encapsulate the contributions made by the com.android.tethering to the bootclasspath.
150bootclasspath_fragment {
151 name: "com.android.tethering-bootclasspath-fragment",
152 contents: [
153 "framework-connectivity",
paulhu699477a2022-02-08 21:25:28 +0800154 "framework-connectivity-t",
satayev8bb425a2021-05-12 13:28:58 +0100155 "framework-tethering",
156 ],
157 apex_available: ["com.android.tethering"],
Paul Duffinb28cb442021-05-26 10:46:20 +0100158
159 // The bootclasspath_fragments that provide APIs on which this depends.
160 fragments: [
161 {
162 apex: "com.android.art",
163 module: "art-bootclasspath-fragment",
164 },
165 ],
166
167 // Additional stubs libraries that this fragment's contents use which are
168 // not provided by another bootclasspath_fragment.
169 additional_stubs: [
170 "android-non-updatable",
171 ],
172
173 // Additional hidden API flag files to override the defaults. This must only be
174 // modified by the Soong or platform compat team.
175 hidden_api: {
Remi NGUYEN VAN955c33c2021-12-16 15:10:40 +0000176 max_target_o_low_priority: [
177 "hiddenapi/hiddenapi-max-target-o-low-priority.txt",
Paul Duffin8be17642022-03-10 17:44:54 +0000178 ],
Junyu Lai2ef865e2022-01-17 11:52:57 +0000179 unsupported: [
180 "hiddenapi/hiddenapi-unsupported.txt",
Junyu Lai2ef865e2022-01-17 11:52:57 +0000181 ],
Paul Duffin8be17642022-03-10 17:44:54 +0000182
183 // The following packages contain classes from other modules on the
184 // bootclasspath. That means that the hidden API flags for this module
185 // has to explicitly list every single class this module provides in
186 // that package to differentiate them from the classes provided by other
187 // modules. That can include private classes that are not part of the
188 // API.
189 split_packages: [
190 "android.app.usage",
191 "android.nearby",
192 "android.net",
Dan Stahre2be25f2023-01-16 18:02:30 +0000193 "android.net.http",
Paul Duffin8be17642022-03-10 17:44:54 +0000194 "android.net.netstats",
195 "android.net.util",
196 ],
197
198 // The following packages and all their subpackages currently only
199 // contain classes from this bootclasspath_fragment. Listing a package
200 // here won't prevent other bootclasspath modules from adding classes in
201 // any of those packages but it will prevent them from adding those
202 // classes into an API surface, e.g. public, system, etc.. Doing so will
203 // result in a build failure due to inconsistent flags.
204 package_prefixes: [
205 "android.nearby.aidl",
Igor Zaslavskyec344f42023-08-08 04:28:45 +0000206 "android.remoteauth.aidl",
207 "android.remoteauth",
Paul Duffin8be17642022-03-10 17:44:54 +0000208 "android.net.apf",
209 "android.net.connectivity",
Dan Stahre2be25f2023-01-16 18:02:30 +0000210 "android.net.http.apihelpers",
Paul Duffin8be17642022-03-10 17:44:54 +0000211 "android.net.netstats.provider",
212 "android.net.nsd",
Igor Chernyshev9dac6602022-12-13 19:28:32 -0800213 "android.net.wear",
Paul Duffin8be17642022-03-10 17:44:54 +0000214 ],
Paul Duffinb28cb442021-05-26 10:46:20 +0100215 },
satayev8bb425a2021-05-12 13:28:58 +0100216}
217
Jiakai Zhang9ecc66d2021-12-20 16:54:13 +0000218systemserverclasspath_fragment {
219 name: "com.android.tethering-systemserverclasspath-fragment",
220 standalone_contents: ["service-connectivity"],
221 apex_available: ["com.android.tethering"],
222}