| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 1 | // 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 Huang | 57a9496 | 2020-01-03 20:35:55 +0800 | [diff] [blame] | 15 | // 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 Colitti | e14bd34 | 2020-01-14 14:47:16 +0900 | [diff] [blame] | 20 | // 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 Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 25 |  | 
| Adrian Roos | 0607dd9 | 2020-03-27 00:30:41 +0100 | [diff] [blame] | 26 | // Note: all filegroups here must have the right path attribute because otherwise, if they are | 
 | 27 | // included in the bootclasspath, they could incorrectly be included in the SDK documentation even | 
 | 28 | // though they are not in the current.txt files. | 
 | 29 |  | 
| Bob Badour | 1b8c744 | 2021-02-12 15:39:10 -0800 | [diff] [blame] | 30 | package { | 
 | 31 |     default_applicable_licenses: ["Android-Apache-2.0"], | 
 | 32 | } | 
 | 33 |  | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 34 | java_library { | 
 | 35 |   name: "net-utils-device-common", | 
 | 36 |   srcs: [ | 
| Xiao Ma | 57b3442 | 2021-07-01 13:57:02 +0000 | [diff] [blame] | 37 |       "device/com/android/net/module/util/DeviceConfigUtils.java", | 
 | 38 |       "device/com/android/net/module/util/FdEventsReader.java", | 
 | 39 |       "device/com/android/net/module/util/HexDump.java", | 
 | 40 |       "device/com/android/net/module/util/PacketReader.java", | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 41 |       // This library is used by system modules, for which the system health impact of Kotlin | 
| Chalard Jean | 7592a34 | 2021-04-19 18:04:34 +0900 | [diff] [blame] | 42 |       // has not yet been evaluated. Annotations may need jarjar'ing. | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 43 |       // "src_devicecommon/**/*.kt", | 
 | 44 |       ":framework-annotations", | 
 | 45 |   ], | 
 | 46 |   sdk_version: "system_current", | 
 | 47 |   min_sdk_version: "29", | 
 | 48 |   target_sdk_version: "30", | 
 | 49 |   apex_available: [ | 
 | 50 |       "//apex_available:anyapex", | 
 | 51 |       "//apex_available:platform", | 
 | 52 |   ], | 
 | 53 |   visibility: [ | 
 | 54 |         "//frameworks/base/packages/Tethering", | 
| Baligh Uddin | f8c1282 | 2021-05-21 04:26:52 +0000 | [diff] [blame] | 55 |         "//packages/modules/Connectivity:__subpackages__", | 
 | 56 |         "//packages/modules/Connectivity/framework:__subpackages__", | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 57 |         "//frameworks/opt/net/ike", | 
 | 58 |         "//frameworks/opt/net/wifi/service", | 
| Baligh Uddin | fcbda3a | 2020-12-24 06:12:25 +0000 | [diff] [blame] | 59 |         "//packages/modules/Wifi/service", | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 60 |         "//frameworks/opt/net/telephony", | 
| Xiao Ma | 6f95cef | 2020-09-08 19:16:15 +0900 | [diff] [blame] | 61 |         "//packages/modules/NetworkStack:__subpackages__", | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 62 |         "//packages/modules/CaptivePortalLogin", | 
 | 63 |         "//frameworks/libs/net/common/tests:__subpackages__", | 
| Remi NGUYEN VAN | be2a07f | 2021-03-29 17:09:13 +0900 | [diff] [blame] | 64 |         "//frameworks/libs/net/common/testutils:__subpackages__", | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 65 |   ], | 
| Xiao Ma | 5c17454 | 2021-02-28 13:09:23 +0000 | [diff] [blame] | 66 |   static_libs: [ | 
 | 67 |       "net-utils-framework-common", | 
 | 68 |   ], | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 69 |   libs: [ | 
 | 70 |       "androidx.annotation_annotation", | 
 | 71 |   ], | 
 | 72 | } | 
 | 73 |  | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 74 | java_defaults { | 
 | 75 |     name: "lib_mockito_extended", | 
 | 76 |     static_libs: [ | 
 | 77 |         "mockito-target-extended-minus-junit4" | 
 | 78 |     ], | 
 | 79 |     jni_libs: [ | 
 | 80 |         "libdexmakerjvmtiagent", | 
 | 81 |         "libstaticjvmtiagent", | 
 | 82 |     ], | 
 | 83 | } | 
 | 84 |  | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 85 | filegroup { | 
 | 86 |     name: "net-utils-framework-common-srcs", | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 87 |     srcs: ["framework/**/*.java"], | 
 | 88 |     path: "framework", | 
| Remi NGUYEN VAN | 651faf7 | 2021-03-24 22:40:37 +0900 | [diff] [blame] | 89 |     visibility: [ | 
 | 90 |         "//frameworks/base", | 
| Baligh Uddin | 27e5fcd | 2021-05-22 13:16:30 +0000 | [diff] [blame] | 91 |         "//packages/modules/Connectivity:__subpackages__", | 
| Remi NGUYEN VAN | 651faf7 | 2021-03-24 22:40:37 +0900 | [diff] [blame] | 92 |         "//frameworks/base/packages/Connectivity/framework", | 
 | 93 |     ], | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 94 | } | 
 | 95 |  | 
 | 96 | java_library { | 
| Xiao Ma | 57b3442 | 2021-07-01 13:57:02 +0000 | [diff] [blame] | 97 |     name: "net-utils-device-common-netlink", | 
 | 98 |     // TODO: Ipv6Utils and Struct stuff could be separated out of th netlink library into | 
 | 99 |     // an individual Struct library, and remove the net-utils-framework-common lib dependency. | 
 | 100 |     // But there is no need doing this at the moment. | 
 | 101 |     srcs: [ | 
 | 102 |         "device/com/android/net/module/util/HexDump.java", | 
 | 103 |         "device/com/android/net/module/util/Ipv6Utils.java", | 
 | 104 |         "device/com/android/net/module/util/Struct.java", | 
 | 105 |         "device/com/android/net/module/util/netlink/*.java", | 
 | 106 |         "device/com/android/net/module/util/structs/*.java", | 
 | 107 |     ], | 
 | 108 |     sdk_version: "system_current", | 
 | 109 |     min_sdk_version: "29", | 
 | 110 |     visibility: [ | 
 | 111 |         "//frameworks/libs/net/common/testutils:__subpackages__", | 
 | 112 |         "//packages/modules/Connectivity:__subpackages__", | 
 | 113 |         "//packages/modules/NetworkStack:__subpackages__", | 
 | 114 |     ], | 
 | 115 |     static_libs: [ | 
 | 116 |         "net-utils-framework-common", | 
 | 117 |     ], | 
 | 118 |     libs: [ | 
 | 119 |         "androidx.annotation_annotation", | 
 | 120 |     ], | 
 | 121 |     apex_available: [ | 
 | 122 |         "com.android.tethering", | 
 | 123 |         "//apex_available:platform", | 
 | 124 |     ], | 
 | 125 | } | 
 | 126 |  | 
 | 127 | java_library { | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 128 |     name: "net-utils-framework-common", | 
| Remi NGUYEN VAN | ce241a3 | 2020-01-14 21:42:09 +0900 | [diff] [blame] | 129 |     srcs: [ | 
 | 130 |         ":net-utils-framework-common-srcs", | 
 | 131 |         // TODO: avoid including all framework annotations as they end up in library users jars | 
 | 132 |         // and need jarjaring | 
 | 133 |         ":framework-annotations", | 
 | 134 |     ], | 
 | 135 |     sdk_version: "system_current", | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 136 |     jarjar_rules: "jarjar-rules-shared.txt", | 
 | 137 |     visibility: [ | 
| Luke Huang | fd5479e | 2020-06-20 11:38:17 +0800 | [diff] [blame] | 138 |         "//cts/tests/tests/net", | 
| Chalard Jean | ceaf7d0 | 2020-06-26 18:34:52 +0900 | [diff] [blame] | 139 |         "//cts/tests/tests/wifi", | 
| Baligh Uddin | e685c81 | 2020-10-31 04:28:58 +0000 | [diff] [blame] | 140 |         "//packages/modules/Connectivity/tests/cts/net", | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 141 |         "//frameworks/base/packages/Tethering", | 
| Baligh Uddin | ae4770d | 2020-10-29 02:12:06 +0000 | [diff] [blame] | 142 |         "//packages/modules/Connectivity/Tethering", | 
| Chalard Jean | a9f4991 | 2020-10-15 18:06:30 +0900 | [diff] [blame] | 143 |         "//frameworks/base/tests:__subpackages__", | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 144 |         "//frameworks/opt/net/ike", | 
 | 145 |         "//frameworks/opt/telephony", | 
| Chalard Jean | 1978919 | 2020-10-01 12:45:31 +0900 | [diff] [blame] | 146 |         "//frameworks/base/wifi:__subpackages__", | 
| Remi NGUYEN VAN | 38afb0c | 2020-11-10 18:04:27 +0900 | [diff] [blame] | 147 |         "//frameworks/base/packages/Connectivity:__subpackages__", | 
 | 148 |         "//packages/modules/Connectivity:__subpackages__", | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 149 |         "//packages/modules/NetworkStack:__subpackages__", | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 150 |         "//packages/modules/CaptivePortalLogin", | 
| Lorenzo Colitti | 5d9f8ed | 2020-01-21 15:31:06 +0900 | [diff] [blame] | 151 |         "//frameworks/libs/net/common/tests:__subpackages__", | 
| Xiao Ma | 5c17454 | 2021-02-28 13:09:23 +0000 | [diff] [blame] | 152 |         "//frameworks/libs/net/common/device", | 
| Baligh Uddin | fcbda3a | 2020-12-24 06:12:25 +0000 | [diff] [blame] | 153 |         "//packages/modules/Wifi/framework/tests:__subpackages__", | 
| Chalard Jean | 7592a34 | 2021-04-19 18:04:34 +0900 | [diff] [blame] | 154 |     ], | 
| Aaron Huang | f73ff8c | 2019-12-06 18:12:24 +0800 | [diff] [blame] | 155 | } | 
| David Su | 2dbab64 | 2020-10-26 14:51:01 -0700 | [diff] [blame] | 156 | filegroup { | 
 | 157 |     name: "net-utils-services-common-srcs", | 
 | 158 |     srcs: [ | 
 | 159 |         "device/android/net/NetworkFactory.java", | 
| Chalard Jean | 7592a34 | 2021-04-19 18:04:34 +0900 | [diff] [blame] | 160 |         "device/android/net/NetworkFactoryImpl.java", | 
 | 161 |         "device/android/net/NetworkFactoryLegacyImpl.java", | 
 | 162 |         "device/android/net/NetworkFactoryShim.java", | 
| David Su | 2dbab64 | 2020-10-26 14:51:01 -0700 | [diff] [blame] | 163 |     ], | 
 | 164 |     visibility: [ | 
 | 165 |         "//frameworks/base/services/net", | 
 | 166 |     ], | 
 | 167 | } | 
 | 168 |  | 
