blob: 6ed8e5fd4f3de48654eb0591562a067a69de00d0 [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
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080010apex_defaults {
11 name: "com.android.bluetooth-defaults",
12 bootclasspath_fragments: ["com.android.bluetooth-bootclasspath-fragment"],
13 systemserverclasspath_fragments: ["com.android.bluetooth-systemserverclasspath-fragment"],
Zach Johnson7f1c87e2019-11-09 18:24:47 -080014 apps: ["Bluetooth"],
15
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080016 multilib: {
17 first: {
18 // Extractor process runs only with the primary ABI.
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080019 jni_libs: [
20 "libbluetooth_jni",
21 ],
22 },
23 },
Zach Johnson7f1c87e2019-11-09 18:24:47 -080024
William Escande5b0b5182022-03-19 01:36:07 +010025 prebuilts: [
26 "bluetooth-linker-config",
27 ],
Etienne Ruffieux7d5a5f12021-12-15 16:01:45 +000028 key: "com.android.bluetooth.key",
29 certificate: ":com.android.bluetooth.certificate",
Gurpreet Singh35388402022-03-10 18:29:04 +000030 defaults: ["t-launched-apex-module"],
Etienne Ruffieuxecc71082022-03-24 10:44:44 +000031 updatable: true,
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080032 // Indicates that pre-installed version of this apex can be compressed.
33 // Whether it actually will be compressed is controlled on per-device basis.
34 compressible: true,
35}
36
William Escande5b0b5182022-03-19 01:36:07 +010037linker_config {
38 name: "bluetooth-linker-config",
39 src: "linker.config.json",
40 installable: false,
41}
42
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080043//Mainline bluetooth apex module.
44apex {
45 name: "com.android.bluetooth",
46 defaults: ["com.android.bluetooth-defaults"],
47 manifest: "apex_manifest.json",
Zach Johnson7f1c87e2019-11-09 18:24:47 -080048}
49
50apex_key {
Etienne Ruffieux7d5a5f12021-12-15 16:01:45 +000051 name: "com.android.bluetooth.key",
52 public_key: "com.android.bluetooth.avbpubkey",
53 private_key: "com.android.bluetooth.pem",
Zach Johnson7f1c87e2019-11-09 18:24:47 -080054}
55
56android_app_certificate {
Etienne Ruffieux7d5a5f12021-12-15 16:01:45 +000057 name: "com.android.bluetooth.certificate",
58 certificate: "com.android.bluetooth",
Zach Johnson7f1c87e2019-11-09 18:24:47 -080059}
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -080060
61sdk {
62 name: "bluetooth-module-sdk",
63 bootclasspath_fragments: ["com.android.bluetooth-bootclasspath-fragment"],
64 systemserverclasspath_fragments: ["com.android.bluetooth-systemserverclasspath-fragment"],
65}
66
67// Encapsulate the contributions made by the com.android.bluetooth to the bootclasspath.
68bootclasspath_fragment {
69 name: "com.android.bluetooth-bootclasspath-fragment",
70 contents: ["framework-bluetooth"],
71 apex_available: ["com.android.bluetooth"],
72
73 // The bootclasspath_fragments that provide APIs on which this depends.
74 fragments: [
75 {
76 apex: "com.android.art",
77 module: "art-bootclasspath-fragment",
78 },
79 ],
80
81 // Additional stubs libraries that this fragment's contents use which are
82 // not provided by another bootclasspath_fragment.
83 additional_stubs: [
84 "android-non-updatable",
85 ],
86
87 // Additional hidden API flag files to override the defaults. This must only be
88 // modified by the Soong or platform compat team.
89 hidden_api: {
90 max_target_o_low_priority: ["hiddenapi/hiddenapi-max-target-o-low-priority.txt"],
91 max_target_r_low_priority: ["hiddenapi/hiddenapi-max-target-r-low-priority.txt"],
92 unsupported: ["hiddenapi/hiddenapi-unsupported.txt"],
Paul Duffin4f29e5f2022-03-31 12:46:11 +000093
94 // The following packages contain classes from other modules on the
95 // bootclasspath. That means that the hidden API flags for this module
96 // has to explicitly list every single class this module provides in
97 // that package to differentiate them from the classes provided by other
98 // modules. That can include private classes that are not part of the
99 // API.
100 split_packages: [
101 "android.bluetooth",
102 ],
103
104 // The following packages and all their subpackages currently only
105 // contain classes from this bootclasspath_fragment. Listing a package
106 // here won't prevent other bootclasspath modules from adding classes in
107 // any of those packages but it will prevent them from adding those
108 // classes into an API surface, e.g. public, system, etc.. Doing so will
109 // result in a build failure due to inconsistent flags.
110 package_prefixes: [
111 "android.bluetooth.le",
112 "com.android.bluetooth",
113 ],
Roopa Sattiraju1e7b3812022-02-03 09:13:02 -0800114 },
115
116}
117
118systemserverclasspath_fragment {
119 name: "com.android.bluetooth-systemserverclasspath-fragment",
120 standalone_contents: ["service-bluetooth"],
121 apex_available: ["com.android.bluetooth"],
122}