• 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
17package {
18    default_team: "trendy_team_fwk_uwb",
19    default_applicable_licenses: ["Android-Apache-2.0"],
20}
21
22apex_defaults {
23    name: "com.android.uwb-defaults",
24    bootclasspath_fragments: ["com.android.uwb-bootclasspath-fragment"],
25    systemserverclasspath_fragments: ["com.android.uwb-systemserverclasspath-fragment"],
26    multilib: {
27        both: {
28            jni_libs: [
29                "libuwb_uci_jni_rust",
30            ],
31        },
32    },
33    apps: [
34        "ServiceUwbResources",
35    ],
36    key: "com.android.uwb.key",
37    certificate: ":com.android.uwb.certificate",
38    defaults: ["t-launched-apex-module"],
39}
40
41// Mainline uwb apex module.
42apex {
43    name: "com.android.uwb",
44    defaults: ["com.android.uwb-defaults"],
45    manifest: "apex_manifest.json",
46    visibility: ["//packages/modules/common/build"],
47}
48
49apex_key {
50    name: "com.android.uwb.key",
51    public_key: "com.android.uwb.avbpubkey",
52    private_key: "com.android.uwb.pem",
53}
54
55android_app_certificate {
56    name: "com.android.uwb.certificate",
57    certificate: "com.android.uwb",
58}
59
60sdk {
61    name: "uwb-module-sdk",
62    apexes: [
63        // Adds exportable dependencies of the APEX to the sdk,
64        // e.g. *classpath_fragments.
65        "com.android.uwb",
66    ],
67}
68
69// Encapsulate the contributions made by the com.android.uwb to the bootclasspath.
70bootclasspath_fragment {
71    name: "com.android.uwb-bootclasspath-fragment",
72    contents: ["framework-uwb"],
73    apex_available: ["com.android.uwb"],
74
75    // The bootclasspath_fragments that provide APIs on which this depends.
76    fragments: [
77        {
78            apex: "com.android.art",
79            module: "art-bootclasspath-fragment",
80        },
81    ],
82
83    // Additional stubs libraries that this fragment's contents use which are
84    // not provided by another bootclasspath_fragment.
85    additional_stubs: [
86        "android-non-updatable",
87    ],
88
89    hidden_api: {
90
91        // The following packages contain classes from other modules on the
92        // bootclasspath. That means that the hidden API flags for this module
93        // has to explicitly list every single class this module provides in
94        // that package to differentiate them from the classes provided by other
95        // modules. That can include private classes that are not part of the
96        // API.
97        split_packages: [
98            "android.uwb",
99        ],
100
101        // The following packages and all their subpackages currently only
102        // contain classes from this bootclasspath_fragment. Listing a package
103        // here won't prevent other bootclasspath modules from adding classes in
104        // any of those packages but it will prevent them from adding those
105        // classes into an API surface, e.g. public, system, etc.. Doing so will
106        // result in a build failure due to inconsistent flags.
107        package_prefixes: [
108            "com.android.x",
109            "android.uwb.util",
110        ],
111    },
112}
113
114systemserverclasspath_fragment {
115    name: "com.android.uwb-systemserverclasspath-fragment",
116    standalone_contents: ["service-uwb"],
117    apex_available: ["com.android.uwb"],
118}
119