1// Copyright (C) 2024 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_team: "trendy_team_fwk_uwb", 17 default_applicable_licenses: ["Android-Apache-2.0"], 18} 19 20java_defaults { 21 name: "ranging-module-sdk-version-defaults", 22 min_sdk_version: "35", 23} 24 25filegroup { 26 name: "framework-ranging-updatable-exported-aidl-sources", 27 srcs: ["aidl-export/**/*.aidl"], 28 path: "aidl-export", 29 visibility: ["//visibility:private"], 30} 31 32filegroup { 33 name: "framework-ranging-updatable-java-sources", 34 srcs: [ 35 "java/**/*.java", 36 "java/**/*.aidl", 37 ], 38 path: "java", 39 visibility: ["//visibility:private"], 40} 41 42filegroup { 43 name: "framework-ranging-updatable-sources", 44 defaults: ["framework-sources-module-defaults"], 45 srcs: [ 46 ":framework-ranging-updatable-java-sources", 47 ":framework-ranging-updatable-exported-aidl-sources", 48 ], 49} 50 51// defaults shared between `framework-ranging` & `framework-ranging-pre-jarjar` 52// java_sdk_library `framework-ranging` needs sources to generate stubs, so it cannot reuse 53// `framework-ranging-pre-jarjar` 54java_defaults { 55 name: "framework-ranging-defaults", 56 defaults: ["ranging-module-sdk-version-defaults"], 57 static_libs: [ 58 //"modules-utils-preconditions", 59 "modules-utils-build", 60 "ranging_aconfig_flags_lib", 61 ], 62 libs: [ 63 "androidx.annotation_annotation", 64 "framework-bluetooth.stubs.module_lib", 65 "framework-wifi.stubs.module_lib", 66 "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage 67 ], 68 srcs: [ 69 ":framework-ranging-updatable-sources", 70 ], 71} 72 73// ranging-service needs pre-jarjared version of framework-ranging so it can reference copied utility 74// classes before they are renamed. 75java_library { 76 name: "framework-ranging-pre-jarjar", 77 defaults: ["framework-ranging-defaults"], 78 sdk_version: "module_current", 79 min_sdk_version: "33", 80 libs: ["framework-annotations-lib"], 81 installable: false, 82 apex_available: [ 83 "com.android.uwb", 84 ], 85} 86 87// post-jarjar version of framework-ranging 88java_sdk_library { 89 name: "framework-ranging", 90 defaults: [ 91 "framework-module-defaults", 92 "framework-ranging-defaults", 93 ], 94 jarjar_rules: ":ranging-jarjar-rules", 95 installable: true, 96 optimize: { 97 enabled: false, 98 }, 99 hostdex: true, // for hiddenapi check 100 101 impl_library_visibility: [ 102 "//external/sl4a/Common:__subpackages__", 103 "//packages/modules/Uwb/ranging:__subpackages__", 104 ], 105 106 apex_available: [ 107 "com.android.uwb", 108 ], 109 permitted_packages: [ 110 "android.ranging", 111 // Created by jarjar rules. 112 "com.android.x.ranging", 113 ], 114 min_sdk_version: "36", 115} 116 117// defaults for tests that need to build against framework-ranging's @hide APIs 118java_defaults { 119 name: "framework-ranging-test-defaults", 120 sdk_version: "module_current", 121 libs: [ 122 "framework-ranging.impl", 123 ], 124 defaults_visibility: [ 125 "//packages/modules/Uwb/ranging/framework/tests:__subpackages__", 126 "//packages/modules/Uwb/ranging/service/tests:__subpackages__", 127 ], 128} 129 130filegroup { 131 name: "ranging-jarjar-rules", 132 srcs: ["jarjar-rules.txt"], 133} 134