blob: 634f6746d815c5693dab9802e8c29bef295d6151 [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",
David Su754fcc22019-09-04 14:31:58 -070035 "java/android/net/wifi/wificond/*.java",
36 ":libwificond_ipc_aidl",
37 ],
38}
39
David Su130441b2019-12-14 21:37:20 -080040filegroup {
41 name: "framework-wifi-annotations",
42 srcs: ["java/android/net/wifi/WifiAnnotations.java"],
43}
44
David Su90ed1052019-12-18 18:20:28 -080045// list of tests that are allowed to access @hide APIs from framework-wifi
46test_access_hidden_api_whitelist = [
47 "//frameworks/base/wifi/tests",
48 "//frameworks/opt/net/wifi/tests/wifitests:__subpackages__",
David Su434fe602019-12-18 21:22:21 -080049
David Sufd0886a2019-12-18 21:56:46 -080050 "//frameworks/opt/net/wifi/libs/WifiTrackerLib/tests",
David Su4c5bab62020-01-07 13:01:30 -080051 "//external/robolectric-shadows:__subpackages__",
David Su90ed1052019-12-18 18:20:28 -080052]
53
David Su754fcc22019-09-04 14:31:58 -070054java_library {
55 name: "framework-wifi",
David Su90ed1052019-12-18 18:20:28 -080056 // TODO(b/140299412) should be core_current once we build against framework-system-stubs
57 sdk_version: "core_platform",
David Su754fcc22019-09-04 14:31:58 -070058 libs: [
David Su90ed1052019-12-18 18:20:28 -080059 // TODO(b/140299412) should be framework-system-stubs once we fix all @hide dependencies
60 "framework-minus-apex",
Artur Satayev74cb7192019-12-10 17:47:56 +000061 "unsupportedappusage",
David Su754fcc22019-09-04 14:31:58 -070062 ],
63 srcs: [
64 ":framework-wifi-updatable-sources",
65 ],
66 installable: true,
67 optimize: {
68 enabled: false
David Su90ed1052019-12-18 18:20:28 -080069 },
70 visibility: [
71 "//frameworks/base", // TODO(b/140299412) remove once all dependencies are fixed
72 "//frameworks/opt/net/wifi/service:__subpackages__",
73 ] + test_access_hidden_api_whitelist,
David Suae86a372020-01-03 14:26:11 -080074 plugins: ["java_api_finder"],
David Su754fcc22019-09-04 14:31:58 -070075}
76
David Su754fcc22019-09-04 14:31:58 -070077droidstubs {
78 name: "framework-wifi-stubs-srcs",
79 srcs: [
80 ":framework-annotations",
81 ":framework-wifi-updatable-sources",
82 ],
83 aidl: {
84 include_dirs: ["frameworks/base/core/java"],
85 },
Anton Hansson0c2ebe22019-12-17 10:03:52 +000086 defaults: [ "framework-module-stubs-defaults-systemapi" ],
David Su754fcc22019-09-04 14:31:58 -070087 sdk_version: "core_current",
88 libs: ["android_system_stubs_current"],
89}
90
91java_library {
92 name: "framework-wifi-stubs",
93 srcs: [":framework-wifi-stubs-srcs"],
94 aidl: {
95 export_include_dirs: [
96 "java",
97 ],
98 },
99 sdk_version: "core_current",
100 libs: ["android_system_stubs_current"],
101 installable: false,
102}
103
David Su90ed1052019-12-18 18:20:28 -0800104// defaults for tests that need to build against framework-wifi's @hide APIs
105java_defaults {
106 name: "framework-wifi-test-defaults",
107 sdk_version: "core_platform", // tests can use @CorePlatformApi's
108 libs: [
109 "framework-wifi",
110 "framework-minus-apex",
111
112 // if sdk_version="" this gets automatically included, but here we need to add manually.
113 "framework-res",
114 ],
115 visibility: test_access_hidden_api_whitelist,
116}