blob: 6bc7c01400ffba97c0c1eb6555f662adeb914758 [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: [
Chiachang Wang3faa0a02022-01-11 21:36:45 +080024 "netd_aidl_interface-V8-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: [
Chiachang Wang3faa0a02022-01-11 21:36:45 +080047 "netd_aidl_interface-V8-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 +080056// TODO: delete this one when AOSP is no longer auto-merge to git_sc-mainline-prod.
markchien38c32482021-09-29 12:19:44 +080057cc_library_static {
58 name: "netd_aidl_interface-lateststable-cpp",
59 whole_static_libs: [
Chiachang Wang3faa0a02022-01-11 21:36:45 +080060 "netd_aidl_interface-V8-cpp",
markchien38c32482021-09-29 12:19:44 +080061 ],
62}
63
Ken Chenae296b22022-04-20 15:13:31 +080064cc_defaults {
65 name: "netd_aidl_interface_lateststable_cpp_static",
66 static_libs: ["netd_aidl_interface-V8-cpp"],
67}
68
69cc_defaults {
70 name: "netd_aidl_interface_lateststable_cpp_shared",
71 shared_libs: ["netd_aidl_interface-V8-cpp"],
72}
73
markchien38c32482021-09-29 12:19:44 +080074aidl_interface {
75 name: "netd_aidl_interface",
76 local_include_dir: "binder",
77 srcs: [
78 "binder/android/net/INetd.aidl",
79 // AIDL interface that callers can implement to receive networking events from netd.
80 "binder/android/net/INetdUnsolicitedEventListener.aidl",
81 "binder/android/net/InterfaceConfigurationParcel.aidl",
82 "binder/android/net/MarkMaskParcel.aidl",
83 "binder/android/net/NativeNetworkConfig.aidl",
84 "binder/android/net/NativeNetworkType.aidl",
85 "binder/android/net/NativeVpnType.aidl",
86 "binder/android/net/RouteInfoParcel.aidl",
87 "binder/android/net/TetherConfigParcel.aidl",
88 "binder/android/net/TetherOffloadRuleParcel.aidl",
89 "binder/android/net/TetherStatsParcel.aidl",
90 "binder/android/net/UidRangeParcel.aidl",
91 // Add new AIDL classes in android.net.netd.aidl to consist with other network modules.
92 "binder/android/net/netd/aidl/**/*.aidl",
93 ],
94 backend: {
95 cpp: {
96 gen_log: true,
97 },
98 java: {
99 // TODO: Remove apex_available and restrict visibility to only mainline modules that are
100 // either outside the system server or use jarjar to rename the generated AIDL classes.
101 apex_available: [
102 "//apex_available:platform", // used from services.net
markchien38c32482021-09-29 12:19:44 +0800103 "com.android.tethering",
104 "com.android.wifi",
105 ],
106 // this is part of updatable modules(NetworkStack) which targets 29(Q)
107 min_sdk_version: "29",
108 },
109 ndk: {
110 apex_available: [
111 "//apex_available:platform",
Wayne Ma67a69e72022-01-12 11:44:27 +0800112 "com.android.tethering",
markchien38c32482021-09-29 12:19:44 +0800113 ],
114 // This is necessary for the DnsResovler tests to run in Android Q.
115 // Soong would recognize this value and produce the Q compatible aidl library.
116 min_sdk_version: "29",
117 },
118 },
119 versions: [
120 "1",
121 "2",
122 "3",
123 "4",
124 "5",
125 "6",
126 "7",
Chiachang Wang3faa0a02022-01-11 21:36:45 +0800127 "8",
markchien38c32482021-09-29 12:19:44 +0800128 ],
129}
130
131java_library {
132 name: "netd_event_listener_interface-lateststable-java",
133 sdk_version: "system_current",
134 min_sdk_version: "29",
135 static_libs: [
136 "netd_event_listener_interface-V1-java",
137 ],
138 apex_available: [
139 "//apex_available:platform",
markchien38c32482021-09-29 12:19:44 +0800140 "com.android.wifi",
141 "com.android.tethering",
142 ],
143}
144
145aidl_interface {
146 name: "netd_event_listener_interface",
147 local_include_dir: "binder",
148 srcs: [
149 "binder/android/net/metrics/INetdEventListener.aidl",
150 ],
151 versions: ["1"],
152 backend: {
153 ndk: {
154 apex_available: [
155 "//apex_available:platform",
156 "com.android.resolv",
157 ],
158 min_sdk_version: "29",
159 },
160 java: {
161 apex_available: [
162 "//apex_available:platform",
markchien38c32482021-09-29 12:19:44 +0800163 "com.android.wifi",
164 "com.android.tethering",
165 ],
166 min_sdk_version: "29",
167 },
168 },
169}
paulhu483b3562022-01-14 15:30:06 +0800170
paulhu973f6f82022-03-31 02:23:34 +0000171java_library {
172 name: "mdns_aidl_interface-lateststable-java",
173 sdk_version: "module_current",
174 min_sdk_version: "30",
175 static_libs: [
176 "mdns_aidl_interface-V1-java",
177 ],
178 apex_available: [
179 "//apex_available:platform",
180 "com.android.tethering",
181 ],
182}
183
paulhu483b3562022-01-14 15:30:06 +0800184aidl_interface {
185 name: "mdns_aidl_interface",
186 local_include_dir: "binder",
187 srcs: [
188 "binder/android/net/mdns/aidl/**/*.aidl",
189 ],
190 backend: {
191 java: {
192 sdk_version: "module_current",
193 apex_available: [
194 "//apex_available:platform",
195 "com.android.tethering",
196 ],
197 min_sdk_version: "30",
198 },
199 },
paulhu973f6f82022-03-31 02:23:34 +0000200 versions: ["1"],
paulhu483b3562022-01-14 15:30:06 +0800201}