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: "current", 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 "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage 66 ], 67 srcs: [ 68 ":framework-ranging-updatable-sources", 69 ], 70} 71 72// ranging-service needs pre-jarjared version of framework-ranging so it can reference copied utility 73// classes before they are renamed. 74java_library { 75 name: "framework-ranging-pre-jarjar", 76 defaults: ["framework-ranging-defaults"], 77 sdk_version: "module_current", 78 min_sdk_version: "33", 79 libs: ["framework-annotations-lib"], 80 installable: false, 81 apex_available: [ 82 "com.android.uwb", 83 ], 84} 85 86// post-jarjar version of framework-ranging 87java_sdk_library { 88 name: "framework-ranging", 89 defaults: [ 90 "framework-module-defaults", 91 "framework-ranging-defaults", 92 ], 93 jarjar_rules: ":ranging-jarjar-rules", 94 installable: true, 95 optimize: { 96 enabled: false, 97 }, 98 hostdex: true, // for hiddenapi check 99 100 impl_library_visibility: [ 101 "//external/sl4a/Common:__subpackages__", 102 "//packages/modules/Uwb/ranging:__subpackages__", 103 ], 104 105 apex_available: [ 106 "com.android.uwb", 107 ], 108 permitted_packages: [ 109 "android.ranging", 110 // Created by jarjar rules. 111 "com.android.x.ranging", 112 ], 113} 114 115// defaults for tests that need to build against framework-ranging's @hide APIs 116java_defaults { 117 name: "framework-ranging-test-defaults", 118 sdk_version: "module_current", 119 libs: [ 120 "framework-ranging.impl", 121 ], 122 //defaults_visibility: [ 123 // "//packages/modules/Uwb/framework/tests:__subpackages__", 124 // "//packages/modules/Uwb/service/tests:__subpackages__", 125 //], 126} 127 128filegroup { 129 name: "ranging-jarjar-rules", 130 srcs: ["jarjar-rules.txt"], 131} 132