// 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", ], }