blob: e249e19d99be437b522b08251ff6a2604441285e [file] [log] [blame]
// Copyright (C) 2021 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
java_library {
name: "netd_aidl_interface-lateststable-java",
sdk_version: "system_current",
min_sdk_version: "29",
static_libs: [
"netd_aidl_interface-V8-java",
],
apex_available: [
"//apex_available:platform", // used from services.net
"com.android.tethering",
"com.android.wifi",
],
}
cc_library_static {
name: "netd_event_listener_interface-lateststable-ndk",
whole_static_libs: [
"netd_event_listener_interface-V1-ndk",
],
apex_available: [
"com.android.resolv",
],
min_sdk_version: "29",
}
cc_library_static {
name: "netd_aidl_interface-lateststable-ndk",
whole_static_libs: [
"netd_aidl_interface-V8-ndk",
],
apex_available: [
"com.android.resolv",
"com.android.tethering",
],
min_sdk_version: "29",
}
cc_library_static {
name: "netd_aidl_interface-lateststable-cpp",
whole_static_libs: [
"netd_aidl_interface-V8-cpp",
],
}
aidl_interface {
name: "netd_aidl_interface",
local_include_dir: "binder",
srcs: [
"binder/android/net/INetd.aidl",
// AIDL interface that callers can implement to receive networking events from netd.
"binder/android/net/INetdUnsolicitedEventListener.aidl",
"binder/android/net/InterfaceConfigurationParcel.aidl",
"binder/android/net/MarkMaskParcel.aidl",
"binder/android/net/NativeNetworkConfig.aidl",
"binder/android/net/NativeNetworkType.aidl",
"binder/android/net/NativeVpnType.aidl",
"binder/android/net/RouteInfoParcel.aidl",
"binder/android/net/TetherConfigParcel.aidl",
"binder/android/net/TetherOffloadRuleParcel.aidl",
"binder/android/net/TetherStatsParcel.aidl",
"binder/android/net/UidRangeParcel.aidl",
// Add new AIDL classes in android.net.netd.aidl to consist with other network modules.
"binder/android/net/netd/aidl/**/*.aidl",
],
backend: {
cpp: {
gen_log: true,
},
java: {
// TODO: Remove apex_available and restrict visibility to only mainline modules that are
// either outside the system server or use jarjar to rename the generated AIDL classes.
apex_available: [
"//apex_available:platform", // used from services.net
"com.android.tethering",
"com.android.wifi",
],
// this is part of updatable modules(NetworkStack) which targets 29(Q)
min_sdk_version: "29",
},
ndk: {
apex_available: [
"//apex_available:platform",
"com.android.tethering",
],
// This is necessary for the DnsResovler tests to run in Android Q.
// Soong would recognize this value and produce the Q compatible aidl library.
min_sdk_version: "29",
},
},
versions: [
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
],
}
java_library {
name: "netd_event_listener_interface-lateststable-java",
sdk_version: "system_current",
min_sdk_version: "29",
static_libs: [
"netd_event_listener_interface-V1-java",
],
apex_available: [
"//apex_available:platform",
"com.android.wifi",
"com.android.tethering",
],
}
aidl_interface {
name: "netd_event_listener_interface",
local_include_dir: "binder",
srcs: [
"binder/android/net/metrics/INetdEventListener.aidl",
],
versions: ["1"],
backend: {
ndk: {
apex_available: [
"//apex_available:platform",
"com.android.resolv",
],
min_sdk_version: "29",
},
java: {
apex_available: [
"//apex_available:platform",
"com.android.wifi",
"com.android.tethering",
],
min_sdk_version: "29",
},
},
}