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