• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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