blob: 3026a4ce0152cc06859da3872149f7da2e6f53e7 [file] [log] [blame]
package {
// See: http://go/android-license-faq
// A large-scale-change added 'default_applicable_licenses' to import
// all of the 'license_kinds' from "system_bt_license"
// to get the below license kinds:
// SPDX-license-identifier-Apache-2.0
default_applicable_licenses: ["system_bt_license"],
}
linker_config {
name: "btservices-linker-config",
src: "linker.config.json",
installable: false,
}
// Mainline bluetooth apex module (legacy, do not use).
// TODO: Remove
apex {
name: "com.android.bluetooth",
defaults: ["t-launched-apex-module"],
manifest: "apex_manifest.json",
bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
compat_configs: ["bluetooth-compat-config"],
apps: ["Bluetooth"],
multilib: {
first: {
// Extractor process runs only with the primary ABI.
jni_libs: [
"libbluetooth_jni",
],
},
},
prebuilts: [
"audio_set_configurations_bfbs",
"audio_set_configurations_json",
"audio_set_scenarios_bfbs",
"audio_set_scenarios_json",
"btservices-linker-config",
"bt_did.conf",
"bt_stack.conf",
"privapp_allowlist_com.android.bluetooth.xml",
],
key: "com.android.btservices.key",
certificate: ":com.android.btservices.certificate",
updatable: false,
compressible: false,
}
// Mainline bluetooth apex module.
apex {
name: "com.android.btservices",
defaults: ["t-launched-apex-module"],
manifest: "apex_manifest.json",
bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
compat_configs: ["bluetooth-compat-config"],
apps: ["Bluetooth"],
multilib: {
first: {
// Extractor process runs only with the primary ABI.
jni_libs: [
"libbluetooth_jni",
],
},
},
prebuilts: [
"audio_set_configurations_bfbs",
"audio_set_configurations_json",
"audio_set_scenarios_bfbs",
"audio_set_scenarios_json",
"btservices-linker-config",
"bt_did.conf",
"bt_stack.conf",
"privapp_allowlist_com.android.bluetooth.xml",
],
key: "com.android.btservices.key",
certificate: ":com.android.btservices.certificate",
updatable: false,
compressible: false,
}
apex_key {
name: "com.android.btservices.key",
public_key: "com.android.btservices.avbpubkey",
private_key: "com.android.btservices.pem",
}
android_app_certificate {
name: "com.android.btservices.certificate",
certificate: "com.android.btservices",
}
sdk {
name: "btservices-module-sdk",
bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
}
// Encapsulate the contributions made by the com.android.bluetooth to the bootclasspath.
bootclasspath_fragment {
name: "com.android.btservices-bootclasspath-fragment",
contents: ["framework-bluetooth"],
apex_available: ["com.android.bluetooth"],
// The bootclasspath_fragments that provide APIs on which this depends.
fragments: [
{
apex: "com.android.art",
module: "art-bootclasspath-fragment",
},
],
// Additional stubs libraries that this fragment's contents use which are
// not provided by another bootclasspath_fragment.
additional_stubs: [
"android-non-updatable",
],
// Additional hidden API flag files to override the defaults. This must only be
// modified by the Soong or platform compat team.
hidden_api: {
max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
// The following packages contain classes from other modules on the
// bootclasspath. That means that the hidden API flags for this module
// has to explicitly list every single class this module provides in
// that package to differentiate them from the classes provided by other
// modules. That can include private classes that are not part of the
// API.
split_packages: [
"android.bluetooth",
],
// The following packages and all their subpackages currently only
// contain classes from this bootclasspath_fragment. Listing a package
// here won't prevent other bootclasspath modules from adding classes in
// any of those packages but it will prevent them from adding those
// classes into an API surface, e.g. public, system, etc.. Doing so will
// result in a build failure due to inconsistent flags.
package_prefixes: [
"android.bluetooth.le",
"com.android.bluetooth",
],
},
}
systemserverclasspath_fragment {
name: "com.android.btservices-systemserverclasspath-fragment",
standalone_contents: ["service-bluetooth"],
apex_available: ["com.android.bluetooth"],
}