| Aaron Huang | 57a9496 | 2020-01-03 20:35:55 +0800 | [diff] [blame] | 169 | java_library { | 
 | 170 |     name: "net-utils-services-common", | 
| Remi NGUYEN VAN | ce241a3 | 2020-01-14 21:42:09 +0900 | [diff] [blame] | 171 |     srcs: [ | 
| David Su | 2dbab64 | 2020-10-26 14:51:01 -0700 | [diff] [blame] | 172 |         ":net-utils-services-common-srcs", | 
| Remi NGUYEN VAN | ce241a3 | 2020-01-14 21:42:09 +0900 | [diff] [blame] | 173 |         ":framework-annotations", | 
 | 174 |     ], | 
 | 175 |     sdk_version: "system_current", | 
| David Su | dc0a568 | 2021-01-29 04:42:27 +0000 | [diff] [blame] | 176 |     min_sdk_version: "30", | 
| Chalard Jean | 7592a34 | 2021-04-19 18:04:34 +0900 | [diff] [blame] | 177 |     static_libs: [ | 
 | 178 |         "modules-utils-build_system", | 
 | 179 |     ], | 
| Aaron Huang | 57a9496 | 2020-01-03 20:35:55 +0800 | [diff] [blame] | 180 |     visibility: [ | 
| Remi NGUYEN VAN | 376f8d4 | 2020-01-15 18:26:29 +0900 | [diff] [blame] | 181 |         "//frameworks/base/services/net", | 
| Aaron Huang | 57a9496 | 2020-01-03 20:35:55 +0800 | [diff] [blame] | 182 |     ], | 
 | 183 | } | 
