blob: 87eedb237b0efa3e01f52c411899abd29579112d [file] [log] [blame]
Bob Badour92ecf7c2021-02-12 18:05:29 -08001package {
2 // See: http://go/android-license-faq
3 // A large-scale-change added 'default_applicable_licenses' to import
4 // all of the 'license_kinds' from "system_bt_license"
5 // to get the below license kinds:
6 // SPDX-license-identifier-Apache-2.0
7 default_applicable_licenses: ["system_bt_license"],
8}
9
William Escandebb37c5a2022-04-28 13:37:11 -070010linker_config {
William Escande8e1ae012022-06-22 13:13:42 -070011 name: "btservices-linker-config",
William Escandebb37c5a2022-04-28 13:37:11 -070012 src: "linker.config.json",
13 installable: false,
14}
15
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000016// Mainline bluetooth apex module (legacy, do not use).
17// TODO: Remove
William Escandebb37c5a2022-04-28 13:37:11 -070018apex {
19 name: "com.android.bluetooth",
20 defaults: ["t-launched-apex-module"],
21 manifest: "apex_manifest.json",
William Escande8e1ae012022-06-22 13:13:42 -070022 bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
23 systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
Etienne Ruffieuxa82b0872022-07-06 23:07:34 -070024 compat_configs: ["bluetooth-compat-config"],
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000025 key: "com.android.btservices.key",
Alexander Martinz8faa68b2024-08-16 09:38:35 +020026 certificate: "bluetooth",
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000027 updatable: false,
28 compressible: false,
29}
William Escandebb37c5a2022-04-28 13:37:11 -070030
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000031// Mainline bluetooth apex module.
32apex {
33 name: "com.android.btservices",
34 defaults: ["t-launched-apex-module"],
35 manifest: "apex_manifest.json",
William Escande8e1ae012022-06-22 13:13:42 -070036 bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
37 systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
Etienne Ruffieuxa82b0872022-07-06 23:07:34 -070038 compat_configs: ["bluetooth-compat-config"],
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000039 apps: ["Bluetooth"],
40
41 multilib: {
42 first: {
43 // Extractor process runs only with the primary ABI.
44 jni_libs: [
45 "libbluetooth_jni",
46 ],
47 },
48 },
49
50 prebuilts: [
51 "audio_set_configurations_bfbs",
52 "audio_set_configurations_json",
53 "audio_set_scenarios_bfbs",
54 "audio_set_scenarios_json",
William Escande8e1ae012022-06-22 13:13:42 -070055 "btservices-linker-config",
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000056 "bt_did.conf",
57 "bt_stack.conf",
58 "privapp_allowlist_com.android.bluetooth.xml",
59 ],
60 key: "com.android.btservices.key",
Alexander Martinz8faa68b2024-08-16 09:38:35 +020061 certificate: "bluetooth",
William Escande20a684b2022-11-16 11:29:40 -080062 updatable: false,
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000063 compressible: false,
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080064}
65
Zach Johnson7f1c87e2019-11-09 18:24:47 -080066apex_key {
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000067 name: "com.android.btservices.key",
68 public_key: "com.android.btservices.avbpubkey",
69 private_key: "com.android.btservices.pem",
Zach Johnson7f1c87e2019-11-09 18:24:47 -080070}
71
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080072sdk {
William Escande8e1ae012022-06-22 13:13:42 -070073 name: "btservices-module-sdk",
74 bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
75 systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080076}
77
78// Encapsulate the contributions made by the com.android.bluetooth to the bootclasspath.
79bootclasspath_fragment {
William Escande8e1ae012022-06-22 13:13:42 -070080 name: "com.android.btservices-bootclasspath-fragment",
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080081 contents: ["framework-bluetooth"],
82 apex_available: ["com.android.bluetooth"],
83
84 // The bootclasspath_fragments that provide APIs on which this depends.
85 fragments: [
86 {
87 apex: "com.android.art",
88 module: "art-bootclasspath-fragment",
89 },
90 ],
91
92 // Additional stubs libraries that this fragment's contents use which are
93 // not provided by another bootclasspath_fragment.
94 additional_stubs: [
95 "android-non-updatable",
96 ],
97
98 // Additional hidden API flag files to override the defaults. This must only be
99 // modified by the Soong or platform compat team.
100 hidden_api: {
101 max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
102 max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
103 unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
Paul Duffin4f29e5f2022-03-31 12:46:11 +0000104
105 // The following packages contain classes from other modules on the
106 // bootclasspath. That means that the hidden API flags for this module
107 // has to explicitly list every single class this module provides in
108 // that package to differentiate them from the classes provided by other
109 // modules. That can include private classes that are not part of the
110 // API.
111 split_packages: [
112 "android.bluetooth",
113 ],
114
115 // The following packages and all their subpackages currently only
116 // contain classes from this bootclasspath_fragment. Listing a package
117 // here won't prevent other bootclasspath modules from adding classes in
118 // any of those packages but it will prevent them from adding those
119 // classes into an API surface, e.g. public, system, etc.. Doing so will
120 // result in a build failure due to inconsistent flags.
121 package_prefixes: [
122 "android.bluetooth.le",
123 "com.android.bluetooth",
124 ],
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800125 },
126
127}
128
129systemserverclasspath_fragment {
William Escande8e1ae012022-06-22 13:13:42 -0700130 name: "com.android.btservices-systemserverclasspath-fragment",
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800131 standalone_contents: ["service-bluetooth"],
132 apex_available: ["com.android.bluetooth"],
133}