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