xref: /aosp_15_r20/frameworks/base/packages/Vcn/framework-b/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1//
2// Copyright (C) 2024 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
17package {
18    default_team: "trendy_team_enigma",
19    default_applicable_licenses: ["Android-Apache-2.0"],
20}
21
22filegroup {
23    name: "vcn-utils-platform-sources",
24    srcs: [
25        "src/android/net/vcn/persistablebundleutils/**/*.java",
26        "src/android/net/vcn/util/**/*.java",
27    ],
28    path: "src",
29    visibility: [
30        "//frameworks/base", // For VpnProfile.java and Vpn.java
31    ],
32}
33
34java_defaults {
35    name: "framework-connectivity-b-defaults",
36    sdk_version: "module_current",
37    min_sdk_version: "35", // TODO: Make it Android 25Q2 when this is included in mainline
38    defaults: ["framework-module-defaults"], // This is a boot jar
39
40    srcs: [
41        "src/**/*.java",
42        "src/**/*.aidl",
43    ],
44
45    libs: [
46        "android.net.ipsec.ike.stubs.module_lib",
47        "app-compat-annotations",
48        "framework-wifi.stubs.module_lib",
49        "unsupportedappusage",
50    ],
51    static_libs: [
52        //TODO:375213246 Use a non-exported flag lib when VCN is in mainline
53        "android.net.vcn.flags-aconfig-java-export",
54    ],
55    aidl: {
56        include_dirs: [
57            // For connectivity-framework classes such as Network.aidl, NetworkCapabilities.aidl
58            "packages/modules/Connectivity/framework/aidl-export",
59        ],
60    },
61}
62
63java_sdk_library {
64    name: "framework-connectivity-b",
65    defaults: [
66        "framework-connectivity-b-defaults",
67    ],
68
69    //TODO: b/375213246 Use "framework-connectivity-jarjar-rules" when VCN is
70    // in mainline
71    jarjar_rules: "framework-vcn-jarjar-rules.txt",
72
73    permitted_packages: [
74        "android.net",
75        "android.net.vcn",
76        "com.android.server.vcn.util",
77
78    ],
79    api_packages: [
80        "android.net",
81        "android.net.vcn",
82    ],
83
84    // Allow VCN APIs to reference APIs in IKE and Connectivity
85    stub_only_libs: [
86        "android.net.ipsec.ike.stubs.module_lib",
87        "framework-connectivity.stubs.module_lib",
88    ],
89
90    // To use non-jarjard names of utilities such as android.util.IndentingPrintWriter
91    impl_only_libs: [
92        "framework-connectivity-pre-jarjar",
93    ],
94
95    aconfig_declarations: [
96        //TODO:375213246 Use a non-exported flag lib when VCN is in mainline
97        "android.net.vcn.flags-aconfig-java-export",
98    ],
99
100    impl_library_visibility: [
101        // Using for test only
102        "//cts/tests/netlegacy22.api",
103        "//cts/tests/tests/vcn",
104        "//external/sl4a:__subpackages__",
105        "//frameworks/base/core/tests/bandwidthtests",
106        "//frameworks/base/core/tests/benchmarks",
107        "//frameworks/base/core/tests/utillib",
108        "//frameworks/base/services/tests/VpnTests",
109        "//frameworks/base/tests/vcn",
110        "//frameworks/opt/telephony/tests/telephonytests",
111        "//packages/modules/CaptivePortalLogin/tests",
112        "//packages/modules/Connectivity/staticlibs/testutils",
113        "//packages/modules/Connectivity/staticlibs/tests:__subpackages__",
114        "//packages/modules/Connectivity/Tethering/tests:__subpackages__",
115        "//packages/modules/Connectivity/tests:__subpackages__",
116        "//packages/modules/Connectivity/thread/tests:__subpackages__",
117        "//packages/modules/IPsec/tests/iketests",
118        "//packages/modules/NetworkStack",
119        "//packages/modules/NetworkStack/tests:__subpackages__",
120        "//packages/modules/Wifi/service/tests/wifitests",
121    ],
122
123    apex_available: [
124        // TODO: b/374174952 Remove it when VCN modularization is released
125        "//apex_available:platform",
126
127        "com.android.tethering",
128    ],
129}
130
131java_library {
132    name: "framework-connectivity-b-pre-jarjar",
133    defaults: ["framework-connectivity-b-defaults"],
134    libs: [
135        "framework-connectivity-pre-jarjar",
136    ],
137}
138