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