1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5java_defaults { 6 name: "bluetooth-module-sdk-version-defaults", 7 min_sdk_version: "current", 8 target_sdk_version: "current", 9} 10 11filegroup { 12 name: "framework-bluetooth-sources", 13 srcs: [ 14 "java/**/*.java", 15 "java/**/*.aidl", 16 ], 17 path: "java", 18 visibility: ["//frameworks/base"], 19} 20 21// defaults shared between `framework-bluetooth` & `framework-bluetooth-pre-jarjar` 22// java_sdk_library `framework-bluetooth` needs sources to generate stubs, so it cannot reuse 23// `framework-bluetooth-pre-jarjar` 24java_defaults { 25 name: "framework-bluetooth-defaults", 26 defaults: ["bluetooth-module-sdk-version-defaults"], 27 static_libs: [ 28 "modules-utils-synchronous-result-receiver", 29 "PlatformProperties", 30 ], 31 libs: [ 32 "framework-tethering.stubs.module_lib", 33 "unsupportedappusage", // for android.compat.annotation.UnsupportedAppUsage 34 ], 35 stub_only_libs: ["framework-tethering.stubs.module_lib"], 36 srcs: [ 37 ":framework-bluetooth-sources", 38 ":libbluetooth-binder-aidl", 39 ], 40} 41 42// bluetooth-service needs pre-jarjared version of framework-bluetooth so it can reference copied utility 43// classes before they are renamed. 44java_library { 45 name: "framework-bluetooth-pre-jarjar", 46 defaults: ["framework-bluetooth-defaults"], 47 sdk_version: "module_current", 48 libs: ["framework-annotations-lib"], 49 // java_api_finder must accompany `srcs` (`srcs` defined in `framework-bluetooth-defaults`) 50 plugins: ["java_api_finder"], 51 installable: false, 52} 53 54// post-jarjar version of framework-bluetooth 55java_sdk_library { 56 name: "framework-bluetooth", 57 defaults: [ 58 "framework-module-defaults", 59 "framework-bluetooth-defaults", 60 ], 61 62 jarjar_rules: ":bluetooth-jarjar-rules", 63 installable: true, 64 optimize: { 65 enabled: false 66 }, 67 hostdex: true, // for hiddenapi check 68 69 impl_library_visibility: [ 70 "//external/sl4a/Common", 71 "//frameworks/opt/wear", 72 "//packages/modules/Bluetooth/android/app/tests/unit", 73 "//packages/modules/Bluetooth/android/pandora/server", 74 "//packages/modules/Bluetooth/service", 75 "//packages/modules/Connectivity/nearby/tests/multidevices/clients/test_support/fastpair_provider", 76 "//packages/services/Car/car-builtin-lib", 77 // TODO(240720385) 78 "//packages/services/Car/tests/carservice_unit_test", 79 ":__subpackages__", 80 ], 81 82 apex_available: [ 83 "com.android.bluetooth", 84 ], 85 86 permitted_packages: [ 87 "android.bluetooth", 88 // Created by jarjar rules. 89 "com.android.bluetooth.x", 90 ], 91 lint: { 92 strict_updatability_linting: true, 93 }, 94} 95 96// defaults for tests that need to build against framework-bluetooths's @hide APIs 97java_defaults { 98 name: "framework-bluetooth-tests-defaults", 99 sdk_version: "core_platform", 100 libs: [ 101 // order matters: classes in framework-bluetooth are resolved before framework, meaning 102 // @hide APIs in framework-bluetooth are resolved before @SystemApi stubs in framework 103 "framework-bluetooth.impl", 104 "framework", 105 106 // if sdk_version="" this gets automatically included, but here we need to add manually. 107 "framework-res", 108 ], 109 defaults_visibility: ["//visibility:public"], 110} 111 112filegroup { 113 name: "bluetooth-jarjar-rules", 114 srcs: ["jarjar-rules.txt"], 115} 116