| Lorenzo Colitti | e14bd34 | 2020-01-14 14:47:16 +0900 | [diff] [blame] | 184 |  | 
 | 185 | // Use a filegroup and not a library for telephony sources, as framework-annotations cannot be | 
 | 186 | // included either (some annotations would be duplicated on the bootclasspath). | 
 | 187 | filegroup { | 
 | 188 |     name: "net-utils-telephony-common-srcs", | 
 | 189 |     srcs: [ | 
 | 190 |         // Any class here *must* have a corresponding jarjar rule in the telephony build rules. | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 191 |         "device/android/net/NetworkFactory.java", | 
| Chalard Jean | 7592a34 | 2021-04-19 18:04:34 +0900 | [diff] [blame] | 192 |         "device/android/net/NetworkFactoryImpl.java", | 
 | 193 |         "device/android/net/NetworkFactoryLegacyImpl.java", | 
 | 194 |         "device/android/net/NetworkFactoryShim.java", | 
| Lorenzo Colitti | e14bd34 | 2020-01-14 14:47:16 +0900 | [diff] [blame] | 195 |     ], | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 196 |     path: "device", | 
| Lorenzo Colitti | e14bd34 | 2020-01-14 14:47:16 +0900 | [diff] [blame] | 197 |     visibility: [ | 
 | 198 |         "//frameworks/opt/telephony", | 
 | 199 |     ], | 
 | 200 | } | 
