blob: 0f8dda0869b17fafb15258706d3455ff44a83def [file] [log] [blame]
// Copyright (C) 2019 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.
// 1. The "net-utils-framework-common" library is also compiled into the framework and placed on the
// boot classpath. It uses jarjar rules so that anything outside the framework can use this
// library directly.
// 2. The "net-utils-services-common" library is for use by modules and frameworks/base/services.
// It does not need to be jarjared because it is not placed on the bootclasspath.
// 3. The "net-utils-telephony-common-srcs" filegroup is for use specifically by telephony, which
// places many of its classes, even non-API service classes, on the boot classpath. Any file that
// is added to this filegroup *must* have a corresponding jarjar rule in the telephony jarjar
// rules file. Otherwise, it will end up on the boot classpath and other modules will not be able
// to provide their own copy.
// Note: all filegroups here must have the right path attribute because otherwise, if they are
// included in the bootclasspath, they could incorrectly be included in the SDK documentation even
// though they are not in the current.txt files.
filegroup {
name: "net-utils-framework-common-srcs",
srcs: ["src_frameworkcommon/**/*.java"],
path: "src_frameworkcommon",
visibility: ["//frameworks/base"],
}
java_library {
name: "net-utils-framework-common",
srcs: [
":net-utils-framework-common-srcs",
// TODO: avoid including all framework annotations as they end up in library users jars
// and need jarjaring
":framework-annotations",
],
sdk_version: "system_current",
jarjar_rules: "jarjar-rules-shared.txt",
visibility: [
"//cts/tests/tests/net",
"//frameworks/base/packages/Tethering",
"//frameworks/opt/net/ike",
"//frameworks/opt/telephony",
"//packages/modules/NetworkStack",
"//packages/modules/CaptivePortalLogin",
"//frameworks/libs/net/common/tests:__subpackages__",
]
}
java_library {
name: "net-utils-services-common",
srcs: [
"src_servicescommon/**/*.java",
":framework-annotations",
],
sdk_version: "system_current",
visibility: [
"//frameworks/base/services/net",
"//frameworks/base/packages/Tethering",
"//frameworks/opt/net/ike",
"//packages/modules/NetworkStack",
"//packages/modules/CaptivePortalLogin",
"//frameworks/libs/net/common/tests:__subpackages__",
],
}
// Use a filegroup and not a library for telephony sources, as framework-annotations cannot be
// included either (some annotations would be duplicated on the bootclasspath).
filegroup {
name: "net-utils-telephony-common-srcs",
srcs: [
// Any class here *must* have a corresponding jarjar rule in the telephony build rules.
"src_servicescommon/android/net/NetworkFactory.java",
],
path: "src_servicescommon",
visibility: [
"//frameworks/opt/telephony",
],
}
// Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar
// rules on the wifi side.
// Any class here *must* have a corresponding jarjar rule in the wifi build rules.
filegroup {
name: "net-utils-framework-wifi-common-srcs",
srcs: [
"src_frameworkcommon/android/net/util/nsd/DnsSdTxtRecord.java",
"src_frameworkcommon/android/net/util/MacAddressUtils.java",
"src_frameworkcommon/com/android/net/module/util/**/*.java",
],
path: "src_frameworkcommon",
visibility: [
"//frameworks/base",
],
}
// Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar
// rules on the wifi side.
// Any class here *must* have a corresponding jarjar rule in the wifi build rules.
filegroup {
name: "net-utils-wifi-service-common-srcs",
srcs: [
"src_frameworkcommon/android/net/util/NetUtils.java",
"src_servicescommon/android/net/NetworkFactory.java",
],
visibility: [
"//frameworks/opt/net/wifi/service",
],
}