blob: 4c4368f4b12ff738a87d9fa404650b4f305e19be [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",
markchien06f04162021-11-24 15:34:39 +080025 enabled: false,
markchien598a75b2021-11-22 10:36:32 +080026}
27apex_defaults {
28 name: "ConnectivityApexDefaults",
29 // Tethering app to include in the AOSP apex. Branches that disable the "next" targets may use
30 // a stable tethering app instead, but will generally override the AOSP apex to use updatable
31 // package names and keys, so that apex will be unused anyway.
markchien06f04162021-11-24 15:34:39 +080032 apps: ["Tethering"], // Replace to "Tethering" if ConnectivityNextEnableDefaults is false.
markchien598a75b2021-11-22 10:36:32 +080033}
Remi NGUYEN VANd981a682022-01-27 13:23:18 +000034enable_tethering_next_apex = false
markchien598a75b2021-11-22 10:36:32 +080035// This is a placeholder comment to avoid merge conflicts
36// as the above target may have different "enabled" values
37// depending on the branch
38
markchien0abdd112019-11-28 10:17:03 +080039apex {
markchien8f831c02019-12-18 17:47:26 +080040 name: "com.android.tethering",
Gurpreet Singha12858d2022-03-04 15:34:29 +000041 defaults: [
42 "ConnectivityApexDefaults",
43 "r-launched-apex-module",
44 ],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090045 compile_multilib: "both",
satayev8bb425a2021-05-12 13:28:58 +010046 bootclasspath_fragments: [
47 "com.android.tethering-bootclasspath-fragment",
48 ],
Jiakai Zhang0a9df3b2021-12-20 16:54:13 +000049 systemserverclasspath_fragments: [
50 "com.android.tethering-systemserverclasspath-fragment",
Remi NGUYEN VAN2812f602021-01-08 01:19:44 +000051 ],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090052 multilib: {
53 first: {
markchien8fb75e32021-11-11 17:53:56 +080054 jni_libs: [
55 "libservice-connectivity",
Remi NGUYEN VAN6a20eed2022-01-31 11:21:08 +090056 "libandroid_net_connectivity_com_android_net_module_util_jni",
markchien8fb75e32021-11-11 17:53:56 +080057 ],
Ken Chen1647f602021-10-05 21:55:22 +080058 native_shared_libs: ["libnetd_updatable"],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090059 },
60 both: {
junyulai66ed3db2022-02-16 16:43:32 +080061 jni_libs: [
62 "libframework-connectivity-jni",
paulhu9211a8f2022-03-01 11:41:07 +080063 // Changed in sc-mainline-prod only: no framework-connectivity-t
junyulai66ed3db2022-02-16 16:43:32 +080064 // "libframework-connectivity-tiramisu-jni"
65 ],
Paul Duffinb28cb442021-05-26 10:46:20 +010066 },
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090067 },
Hungming Chen378e3232021-12-16 21:56:02 +080068 binaries: [
69 "clatd",
70 ],
Hungming Chenf9d40ae2022-01-14 17:42:43 +080071 canned_fs_config: "canned_fs_config",
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080072 bpfs: [
Maciej Żenczykowski849b3aa2022-01-20 20:58:34 -080073 "clatd.o_mainline",
Ken Chen587d4232022-01-17 17:18:43 +080074 "netd.o_mainline",
Tyler Wear72388212021-09-09 14:49:02 -070075 "dscp_policy.o",
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080076 "offload.o",
77 "test.o",
78 ],
Remi NGUYEN VANaffd94b2021-03-08 23:09:31 +090079 apps: [
80 "ServiceConnectivityResources",
Remi NGUYEN VANaffd94b2021-03-08 23:09:31 +090081 ],
Andrei Onea52eac022021-12-03 15:11:27 +000082 prebuilts: [
83 "current_sdkinfo",
84 "privapp_allowlist_com.android.tethering",
85 ],
markchien0abdd112019-11-28 10:17:03 +080086 manifest: "manifest.json",
markchien8f831c02019-12-18 17:47:26 +080087 key: "com.android.tethering.key",
Nikita Ioffe5f333572021-02-04 01:42:45 +000088 // Indicates that pre-installed version of this apex can be compressed.
89 // Whether it actually will be compressed is controlled on per-device basis.
90 compressible: true,
markchien0abdd112019-11-28 10:17:03 +080091
92 androidManifest: "AndroidManifest.xml",
93}
94
95apex_key {
markchien8f831c02019-12-18 17:47:26 +080096 name: "com.android.tethering.key",
97 public_key: "com.android.tethering.avbpubkey",
98 private_key: "com.android.tethering.pem",
markchien0abdd112019-11-28 10:17:03 +080099}
100
101android_app_certificate {
markchien8f831c02019-12-18 17:47:26 +0800102 name: "com.android.tethering.certificate",
103 certificate: "com.android.tethering",
markchien0abdd112019-11-28 10:17:03 +0800104}
markchiendbaff662020-05-05 17:42:44 +0800105
satayev8bb425a2021-05-12 13:28:58 +0100106// Encapsulate the contributions made by the com.android.tethering to the bootclasspath.
107bootclasspath_fragment {
108 name: "com.android.tethering-bootclasspath-fragment",
109 contents: [
110 "framework-connectivity",
paulhu9211a8f2022-03-01 11:41:07 +0800111 // Changed in sc-mainline-prod only: no framework-connectivity-t
satayev8bb425a2021-05-12 13:28:58 +0100112 "framework-tethering",
113 ],
114 apex_available: ["com.android.tethering"],
Paul Duffinb28cb442021-05-26 10:46:20 +0100115
116 // The bootclasspath_fragments that provide APIs on which this depends.
117 fragments: [
118 {
119 apex: "com.android.art",
120 module: "art-bootclasspath-fragment",
121 },
122 ],
123
124 // Additional stubs libraries that this fragment's contents use which are
125 // not provided by another bootclasspath_fragment.
126 additional_stubs: [
127 "android-non-updatable",
128 ],
129
130 // Additional hidden API flag files to override the defaults. This must only be
131 // modified by the Soong or platform compat team.
132 hidden_api: {
Remi NGUYEN VAN955c33c2021-12-16 15:10:40 +0000133 max_target_r_low_priority: [
Remi NGUYEN VAN22ea8772021-12-16 15:17:28 +0000134 // Changed in sc-mainline-prod only: no list for
paulhu9211a8f2022-03-01 11:41:07 +0800135 // framework-connectivity-t APIs as it is not in the APEX
Remi NGUYEN VAN955c33c2021-12-16 15:10:40 +0000136 ],
137 max_target_o_low_priority: [
138 "hiddenapi/hiddenapi-max-target-o-low-priority.txt",
Remi NGUYEN VAN22ea8772021-12-16 15:17:28 +0000139 // Changed in sc-mainline-prod only: no list for
paulhu9211a8f2022-03-01 11:41:07 +0800140 // framework-connectivity-t APIs as it is not in the APEX
Remi NGUYEN VAN955c33c2021-12-16 15:10:40 +0000141 ],
markchiendc72f282022-02-18 00:09:20 +0800142 unsupported: [
143 "hiddenapi/hiddenapi-unsupported.txt",
paulhu9211a8f2022-03-01 11:41:07 +0800144 // Changed in sc-mainline-prod only: no framework-connectivity-t
markchiendc72f282022-02-18 00:09:20 +0800145 // "hiddenapi/hiddenapi-unsupported-tiramisu.txt",
146 ],
Paul Duffinb28cb442021-05-26 10:46:20 +0100147 },
satayev8bb425a2021-05-12 13:28:58 +0100148}
149
Jiakai Zhang0a9df3b2021-12-20 16:54:13 +0000150systemserverclasspath_fragment {
151 name: "com.android.tethering-systemserverclasspath-fragment",
152 standalone_contents: ["service-connectivity"],
153 apex_available: ["com.android.tethering"],
154}
155
markchiendbaff662020-05-05 17:42:44 +0800156override_apex {
157 name: "com.android.tethering.inprocess",
158 base: "com.android.tethering",
159 package_name: "com.android.tethering.inprocess",
Remi NGUYEN VANf24553d2022-01-27 13:16:12 +0900160 enabled: enable_tethering_next_apex,
markchiendbaff662020-05-05 17:42:44 +0800161 apps: [
Remi NGUYEN VANf0f0cca2021-03-12 15:04:29 +0000162 "ServiceConnectivityResources",
markchiendbaff662020-05-05 17:42:44 +0800163 "InProcessTethering",
164 ],
165}