blob: 188b314e1bd64735287554c7bad0e8a8ccc75fc8 [file] [log] [blame]
Hai Zhanga130e332019-10-09 14:58:52 -07001// Copyright (C) 2019 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 Badour2f0b2bb2021-02-03 20:35:08 -080015package {
16 default_applicable_licenses: ["Android-Apache-2.0"],
17}
18
Hai Zhanga130e332019-10-09 14:58:52 -070019apex {
20 name: "com.android.permission",
Hai Zhangc6e54db2019-11-08 15:23:40 -080021 defaults: ["com.android.permission-defaults"],
Hai Zhanga130e332019-10-09 14:58:52 -070022 manifest: "apex_manifest.json",
Hai Zhangc6e54db2019-11-08 15:23:40 -080023}
Hai Zhanga130e332019-10-09 14:58:52 -070024
Hai Zhangc6e54db2019-11-08 15:23:40 -080025apex_defaults {
26 name: "com.android.permission-defaults",
Gurpreet Singh8ab873b2022-03-04 15:13:31 +000027 defaults: ["r-launched-apex-module"],
satayevfee79d32021-05-12 15:42:54 +010028 bootclasspath_fragments: ["com.android.permission-bootclasspath-fragment"],
satayev49807c02021-05-17 21:38:31 +010029 systemserverclasspath_fragments: ["com.android.permission-systemserverclasspath-fragment"],
Andrei Onea114472c2022-03-15 20:19:32 +000030 prebuilts: [
31 "current_sdkinfo",
32 "privapp_allowlist_com.android.permissioncontroller.xml",
33 ],
Hai Zhanga130e332019-10-09 14:58:52 -070034 key: "com.android.permission.key",
35 certificate: ":com.android.permission.certificate",
Giulio Fiscella62623dc2022-01-25 11:18:36 +000036 apps: [
37 "PermissionController",
38 "SafetyCenterResources",
39 ],
Samiul Islamb84d0282021-06-24 11:54:43 +010040 // Indicates that pre-installed version of this apex can be compressed.
41 // Whether it actually will be compressed is controlled on per-device basis.
42 compressible: true,
Hai Zhanga130e332019-10-09 14:58:52 -070043}
44
45apex_key {
46 name: "com.android.permission.key",
47 public_key: "com.android.permission.avbpubkey",
48 private_key: "com.android.permission.pem",
49}
50
51android_app_certificate {
52 name: "com.android.permission.certificate",
53 certificate: "com.android.permission",
54}
Hai Zhang4e6bc7a2021-01-21 15:45:56 -080055
56filegroup {
57 name: "permission-jarjar-rules",
58 srcs: ["jarjar-rules.txt"],
59}
Hai Zhangc7b853e2021-02-05 18:40:04 -080060
61sdk {
Hai Zhangcc8b8b42021-02-13 22:09:15 -080062 name: "permission-module-sdk",
Anton Hanssond9571a32021-06-07 15:42:19 +010063 bootclasspath_fragments: ["com.android.permission-bootclasspath-fragment"],
Jiakai Zhang529c5b52021-09-29 03:47:59 +000064 systemserverclasspath_fragments: ["com.android.permission-systemserverclasspath-fragment"],
Hai Zhangc7b853e2021-02-05 18:40:04 -080065}
satayevfee79d32021-05-12 15:42:54 +010066
67// Encapsulate the contributions made by the com.android.permission to the bootclasspath.
68bootclasspath_fragment {
69 name: "com.android.permission-bootclasspath-fragment",
70 contents: [
71 "framework-permission",
72 "framework-permission-s",
73 ],
74 apex_available: ["com.android.permission"],
Paul Duffin357edef2021-06-28 23:37:57 +010075
76 // The bootclasspath_fragments that provide APIs on which this depends.
77 fragments: [
78 {
79 apex: "com.android.art",
80 module: "art-bootclasspath-fragment",
81 },
82 ],
83
84 // Additional stubs libraries that this fragment's contents use which are
85 // not provided by another bootclasspath_fragment.
86 additional_stubs: [
87 "android-non-updatable",
88 ],
Paul Duffin800cbcd2022-03-21 17:13:34 +000089
90 hidden_api: {
91 // The following packages contain classes from other modules on the
92 // bootclasspath. That means that the hidden API flags for this module
93 // has to explicitly list every single class this module provides in
94 // that package to differentiate them from the classes provided by other
95 // modules. That can include private classes that are not part of the
96 // API.
97 split_packages: [
98 "android.permission",
99 ],
100
101 // The following packages and all their subpackages currently only
102 // contain classes from this bootclasspath_fragment. Listing a package
103 // here won't prevent other bootclasspath modules from adding classes in
104 // any of those packages but it will prevent them from adding those
105 // classes into an API surface, e.g. public, system, etc.. Doing so will
106 // result in a build failure due to inconsistent flags.
107 package_prefixes: [
108 "android.app.role",
109 "android.safetycenter",
110 "com.android.permission",
111 ],
112 },
satayevfee79d32021-05-12 15:42:54 +0100113}
satayev49807c02021-05-17 21:38:31 +0100114
115// Encapsulate the contributions made by the com.android.permission to the systemserverclasspath.
116systemserverclasspath_fragment {
117 name: "com.android.permission-systemserverclasspath-fragment",
118 contents: ["service-permission"],
119 apex_available: ["com.android.permission"],
120}