blob: 4c9ee854536ef1f557336d2e06b2a784d09f9934 [file] [log] [blame]
David Su754fcc22019-09-04 14:31:58 -07001// Copyright (C) 2019 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15
16filegroup {
17 name: "framework-wifi-updatable-sources",
18 srcs: [
19 "java/**/*.java",
20 "java/**/*.aidl",
21 ],
22 exclude_srcs: [
23 ":framework-wifi-non-updatable-sources"
24 ],
25 path: "java",
26}
27
28filegroup {
29 name: "framework-wifi-non-updatable-sources",
30 srcs: [
31 // TODO(b/146011398) package android.net.wifi is now split amongst 2 jars: framework.jar and
32 // framework-wifi.jar. This is not a good idea, should move WifiNetworkScoreCache
33 // to a separate package.
34 "java/android/net/wifi/WifiNetworkScoreCache.java",
Roshan Pius9dc9aff2020-01-09 09:06:29 -080035 "java/android/net/wifi/WifiOemConfigStoreMigrationHook.java",
David Su754fcc22019-09-04 14:31:58 -070036 "java/android/net/wifi/wificond/*.java",
37 ":libwificond_ipc_aidl",
38 ],
39}
40
David Su130441b2019-12-14 21:37:20 -080041filegroup {
42 name: "framework-wifi-annotations",
43 srcs: ["java/android/net/wifi/WifiAnnotations.java"],
44}
45
David Su90ed1052019-12-18 18:20:28 -080046// list of tests that are allowed to access @hide APIs from framework-wifi
47test_access_hidden_api_whitelist = [
48 "//frameworks/base/wifi/tests",
49 "//frameworks/opt/net/wifi/tests/wifitests:__subpackages__",
David Su434fe602019-12-18 21:22:21 -080050
David Sufd0886a2019-12-18 21:56:46 -080051 "//frameworks/opt/net/wifi/libs/WifiTrackerLib/tests",
David Su4c5bab62020-01-07 13:01:30 -080052 "//external/robolectric-shadows:__subpackages__",
David Su6c00e382020-01-06 15:24:42 -080053 "//frameworks/base/packages/SettingsLib/tests/integ",
David Su812a8f12020-01-11 16:22:00 -080054 "//external/sl4a:__subpackages__",
David Su90ed1052019-12-18 18:20:28 -080055]
56
David Su511a8142020-01-09 14:02:21 -080057// wifi-service needs pre-jarjared version of framework-wifi so it can reference copied utility
58// classes before they are renamed.
David Su754fcc22019-09-04 14:31:58 -070059java_library {
David Su511a8142020-01-09 14:02:21 -080060 name: "framework-wifi-pre-jarjar",
David Su90ed1052019-12-18 18:20:28 -080061 // TODO(b/140299412) should be core_current once we build against framework-system-stubs
62 sdk_version: "core_platform",
David Su511a8142020-01-09 14:02:21 -080063 static_libs: [
64 "framework-wifi-util-lib",
David Su369c9202020-01-09 18:09:56 -080065 "android.hardware.wifi-V1.0-java-constants",
David Su511a8142020-01-09 14:02:21 -080066 ],
David Su754fcc22019-09-04 14:31:58 -070067 libs: [
David Su90ed1052019-12-18 18:20:28 -080068 // TODO(b/140299412) should be framework-system-stubs once we fix all @hide dependencies
69 "framework-minus-apex",
David Su369c9202020-01-09 18:09:56 -080070 "framework-annotations-lib",
71 "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage
72 "unsupportedappusage-annotation", // for dalvik.annotation.compat.UnsupportedAppUsage
Chen Xu546ce5e2020-01-10 08:38:31 -080073 "framework-telephony-stubs",
David Su754fcc22019-09-04 14:31:58 -070074 ],
75 srcs: [
76 ":framework-wifi-updatable-sources",
77 ],
David Su511a8142020-01-09 14:02:21 -080078 installable: false,
79 visibility: [
80 "//frameworks/opt/net/wifi/service",
81 "//frameworks/opt/net/wifi/tests/wifitests",
82 ],
83}
84
85// post-jarjar version of framework-wifi
86java_library {
87 name: "framework-wifi",
88 // TODO(b/140299412) should be core_current once we build against framework-system-stubs
89 sdk_version: "core_platform",
90 static_libs: [
91 "framework-wifi-pre-jarjar",
92 ],
93 jarjar_rules: ":wifi-jarjar-rules",
94
David Su754fcc22019-09-04 14:31:58 -070095 installable: true,
96 optimize: {
97 enabled: false
David Su90ed1052019-12-18 18:20:28 -080098 },
Jiyong Parkc81df3f2020-01-06 13:30:59 +090099 hostdex: true, // for hiddenapi check
David Su90ed1052019-12-18 18:20:28 -0800100 visibility: [
David Suc865b212020-01-16 02:43:21 +0000101 "//frameworks/base", // TODO(b/140299412) remove once all dependencies are fixed
David Su90ed1052019-12-18 18:20:28 -0800102 "//frameworks/opt/net/wifi/service:__subpackages__",
103 ] + test_access_hidden_api_whitelist,
Jiyong Parkc81df3f2020-01-06 13:30:59 +0900104 apex_available: [
105 "com.android.wifi",
106 "test_com.android.wifi",
107 ],
David Suae86a372020-01-03 14:26:11 -0800108 plugins: ["java_api_finder"],
David Su754fcc22019-09-04 14:31:58 -0700109}
110
David Su754fcc22019-09-04 14:31:58 -0700111droidstubs {
112 name: "framework-wifi-stubs-srcs",
113 srcs: [
114 ":framework-annotations",
115 ":framework-wifi-updatable-sources",
116 ],
117 aidl: {
118 include_dirs: ["frameworks/base/core/java"],
119 },
Anton Hansson0c2ebe22019-12-17 10:03:52 +0000120 defaults: [ "framework-module-stubs-defaults-systemapi" ],
David Su754fcc22019-09-04 14:31:58 -0700121 sdk_version: "core_current",
122 libs: ["android_system_stubs_current"],
123}
124
125java_library {
126 name: "framework-wifi-stubs",
127 srcs: [":framework-wifi-stubs-srcs"],
128 aidl: {
129 export_include_dirs: [
130 "java",
131 ],
132 },
133 sdk_version: "core_current",
134 libs: ["android_system_stubs_current"],
135 installable: false,
136}
137
David Su90ed1052019-12-18 18:20:28 -0800138// defaults for tests that need to build against framework-wifi's @hide APIs
139java_defaults {
140 name: "framework-wifi-test-defaults",
141 sdk_version: "core_platform", // tests can use @CorePlatformApi's
142 libs: [
David Succ38e1f2020-01-07 19:47:28 -0800143 // order matters: classes in framework-wifi are resolved before framework, meaning
144 // @hide APIs in framework-wifi are resolved before @SystemApi stubs in framework
David Su90ed1052019-12-18 18:20:28 -0800145 "framework-wifi",
David Succ38e1f2020-01-07 19:47:28 -0800146 "framework",
David Su90ed1052019-12-18 18:20:28 -0800147
148 // if sdk_version="" this gets automatically included, but here we need to add manually.
149 "framework-res",
150 ],
151 visibility: test_access_hidden_api_whitelist,
152}
David Su511a8142020-01-09 14:02:21 -0800153
154filegroup {
155 name: "wifi-jarjar-rules",
156 srcs: ["jarjar-rules.txt"],
157}