blob: 3026a4ce0152cc06859da3872149f7da2e6f53e7 [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"],
Zach Johnson7f1c87e2019-11-09 18:24:47 -080025 apps: ["Bluetooth"],
26
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080027 multilib: {
28 first: {
29 // Extractor process runs only with the primary ABI.
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080030 jni_libs: [
31 "libbluetooth_jni",
32 ],
33 },
34 },
Zach Johnson7f1c87e2019-11-09 18:24:47 -080035
William Escande5b0b5182022-03-19 01:36:07 +010036 prebuilts: [
William Escandeb247faa2022-04-28 13:48:25 -070037 "audio_set_configurations_bfbs",
38 "audio_set_configurations_json",
39 "audio_set_scenarios_bfbs",
40 "audio_set_scenarios_json",
William Escande8e1ae012022-06-22 13:13:42 -070041 "btservices-linker-config",
William Escandeb247faa2022-04-28 13:48:25 -070042 "bt_did.conf",
43 "bt_stack.conf",
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000044 "privapp_allowlist_com.android.bluetooth.xml",
William Escande5b0b5182022-03-19 01:36:07 +010045 ],
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000046 key: "com.android.btservices.key",
47 certificate: ":com.android.btservices.certificate",
48 updatable: false,
49 compressible: false,
50}
William Escandebb37c5a2022-04-28 13:37:11 -070051
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000052// Mainline bluetooth apex module.
53apex {
54 name: "com.android.btservices",
55 defaults: ["t-launched-apex-module"],
56 manifest: "apex_manifest.json",
William Escande8e1ae012022-06-22 13:13:42 -070057 bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
58 systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
Etienne Ruffieuxa82b0872022-07-06 23:07:34 -070059 compat_configs: ["bluetooth-compat-config"],
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000060 apps: ["Bluetooth"],
61
62 multilib: {
63 first: {
64 // Extractor process runs only with the primary ABI.
65 jni_libs: [
66 "libbluetooth_jni",
67 ],
68 },
69 },
70
71 prebuilts: [
72 "audio_set_configurations_bfbs",
73 "audio_set_configurations_json",
74 "audio_set_scenarios_bfbs",
75 "audio_set_scenarios_json",
William Escande8e1ae012022-06-22 13:13:42 -070076 "btservices-linker-config",
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000077 "bt_did.conf",
78 "bt_stack.conf",
79 "privapp_allowlist_com.android.bluetooth.xml",
80 ],
81 key: "com.android.btservices.key",
82 certificate: ":com.android.btservices.certificate",
83 updatable: false,
84 compressible: false,
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080085}
86
Zach Johnson7f1c87e2019-11-09 18:24:47 -080087apex_key {
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000088 name: "com.android.btservices.key",
89 public_key: "com.android.btservices.avbpubkey",
90 private_key: "com.android.btservices.pem",
Zach Johnson7f1c87e2019-11-09 18:24:47 -080091}
92
93android_app_certificate {
Oriol Prieto Gascoecb4b3a2022-06-17 18:31:43 +000094 name: "com.android.btservices.certificate",
95 certificate: "com.android.btservices",
Zach Johnson7f1c87e2019-11-09 18:24:47 -080096}
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080097
98sdk {
William Escande8e1ae012022-06-22 13:13:42 -070099 name: "btservices-module-sdk",
100 bootclasspath_fragments: ["com.android.btservices-bootclasspath-fragment"],
101 systemserverclasspath_fragments: ["com.android.btservices-systemserverclasspath-fragment"],
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800102}
103
104// Encapsulate the contributions made by the com.android.bluetooth to the bootclasspath.
105bootclasspath_fragment {
William Escande8e1ae012022-06-22 13:13:42 -0700106 name: "com.android.btservices-bootclasspath-fragment",
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800107 contents: ["framework-bluetooth"],
108 apex_available: ["com.android.bluetooth"],
109
110 // The bootclasspath_fragments that provide APIs on which this depends.
111 fragments: [
112 {
113 apex: "com.android.art",
114 module: "art-bootclasspath-fragment",
115 },
116 ],
117
118 // Additional stubs libraries that this fragment's contents use which are
119 // not provided by another bootclasspath_fragment.
120 additional_stubs: [
121 "android-non-updatable",
122 ],
123
124 // Additional hidden API flag files to override the defaults. This must only be
125 // modified by the Soong or platform compat team.
126 hidden_api: {
127 max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
128 max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
129 unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
Paul Duffin4f29e5f2022-03-31 12:46:11 +0000130
131 // The following packages contain classes from other modules on the
132 // bootclasspath. That means that the hidden API flags for this module
133 // has to explicitly list every single class this module provides in
134 // that package to differentiate them from the classes provided by other
135 // modules. That can include private classes that are not part of the
136 // API.
137 split_packages: [
138 "android.bluetooth",
139 ],
140
141 // The following packages and all their subpackages currently only
142 // contain classes from this bootclasspath_fragment. Listing a package
143 // here won't prevent other bootclasspath modules from adding classes in
144 // any of those packages but it will prevent them from adding those
145 // classes into an API surface, e.g. public, system, etc.. Doing so will
146 // result in a build failure due to inconsistent flags.
147 package_prefixes: [
148 "android.bluetooth.le",
149 "com.android.bluetooth",
150 ],
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800151 },
152
153}
154
155systemserverclasspath_fragment {
William Escande8e1ae012022-06-22 13:13:42 -0700156 name: "com.android.btservices-systemserverclasspath-fragment",
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800157 standalone_contents: ["service-bluetooth"],
158 apex_available: ["com.android.bluetooth"],
159}