1 // 2 // Copyright (C) 2021 The Android Open Source Project 3 // 4 // Licensed under the Apache License, Version 2.0 (the "License"); 5 // you may not use this file except in compliance with the License. 6 // You may obtain a copy of the License at 7 // 8 // http://www.apache.org/licenses/LICENSE-2.0 9 // 10 // Unless required by applicable law or agreed to in writing, software 11 // distributed under the License is distributed on an "AS IS" BASIS, 12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 // See the License for the specific language governing permissions and 14 // limitations under the License. 15 // 16 17 package { 18 // See: http://go/android-license-faq 19 default_applicable_licenses: ["Android-Apache-2.0"], 20 } 21 22 // Include build rules from Sources.bp 23 build = ["Sources.bp"] 24 25 java_defaults { 26 name: "enable-framework-connectivity-t-targets", 27 enabled: true, 28 } 29 // The above defaults can be used to disable framework-connectivity t 30 // targets while minimizing merge conflicts in the build rules. 31 32 // SDK library for connectivity bootclasspath classes that were part of the non-updatable API before 33 // T, and were moved to the module in T. Other bootclasspath classes in connectivity should go to 34 // framework-connectivity. 35 java_defaults { 36 name: "framework-connectivity-t-defaults", 37 sdk_version: "module_current", 38 min_sdk_version: "Tiramisu", 39 defaults: [ 40 "framework-module-defaults", 41 ], 42 srcs: [ 43 ":framework-connectivity-tiramisu-updatable-sources", 44 ":framework-nearby-java-sources", 45 ], 46 stub_only_libs: [ 47 // Use prebuilt framework-connectivity stubs to avoid circular dependencies 48 "sdk_module-lib_current_framework-connectivity", 49 ], 50 libs: [ 51 "unsupportedappusage", 52 "app-compat-annotations", 53 "sdk_module-lib_current_framework-connectivity", 54 ], 55 impl_only_libs: [ 56 // The build system will use framework-bluetooth module_current stubs, because 57 // of sdk_version: "module_current" above. 58 "framework-bluetooth", 59 "framework-wifi", 60 // Compile against the entire implementation of framework-connectivity, 61 // including hidden methods. This is safe because if framework-connectivity-t is 62 // on the bootclasspath (i.e., T), then framework-connectivity is also on the 63 // bootclasspath (because it shipped in S). 64 // 65 // This compiles against the pre-jarjar target so that this code can use 66 // non-jarjard names of widely-used packages such as com.android.net.module.util. 67 "framework-connectivity-pre-jarjar", 68 ], 69 aidl: { 70 generate_get_transaction_name: true, 71 include_dirs: [ 72 // For connectivity-framework classes such as Network.aidl, 73 // and connectivity-framework-t classes such as 74 // NetworkStateSnapshot.aidl 75 "packages/modules/Connectivity/framework/aidl-export", 76 ], 77 }, 78 apex_available: [ 79 "com.android.tethering", 80 ], 81 } 82 83 java_library { 84 name: "framework-connectivity-t-pre-jarjar", 85 defaults: ["framework-connectivity-t-defaults"], 86 libs: [ 87 "framework-bluetooth", 88 "framework-wifi", 89 "framework-connectivity-pre-jarjar", 90 ], 91 visibility: ["//packages/modules/Connectivity:__subpackages__"], 92 } 93 94 // SDK library for connectivity bootclasspath classes that were part of the non-updatable API before 95 // T, and were moved to the module in T. Other bootclasspath classes in connectivity should go to 96 // framework-connectivity. 97 java_sdk_library { 98 name: "framework-connectivity-t", 99 defaults: [ 100 "framework-connectivity-t-defaults", 101 "enable-framework-connectivity-t-targets", 102 ], 103 // Do not add static_libs to this library: put them in framework-connectivity instead. 104 // The jarjar rules are only so that references to jarjared utils in 105 // framework-connectivity-pre-jarjar match at runtime. 106 jarjar_rules: ":connectivity-jarjar-rules", 107 permitted_packages: [ 108 "android.app.usage", 109 "android.net", 110 "android.net.nsd", 111 "android.nearby", 112 "com.android.connectivity", 113 "com.android.nearby", 114 ], 115 impl_library_visibility: [ 116 "//packages/modules/Connectivity/Tethering/apex", 117 // In preparation for future move 118 "//packages/modules/Connectivity/apex", 119 "//packages/modules/Connectivity/service-t", 120 "//packages/modules/Connectivity/nearby/service", 121 "//frameworks/base", 122 123 // Tests using hidden APIs 124 "//cts/tests/netlegacy22.api", 125 "//cts/tests/tests/app.usage", // NetworkUsageStatsTest 126 "//external/sl4a:__subpackages__", 127 "//frameworks/base/core/tests/bandwidthtests", 128 "//frameworks/base/core/tests/benchmarks", 129 "//frameworks/base/core/tests/utillib", 130 "//frameworks/base/tests/vcn", 131 "//frameworks/libs/net/common/testutils", 132 "//frameworks/libs/net/common/tests:__subpackages__", 133 "//frameworks/opt/net/ethernet/tests:__subpackages__", 134 "//frameworks/opt/telephony/tests/telephonytests", 135 "//packages/modules/CaptivePortalLogin/tests", 136 "//packages/modules/Connectivity/Tethering/tests:__subpackages__", 137 "//packages/modules/Connectivity/nearby/tests:__subpackages__", 138 "//packages/modules/Connectivity/tests:__subpackages__", 139 "//packages/modules/IPsec/tests/iketests", 140 "//packages/modules/NetworkStack/tests:__subpackages__", 141 "//packages/modules/Wifi/service/tests/wifitests", 142 ], 143 } 144