blob: a94566f9fcb26e850463a0a724e343c60e12df11 [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}
34// This is a placeholder comment to avoid merge conflicts
35// as the above target may have different "enabled" values
36// depending on the branch
37
markchien0abdd112019-11-28 10:17:03 +080038apex {
markchien8f831c02019-12-18 17:47:26 +080039 name: "com.android.tethering",
markchien598a75b2021-11-22 10:36:32 +080040 defaults: ["ConnectivityApexDefaults"],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090041 compile_multilib: "both",
42 updatable: true,
43 min_sdk_version: "30",
satayev8bb425a2021-05-12 13:28:58 +010044 bootclasspath_fragments: [
45 "com.android.tethering-bootclasspath-fragment",
46 ],
Remi NGUYEN VAN2812f602021-01-08 01:19:44 +000047 java_libs: [
Remi NGUYEN VAN2812f602021-01-08 01:19:44 +000048 "service-connectivity",
49 ],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090050 multilib: {
51 first: {
Paul Duffinb28cb442021-05-26 10:46:20 +010052 jni_libs: ["libservice-connectivity"],
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090053 },
54 both: {
55 jni_libs: ["libframework-connectivity-jni"],
Paul Duffinb28cb442021-05-26 10:46:20 +010056 },
Remi NGUYEN VAN6d575ca2021-01-13 15:44:38 +090057 },
Maciej Żenczykowskie9810ff2021-01-14 20:02:08 -080058 bpfs: [
59 "offload.o",
60 "test.o",
61 ],
Remi NGUYEN VANaffd94b2021-03-08 23:09:31 +090062 apps: [
63 "ServiceConnectivityResources",
Remi NGUYEN VANaffd94b2021-03-08 23:09:31 +090064 ],
Anton Hansson89eb55f2021-05-20 17:53:46 +010065 prebuilts: ["current_sdkinfo"],
markchien0abdd112019-11-28 10:17:03 +080066 manifest: "manifest.json",
markchien8f831c02019-12-18 17:47:26 +080067 key: "com.android.tethering.key",
Nikita Ioffe5f333572021-02-04 01:42:45 +000068 // Indicates that pre-installed version of this apex can be compressed.
69 // Whether it actually will be compressed is controlled on per-device basis.
70 compressible: true,
markchien0abdd112019-11-28 10:17:03 +080071
72 androidManifest: "AndroidManifest.xml",
73}
74
75apex_key {
markchien8f831c02019-12-18 17:47:26 +080076 name: "com.android.tethering.key",
77 public_key: "com.android.tethering.avbpubkey",
78 private_key: "com.android.tethering.pem",
markchien0abdd112019-11-28 10:17:03 +080079}
80
81android_app_certificate {
markchien8f831c02019-12-18 17:47:26 +080082 name: "com.android.tethering.certificate",
83 certificate: "com.android.tethering",
markchien0abdd112019-11-28 10:17:03 +080084}
markchiendbaff662020-05-05 17:42:44 +080085
satayev8bb425a2021-05-12 13:28:58 +010086// Encapsulate the contributions made by the com.android.tethering to the bootclasspath.
87bootclasspath_fragment {
88 name: "com.android.tethering-bootclasspath-fragment",
89 contents: [
90 "framework-connectivity",
paulhu49ccb6a2021-12-14 01:30:22 +000091 "framework-connectivity-tiramisu",
satayev8bb425a2021-05-12 13:28:58 +010092 "framework-tethering",
93 ],
94 apex_available: ["com.android.tethering"],
Paul Duffinb28cb442021-05-26 10:46:20 +010095
96 // The bootclasspath_fragments that provide APIs on which this depends.
97 fragments: [
98 {
99 apex: "com.android.art",
100 module: "art-bootclasspath-fragment",
101 },
102 ],
103
104 // Additional stubs libraries that this fragment's contents use which are
105 // not provided by another bootclasspath_fragment.
106 additional_stubs: [
107 "android-non-updatable",
108 ],
109
110 // Additional hidden API flag files to override the defaults. This must only be
111 // modified by the Soong or platform compat team.
112 hidden_api: {
Remi NGUYEN VAN955c33c2021-12-16 15:10:40 +0000113 max_target_r_low_priority: [
114 "hiddenapi/hiddenapi-max-target-r-loprio.txt",
115 ],
116 max_target_o_low_priority: [
117 "hiddenapi/hiddenapi-max-target-o-low-priority.txt",
118 "hiddenapi/hiddenapi-max-target-o-low-priority-tiramisu.txt",
119 ],
Paul Duffinb28cb442021-05-26 10:46:20 +0100120 unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
121 },
satayev8bb425a2021-05-12 13:28:58 +0100122}
123
markchiendbaff662020-05-05 17:42:44 +0800124override_apex {
125 name: "com.android.tethering.inprocess",
126 base: "com.android.tethering",
127 package_name: "com.android.tethering.inprocess",
128 apps: [
Remi NGUYEN VANf0f0cca2021-03-12 15:04:29 +0000129 "ServiceConnectivityResources",
markchiendbaff662020-05-05 17:42:44 +0800130 "InProcessTethering",
131 ],
132}