blob: 0fc455bacaba73f14fb0361f536423345d1fb980 [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 {
51 apex: "com.android.art",
52 module: "art-bootclasspath-fragment",
53 },
54 ],
55
Paul Duffin81af1f52021-04-08 19:22:50 +010056 // Additional information needed by hidden api processing.
57 hidden_api: {
58 unsupported: [
59 "hiddenapi/hiddenapi-unsupported.txt",
60 ],
61 removed: [
62 ":combined-removed-dex",
63 ],
64 max_target_r_low_priority: [
65 "hiddenapi/hiddenapi-max-target-r-loprio.txt",
66 ],
67 max_target_q: [
68 "hiddenapi/hiddenapi-max-target-q.txt",
69 ],
70 max_target_p: [
71 "hiddenapi/hiddenapi-max-target-p.txt",
72 ],
73 max_target_o_low_priority: [
74 "hiddenapi/hiddenapi-max-target-o.txt",
75 ],
Paul Duffin81af1f52021-04-08 19:22:50 +010076 unsupported_packages: [
77 "hiddenapi/hiddenapi-unsupported-packages.txt",
78 ],
79 },
Paul Duffin3969fad2021-04-12 12:57:06 +010080
81 dists: [
82 {
83 targets: ["droidcore"],
84 tag: "hiddenapi-flags.csv",
85 },
86 {
87 targets: ["droidcore"],
88 tag: "hiddenapi-index.csv",
89 },
90 {
91 targets: ["droidcore"],
92 tag: "hiddenapi-metadata.csv",
93 // Legacy name
94 dest: "hiddenapi-unsupported.csv",
95 },
96 ],
Paul Duffin11281142021-01-25 18:31:26 +000097}