blob: 2c707abc1e2c13defec8cdcb83b6f456a0230b4d [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",
44 "//frameworks/opt/net/wifi",
45 "//frameworks/opt/net/ike",
46 "//frameworks/opt/telephony",
47 "//packages/modules/NetworkStack",
48 "//packages/modules/CaptivePortalLogin",
49 ]
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",
62 "//frameworks/opt/net/wifi/service",
63 "//frameworks/opt/net/ike",
64 "//packages/modules/NetworkStack",
65 "//packages/modules/CaptivePortalLogin",
66 ],
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}