blob: 2527a73ad6f7cd640e839f26352a6fed46622710 [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 Martinz526f2592024-08-16 09:56:42 +020026 certificate: ":com.android.btservices.certificate",
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 Martinz526f2592024-08-16 09:56:42 +020061 certificate: ":com.android.btservices.certificate",
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
Alexander Martinz526f2592024-08-16 09:56:42 +020072android_app_certificate {
73 name: "com.android.btservices.certificate",
74 certificate: "com.android.btservices",
75}
76
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080077sdk {
William Escande8e1ae012022-06-22 13:13:42 -070078 name: "btservices-module-sdk",
79 bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
80 systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080081}
82
83// Encapsulate the contributions made by the com.android.bluetooth to the bootclasspath.
84bootclasspath_fragment {
William Escande8e1ae012022-06-22 13:13:42 -070085 name: "com.android.btservices-bootclasspath-fragment",
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080086 contents: ["framework-bluetooth"],
87 apex_available: ["com.android.bluetooth"],
88
89 // The bootclasspath_fragments that provide APIs on which this depends.
90 fragments: [
91 {
92 apex: "com.android.art",
93 module: "art-bootclasspath-fragment",
94 },
95 ],
96
97 // Additional stubs libraries that this fragment's contents use which are
98 // not provided by another bootclasspath_fragment.
99 additional_stubs: [
100 "android-non-updatable",
101 ],
102
103 // Additional hidden API flag files to override the defaults. This must only be
104 // modified by the Soong or platform compat team.
105 hidden_api: {
106 max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
107 max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
108 unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
Paul Duffin4f29e5f2022-03-31 12:46:11 +0000109
110 // The following packages contain classes from other modules on the
111 // bootclasspath. That means that the hidden API flags for this module
112 // has to explicitly list every single class this module provides in
113 // that package to differentiate them from the classes provided by other
114 // modules. That can include private classes that are not part of the
115 // API.
116 split_packages: [
117 "android.bluetooth",
118 ],
119
120 // The following packages and all their subpackages currently only
121 // contain classes from this bootclasspath_fragment. Listing a package
122 // here won't prevent other bootclasspath modules from adding classes in
123 // any of those packages but it will prevent them from adding those
124 // classes into an API surface, e.g. public, system, etc.. Doing so will
125 // result in a build failure due to inconsistent flags.
126 package_prefixes: [
127 "android.bluetooth.le",
128 "com.android.bluetooth",
129 ],
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800130 },
131
132}
133
134systemserverclasspath_fragment {
William Escande8e1ae012022-06-22 13:13:42 -0700135 name: "com.android.btservices-systemserverclasspath-fragment",
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800136 standalone_contents: ["service-bluetooth"],
137 apex_available: ["com.android.bluetooth"],
138}