| Roshan Pius | 864bdec | 2020-01-16 09:19:11 -0800 | [diff] [blame] | 201 |  | 
 | 202 | // Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar | 
 | 203 | // rules on the wifi side. | 
 | 204 | // Any class here *must* have a corresponding jarjar rule in the wifi build rules. | 
 | 205 | filegroup { | 
 | 206 |     name: "net-utils-framework-wifi-common-srcs", | 
 | 207 |     srcs: [ | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 208 |         "framework/com/android/net/module/util/**/*.java", | 
| Roshan Pius | 864bdec | 2020-01-16 09:19:11 -0800 | [diff] [blame] | 209 |     ], | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 210 |     path: "framework", | 
| Roshan Pius | 864bdec | 2020-01-16 09:19:11 -0800 | [diff] [blame] | 211 |     visibility: [ | 
 | 212 |         "//frameworks/base", | 
 | 213 |     ], | 
 | 214 | } | 
 | 215 |  | 
 | 216 | // Use a filegroup and not a library for wifi sources, as this needs corresponding jar-jar | 
 | 217 | // rules on the wifi side. | 
 | 218 | // Any class here *must* have a corresponding jarjar rule in the wifi build rules. | 
 | 219 | filegroup { | 
 | 220 |     name: "net-utils-wifi-service-common-srcs", | 
 | 221 |     srcs: [ | 
| Chalard Jean | 48c6c7d | 2020-06-25 23:39:15 +0900 | [diff] [blame] | 222 |        "device/android/net/NetworkFactory.java", | 
| Chalard Jean | 7592a34 | 2021-04-19 18:04:34 +0900 | [diff] [blame] | 223 |        "device/android/net/NetworkFactoryImpl.java", | 
 | 224 |        "device/android/net/NetworkFactoryLegacyImpl.java", | 
 | 225 |        "device/android/net/NetworkFactoryShim.java", | 
| Roshan Pius | 864bdec | 2020-01-16 09:19:11 -0800 | [diff] [blame] | 226 |     ], | 
 | 227 |     visibility: [ | 
 | 228 |         "//frameworks/opt/net/wifi/service", | 
| Baligh Uddin | fcbda3a | 2020-12-24 06:12:25 +0000 | [diff] [blame] | 229 |         "//packages/modules/Wifi/service", | 
| Roshan Pius | 864bdec | 2020-01-16 09:19:11 -0800 | [diff] [blame] | 230 |     ], | 
 | 231 | } |