blob: 6cc445b8d44424cd423fbff06e821bc31c82286e [file] [log] [blame]
markchien38c32482021-09-29 12:19:44 +08001// Copyright (C) 2021 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
Bob Badour957b6942021-10-07 11:58:21 -070015package {
16 default_applicable_licenses: ["Android-Apache-2.0"],
17}
18
markchien38c32482021-09-29 12:19:44 +080019java_library {
20 name: "netd_aidl_interface-lateststable-java",
21 sdk_version: "system_current",
22 min_sdk_version: "29",
23 static_libs: [
Chalard Jean8a00b8c2022-12-12 19:26:13 +090024 "netd_aidl_interface-V11-java",
markchien38c32482021-09-29 12:19:44 +080025 ],
26 apex_available: [
27 "//apex_available:platform", // used from services.net
markchien38c32482021-09-29 12:19:44 +080028 "com.android.tethering",
29 "com.android.wifi",
30 ],
31}
32
33cc_library_static {
34 name: "netd_event_listener_interface-lateststable-ndk",
35 whole_static_libs: [
36 "netd_event_listener_interface-V1-ndk",
37 ],
38 apex_available: [
39 "com.android.resolv",
40 ],
41 min_sdk_version: "29",
42}
43
44cc_library_static {
45 name: "netd_aidl_interface-lateststable-ndk",
46 whole_static_libs: [
Chalard Jean8a00b8c2022-12-12 19:26:13 +090047 "netd_aidl_interface-V11-ndk",
markchien38c32482021-09-29 12:19:44 +080048 ],
49 apex_available: [
50 "com.android.resolv",
Wayne Ma67a69e72022-01-12 11:44:27 +080051 "com.android.tethering",
markchien38c32482021-09-29 12:19:44 +080052 ],
53 min_sdk_version: "29",
54}
55
Ken Chenae296b22022-04-20 15:13:31 +080056cc_defaults {
57 name: "netd_aidl_interface_lateststable_cpp_static",
Chalard Jean8a00b8c2022-12-12 19:26:13 +090058 static_libs: ["netd_aidl_interface-V11-cpp"],
Ken Chenae296b22022-04-20 15:13:31 +080059}
60
61cc_defaults {
62 name: "netd_aidl_interface_lateststable_cpp_shared",
Chalard Jean8a00b8c2022-12-12 19:26:13 +090063 shared_libs: ["netd_aidl_interface-V11-cpp"],
Ken Chenae296b22022-04-20 15:13:31 +080064}
65
markchien38c32482021-09-29 12:19:44 +080066aidl_interface {
67 name: "netd_aidl_interface",
68 local_include_dir: "binder",
69 srcs: [
70 "binder/android/net/INetd.aidl",
71 // AIDL interface that callers can implement to receive networking events from netd.
72 "binder/android/net/INetdUnsolicitedEventListener.aidl",
73 "binder/android/net/InterfaceConfigurationParcel.aidl",
74 "binder/android/net/MarkMaskParcel.aidl",
75 "binder/android/net/NativeNetworkConfig.aidl",
76 "binder/android/net/NativeNetworkType.aidl",
77 "binder/android/net/NativeVpnType.aidl",
78 "binder/android/net/RouteInfoParcel.aidl",
79 "binder/android/net/TetherConfigParcel.aidl",
80 "binder/android/net/TetherOffloadRuleParcel.aidl",
81 "binder/android/net/TetherStatsParcel.aidl",
82 "binder/android/net/UidRangeParcel.aidl",
83 // Add new AIDL classes in android.net.netd.aidl to consist with other network modules.
84 "binder/android/net/netd/aidl/**/*.aidl",
85 ],
86 backend: {
87 cpp: {
88 gen_log: true,
89 },
90 java: {
91 // TODO: Remove apex_available and restrict visibility to only mainline modules that are
92 // either outside the system server or use jarjar to rename the generated AIDL classes.
93 apex_available: [
94 "//apex_available:platform", // used from services.net
markchien38c32482021-09-29 12:19:44 +080095 "com.android.tethering",
96 "com.android.wifi",
97 ],
98 // this is part of updatable modules(NetworkStack) which targets 29(Q)
99 min_sdk_version: "29",
100 },
101 ndk: {
102 apex_available: [
103 "//apex_available:platform",
Wayne Ma67a69e72022-01-12 11:44:27 +0800104 "com.android.tethering",
markchien38c32482021-09-29 12:19:44 +0800105 ],
106 // This is necessary for the DnsResovler tests to run in Android Q.
107 // Soong would recognize this value and produce the Q compatible aidl library.
108 min_sdk_version: "29",
109 },
110 },
Hungming Chened129262022-04-26 19:10:45 +0800111 versions_with_info: [
112 {
113 version: "1",
114 imports: [],
115 },
116 {
117 version: "2",
118 imports: [],
119 },
120 {
121 version: "3",
122 imports: [],
123 },
124 {
125 version: "4",
126 imports: [],
127 },
128 {
129 version: "5",
130 imports: [],
131 },
132 {
133 version: "6",
134 imports: [],
135 },
136 {
137 version: "7",
138 imports: [],
139 },
140 {
141 version: "8",
142 imports: [],
143 },
144 {
145 version: "9",
146 imports: [],
147 },
Lorenzo Colitti747ba672022-06-15 23:39:12 +0900148 {
149 version: "10",
150 imports: [],
151 },
Chalard Jean8a00b8c2022-12-12 19:26:13 +0900152 {
153 version: "11",
154 imports: [],
155 },
Hungming Chened129262022-04-26 19:10:45 +0800156
markchien38c32482021-09-29 12:19:44 +0800157 ],
Hungming Chened129262022-04-26 19:10:45 +0800158
markchien38c32482021-09-29 12:19:44 +0800159}
160
161java_library {
162 name: "netd_event_listener_interface-lateststable-java",
163 sdk_version: "system_current",
164 min_sdk_version: "29",
165 static_libs: [
166 "netd_event_listener_interface-V1-java",
167 ],
168 apex_available: [
169 "//apex_available:platform",
markchien38c32482021-09-29 12:19:44 +0800170 "com.android.wifi",
171 "com.android.tethering",
172 ],
173}
174
175aidl_interface {
176 name: "netd_event_listener_interface",
177 local_include_dir: "binder",
178 srcs: [
179 "binder/android/net/metrics/INetdEventListener.aidl",
180 ],
181 versions: ["1"],
182 backend: {
183 ndk: {
184 apex_available: [
185 "//apex_available:platform",
186 "com.android.resolv",
187 ],
188 min_sdk_version: "29",
189 },
190 java: {
191 apex_available: [
192 "//apex_available:platform",
markchien38c32482021-09-29 12:19:44 +0800193 "com.android.wifi",
194 "com.android.tethering",
195 ],
196 min_sdk_version: "29",
197 },
198 },
199}
paulhu483b3562022-01-14 15:30:06 +0800200
paulhu973f6f82022-03-31 02:23:34 +0000201java_library {
202 name: "mdns_aidl_interface-lateststable-java",
203 sdk_version: "module_current",
204 min_sdk_version: "30",
205 static_libs: [
206 "mdns_aidl_interface-V1-java",
207 ],
208 apex_available: [
209 "//apex_available:platform",
210 "com.android.tethering",
211 ],
212}
213
paulhu483b3562022-01-14 15:30:06 +0800214aidl_interface {
215 name: "mdns_aidl_interface",
216 local_include_dir: "binder",
217 srcs: [
218 "binder/android/net/mdns/aidl/**/*.aidl",
219 ],
220 backend: {
221 java: {
222 sdk_version: "module_current",
223 apex_available: [
224 "//apex_available:platform",
225 "com.android.tethering",
226 ],
227 min_sdk_version: "30",
228 },
229 },
paulhu973f6f82022-03-31 02:23:34 +0000230 versions: ["1"],
paulhu483b3562022-01-14 15:30:06 +0800231}