blob: 614777e5dd60d40bf11eb20012afc706c2979924 [file] [log] [blame]
Roshan Piusa1385b52019-11-25 14:06:54 -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 Badourc446a522021-02-04 00:08:31 -080017package {
18 default_applicable_licenses: ["Android-Apache-2.0"],
19}
20
Roshan Pius455f2e22019-12-12 13:44:39 -080021apex_defaults {
22 name: "com.android.wifi-defaults",
23 androidManifest: ":com.android.wifi-androidManifest",
satayevfdbab0c2021-05-11 19:25:32 +010024 bootclasspath_fragments: ["com.android.wifi-bootclasspath-fragment"],
Jiakai Zhangc13f2db2021-11-17 12:00:53 +000025 systemserverclasspath_fragments: ["com.android.wifi-systemserverclasspath-fragment"],
Les Leed0c76e42022-01-24 22:19:05 +080026 compat_configs: ["wifi-compat-config"],
David Su7f8f5b92020-01-22 14:05:28 -080027 // from build rule `cacerts_wfa`
28 prebuilts: [
ThiƩbaud Weksteenc7e07362024-03-20 09:17:37 +110029 "cacerts_wfa",
Gabriel Birena5a9cdc2024-10-29 21:48:01 +000030 "mainline_supplicant_conf",
31 "mainline_supplicant_rc",
David Su7f8f5b92020-01-22 14:05:28 -080032 ],
Roshan Pius455f2e22019-12-12 13:44:39 -080033 key: "com.android.wifi.key",
34 certificate: ":com.android.wifi.certificate",
David Su16a28192020-02-12 17:38:06 -080035 apps: [
David Su16a28192020-02-12 17:38:06 -080036 "OsuLogin",
David Sua72d9e32020-03-24 19:11:35 -070037 "ServiceWifiResources",
Quang Luong79a07cf2021-12-13 12:11:39 -080038 "WifiDialog",
David Su16a28192020-02-12 17:38:06 -080039 ],
Gabriel Biren0b8cabd2024-10-10 00:26:13 +000040 binaries: select(release_flag("RELEASE_WIFI_MAINLINE_SUPPLICANT_BINARY"), {
Gabriel Birend1e48652024-11-13 16:45:36 +000041 true: ["wpa_supplicant_mainline"],
Gabriel Biren0b8cabd2024-10-10 00:26:13 +000042 default: [],
43 }),
Gabriel Birend0d23052024-10-08 21:42:03 +000044 jni_libs: [
45 "libservice-wifi-jni",
46 ],
Gurpreet Singh157827b2022-03-04 16:05:10 +000047 defaults: ["r-launched-apex-module"],
Samiul Islambe3a6412021-06-30 14:08:27 +010048 // Indicates that pre-installed version of this apex can be compressed.
49 // Whether it actually will be compressed is controlled on per-device basis.
50 compressible: true,
Roshan Pius455f2e22019-12-12 13:44:39 -080051}
52
53filegroup {
54 name: "com.android.wifi-androidManifest",
55 srcs: ["AndroidManifest.xml"],
56}
57
Roshan Piusa1385b52019-11-25 14:06:54 -080058// Mainline wifi apex module.
59apex {
60 name: "com.android.wifi",
Roshan Pius455f2e22019-12-12 13:44:39 -080061 defaults: ["com.android.wifi-defaults"],
Roshan Piusa1385b52019-11-25 14:06:54 -080062 manifest: "apex_manifest.json",
Roshan Piusa1385b52019-11-25 14:06:54 -080063}
64
65apex_key {
66 name: "com.android.wifi.key",
67 public_key: "com.android.wifi.avbpubkey",
68 private_key: "com.android.wifi.pem",
69}
70
71android_app_certificate {
72 name: "com.android.wifi.certificate",
73 certificate: "com.android.wifi",
74}
Hai Zhanga171fa22021-02-13 22:30:48 -080075
76sdk {
77 name: "wifi-module-sdk",
Paul Duffind854abf2022-07-13 11:18:51 +000078 apexes: [
79 // Adds exportable dependencies of the APEX to the sdk,
80 // e.g. *classpath_fragments.
81 "com.android.wifi",
82 ],
Hai Zhanga171fa22021-02-13 22:30:48 -080083}
satayevfdbab0c2021-05-11 19:25:32 +010084
85// Encapsulate the contributions made by the com.android.wifi to the bootclasspath.
86bootclasspath_fragment {
87 name: "com.android.wifi-bootclasspath-fragment",
88 contents: ["framework-wifi"],
89 apex_available: ["com.android.wifi"],
Paul Duffined9350c2021-06-28 18:28:30 +010090
91 // The bootclasspath_fragments that provide APIs on which this depends.
92 fragments: [
93 {
94 apex: "com.android.art",
95 module: "art-bootclasspath-fragment",
96 },
97 ],
98
99 // Additional stubs libraries that this fragment's contents use which are
100 // not provided by another bootclasspath_fragment.
101 additional_stubs: [
102 "android-non-updatable",
103 ],
104
105 // Additional hidden API flag files to override the defaults. This must only be
106 // modified by the Soong or platform compat team.
107 hidden_api: {
108 max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
109 max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
110 unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
Paul Duffin66cccbf2022-03-31 13:44:19 +0000111
112 // The following packages contain classes from other modules on the
113 // bootclasspath. That means that the hidden API flags for this module
114 // has to explicitly list every single class this module provides in
115 // that package to differentiate them from the classes provided by other
116 // modules. That can include private classes that are not part of the
117 // API.
118 split_packages: [
119 "android.net.wifi",
120 ],
121
122 // The following packages and all their subpackages currently only
123 // contain classes from this bootclasspath_fragment. Listing a package
124 // here won't prevent other bootclasspath modules from adding classes in
125 // any of those packages but it will prevent them from adding those
126 // classes into an API surface, e.g. public, system, etc.. Doing so will
127 // result in a build failure due to inconsistent flags.
128 package_prefixes: [
129 "android.net.wifi.aware",
130 "android.net.wifi.hotspot2",
131 "android.net.wifi.p2p",
132 "android.net.wifi.rtt",
Mahesh KKVcce73752024-01-31 21:33:57 -0800133 "android.net.wifi.twt",
maheshkkva73fdb62024-10-25 20:33:46 -0700134 "android.net.wifi.usd",
Paul Duffin66cccbf2022-03-31 13:44:19 +0000135 "android.net.wifi.util",
136 "com.android.wifi",
137 ],
Paul Duffined9350c2021-06-28 18:28:30 +0100138 },
satayevfdbab0c2021-05-11 19:25:32 +0100139}
Jiakai Zhangc13f2db2021-11-17 12:00:53 +0000140
141systemserverclasspath_fragment {
142 name: "com.android.wifi-systemserverclasspath-fragment",
143 standalone_contents: ["service-wifi"],
144 apex_available: ["com.android.wifi"],
145}