blob: 8f845bc2e8fba49845d0bbe71796a13051549d39 [file] [log] [blame]
Aaron Huangf73ff8c2019-12-06 18:12:24 +08001// Copyright (C) 2019 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
Aaron Huang57a94962020-01-03 20:35:55 +080015// 1. The "net-utils-framework-common" library is also compiled into the framework and placed on the
16// boot classpath. It uses jarjar rules so that anything outside the framework can use this
17// library directly.
18// 2. The "net-utils-services-common" library is for use by modules and frameworks/base/services.
19// It does not need to be jarjared because it is not placed on the bootclasspath.
Lorenzo Colittie14bd342020-01-14 14:47:16 +090020// 3. The "net-utils-telephony-common-srcs" filegroup is for use specifically by telephony, which
21// places many of its classes, even non-API service classes, on the boot classpath. Any file that
22// is added to this filegroup *must* have a corresponding jarjar rule in the telephony jarjar
23// rules file. Otherwise, it will end up on the boot classpath and other modules will not be able
24// to provide their own copy.
Aaron Huangf73ff8c2019-12-06 18:12:24 +080025
26filegroup {
27 name: "net-utils-framework-common-srcs",
28 srcs: ["src_frameworkcommon/**/*.java"],
29 visibility: ["//frameworks/base"],
30}
31
32java_library {
33 name: "net-utils-framework-common",
Remi NGUYEN VANce241a32020-01-14 21:42:09 +090034 srcs: [
35 ":net-utils-framework-common-srcs",
36 // TODO: avoid including all framework annotations as they end up in library users jars
37 // and need jarjaring
38 ":framework-annotations",
39 ],
40 sdk_version: "system_current",
Aaron Huangf73ff8c2019-12-06 18:12:24 +080041 jarjar_rules: "jarjar-rules-shared.txt",
42 visibility: [
43 "//frameworks/base/packages/Tethering",
Aaron Huangf73ff8c2019-12-06 18:12:24 +080044 "//frameworks/opt/net/ike",
45 "//frameworks/opt/telephony",
46 "//packages/modules/NetworkStack",
47 "//packages/modules/CaptivePortalLogin",
Lorenzo Colitti5d9f8ed2020-01-21 15:31:06 +090048 "//frameworks/libs/net/common/tests:__subpackages__",
Aaron Huangf73ff8c2019-12-06 18:12:24 +080049 ]
50}
Aaron Huang57a94962020-01-03 20:35:55 +080051
52java_library {
53 name: "net-utils-services-common",
Remi NGUYEN VANce241a32020-01-14 21:42:09 +090054 srcs: [
55 "src_servicescommon/**/*.java",
56 ":framework-annotations",
57 ],
58 sdk_version: "system_current",
Aaron Huang57a94962020-01-03 20:35:55 +080059 visibility: [
Remi NGUYEN VAN376f8d42020-01-15 18:26:29 +090060 "//frameworks/base/services/net",
Aaron Huang57a94962020-01-03 20:35:55 +080061 "//frameworks/base/packages/Tethering",
Aaron Huang57a94962020-01-03 20:35:55 +080062 "//frameworks/opt/net/ike",
63 "//packages/modules/NetworkStack",
64 "//packages/modules/CaptivePortalLogin",
Lorenzo Colitti5d9f8ed2020-01-21 15:31:06 +090065 "//frameworks/libs/net/common/tests:__subpackages__",
Aaron Huang57a94962020-01-03 20:35:55 +080066 ],
67}
Lorenzo Colittie14bd342020-01-14 14:47:16 +090068
69// Use a filegroup and not a library for telephony sources, as framework-annotations cannot be
70// included either (some annotations would be duplicated on the bootclasspath).
71filegroup {
72 name: "net-utils-telephony-common-srcs",
73 srcs: [
74 // Any class here *must* have a corresponding jarjar rule in the telephony build rules.
75 "src_servicescommon/android/net/NetworkFactory.java",
76 ],
77 visibility: [
78 "//frameworks/opt/telephony",
79 ],
80}
Roshan Pius864bdec2020-01-16 09:19:11 -080081
82// Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar
83// rules on the wifi side.
84// Any class here *must* have a corresponding jarjar rule in the wifi build rules.
85filegroup {
86 name: "net-utils-framework-wifi-common-srcs",
87 srcs: [
David Su37535272020-01-16 20:56:39 -080088 "src_frameworkcommon/android/net/util/nsd/DnsSdTxtRecord.java",
Roshan Pius864bdec2020-01-16 09:19:11 -080089 "src_frameworkcommon/android/net/util/MacAddressUtils.java",
90 ],
91 visibility: [
92 "//frameworks/base",
93 ],
94}
95
96// Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar
97// rules on the wifi side.
98// Any class here *must* have a corresponding jarjar rule in the wifi build rules.
99filegroup {
100 name: "net-utils-wifi-service-common-srcs",
101 srcs: [
102 "src_frameworkcommon/android/net/util/NetUtils.java",
103 "src_servicescommon/android/net/NetworkFactory.java",
104 ],
105 visibility: [
106 "//frameworks/opt/net/wifi/service",
107 ],
108}