blob: 9fdb9bc6506a106a02760e5c71215326a44f0871 [file] [log] [blame]
Paul Duffin11281142021-01-25 18:31:26 +00001// Copyright (C) 2021 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7// http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
Bob Badour051ef782021-02-12 17:07:05 -080015package {
16 // See: http://go/android-license-faq
17 // A large-scale-change added 'default_applicable_licenses' to import
18 // all of the 'license_kinds' from "frameworks_base_license"
19 // to get the below license kinds:
20 // SPDX-license-identifier-Apache-2.0
21 // SPDX-license-identifier-MIT
22 // SPDX-license-identifier-Unicode-DFS
23 default_applicable_licenses: ["frameworks_base_license"],
24}
25
Paul Duffin3e4ec3b2021-04-01 11:53:32 +010026// This module provides access to information Soong has related to the
27// whole platform bootclasspath. Currently, that information is provided solely
28// through configuration but additional information will be added here.
29//
30// This will provide support for the following:
31// * Hidden API processing for those parts of the bootclasspath that are not
32// part of an APEX.
33// * Compatibility checking to ensure that the hidden API bits encoded into the
34// dex files by the modularized hidden API processing is compatible with the
35// runtimes of earlier releases which expect the bits to have been computed
36// over the entirety of the bootclasspath in one go not separately.
37// * Dexpreopting apps and other libraries not on the platform bootclasspath.
38// * Generating and installing the appropriate files to the device which will
39// allow it to generate the bootclasspath related environment variables
40// dynamically.
41//
42// This module needs to be present in the build for the above processing to be
43// done correctly.
44platform_bootclasspath {
45 name: "platform-bootclasspath",
Paul Duffin81af1f52021-04-08 19:22:50 +010046
Paul Duffinb2d391d2021-04-08 09:05:39 +010047 // The bootclasspath_fragments that contribute to the platform
48 // bootclasspath.
49 fragments: [
50 {
Neha Pattanfa46dd22022-02-18 19:46:09 +000051 apex: "com.android.adservices",
52 module: "com.android.adservices-bootclasspath-fragment",
53 },
54 {
Artur Satayeve19115d2021-05-25 16:46:33 +000055 apex: "com.android.appsearch",
56 module: "com.android.appsearch-bootclasspath-fragment",
57 },
58 {
Paul Duffinb2d391d2021-04-08 09:05:39 +010059 apex: "com.android.art",
60 module: "art-bootclasspath-fragment",
61 },
Paul Duffinfc8fd102021-04-14 19:17:52 +010062 {
William Escande7b012e92022-06-22 13:19:14 -070063 apex: "com.android.btservices",
64 module: "com.android.btservices-bootclasspath-fragment",
Roopa Sattiraju293ed882022-02-03 09:07:17 -080065 },
66 {
Hassan Ali482f91c2022-10-05 13:16:23 +000067 apex: "com.android.configinfrastructure",
68 module: "com.android.configinfrastructure-bootclasspath-fragment",
69 },
70 {
Artur Satayeve19115d2021-05-25 16:46:33 +000071 apex: "com.android.conscrypt",
72 module: "com.android.conscrypt-bootclasspath-fragment",
73 },
74 {
qiaoli8d1d87d2022-09-28 16:21:05 +000075 apex: "com.android.federatedcompute",
76 module: "com.android.federatedcompute-bootclasspath-fragment",
77 },
78 {
Anna Zhuravlevabdc7f992022-09-06 10:47:37 +000079 apex: "com.android.healthconnect",
80 module: "com.android.healthconnect-bootclasspath-fragment",
81 },
82 {
Paul Duffinfc8fd102021-04-14 19:17:52 +010083 apex: "com.android.i18n",
84 module: "i18n-bootclasspath-fragment",
85 },
Artur Satayeve19115d2021-05-25 16:46:33 +000086 {
87 apex: "com.android.ipsec",
88 module: "com.android.ipsec-bootclasspath-fragment",
89 },
90 {
91 apex: "com.android.media",
92 module: "com.android.media-bootclasspath-fragment",
93 },
94 {
95 apex: "com.android.mediaprovider",
96 module: "com.android.mediaprovider-bootclasspath-fragment",
97 },
98 {
Frank Wange97ff9e2022-02-13 07:06:31 +000099 apex: "com.android.ondevicepersonalization",
100 module: "com.android.ondevicepersonalization-bootclasspath-fragment",
101 },
102 {
Artur Satayeve19115d2021-05-25 16:46:33 +0000103 apex: "com.android.os.statsd",
104 module: "com.android.os.statsd-bootclasspath-fragment",
105 },
106 {
107 apex: "com.android.permission",
108 module: "com.android.permission-bootclasspath-fragment",
109 },
110 {
111 apex: "com.android.scheduling",
112 module: "com.android.scheduling-bootclasspath-fragment",
113 },
114 {
115 apex: "com.android.sdkext",
116 module: "com.android.sdkext-bootclasspath-fragment",
117 },
118 {
119 apex: "com.android.tethering",
120 module: "com.android.tethering-bootclasspath-fragment",
121 },
122 {
Roshan Pius6c580dd2021-07-29 21:31:23 -0700123 apex: "com.android.uwb",
124 module: "com.android.uwb-bootclasspath-fragment",
125 },
126 {
Artur Satayeve19115d2021-05-25 16:46:33 +0000127 apex: "com.android.wifi",
128 module: "com.android.wifi-bootclasspath-fragment",
129 },
Keun young Parkaab251f2021-10-05 16:21:12 -0700130 // only used for auto
131 {
132 apex: "com.android.car.framework",
133 module: "com.android.car.framework-bootclasspath-fragment",
134 },
Paul Duffinb2d391d2021-04-08 09:05:39 +0100135 ],
136
Paul Duffin81af1f52021-04-08 19:22:50 +0100137 // Additional information needed by hidden api processing.
138 hidden_api: {
139 unsupported: [
140 "hiddenapi/hiddenapi-unsupported.txt",
141 ],
142 removed: [
143 ":combined-removed-dex",
144 ],
145 max_target_r_low_priority: [
146 "hiddenapi/hiddenapi-max-target-r-loprio.txt",
147 ],
148 max_target_q: [
149 "hiddenapi/hiddenapi-max-target-q.txt",
150 ],
151 max_target_p: [
152 "hiddenapi/hiddenapi-max-target-p.txt",
153 ],
154 max_target_o_low_priority: [
155 "hiddenapi/hiddenapi-max-target-o.txt",
156 ],
Paul Duffin81af1f52021-04-08 19:22:50 +0100157 unsupported_packages: [
158 "hiddenapi/hiddenapi-unsupported-packages.txt",
159 ],
160 },
Paul Duffin3969fad2021-04-12 12:57:06 +0100161
162 dists: [
163 {
164 targets: ["droidcore"],
165 tag: "hiddenapi-flags.csv",
166 },
167 {
168 targets: ["droidcore"],
169 tag: "hiddenapi-index.csv",
170 },
171 {
172 targets: ["droidcore"],
173 tag: "hiddenapi-metadata.csv",
174 // Legacy name
175 dest: "hiddenapi-unsupported.csv",
176 },
177 ],
satayev8e93d882021-04-29 11:54:02 +0100178
179 required: [
180 "platform-systemserverclasspath",
181 ],
182}
183
184platform_systemserverclasspath {
185 name: "platform-systemserverclasspath",
Paul Duffin11281142021-01-25 18:31:26 +0000186}