xref: /aosp_15_r20/build/bazel/examples/apex/minimal/Android.bp (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1// 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
15// This is a minimal apex that contains no files.
16// Build with `m build.bazel.examples.apex.minimal`.
17//
18// Generated by system/apex/tools/create_apex_skeleton.sh.
19
20// WARNING: These keys are for test and dev purposes only.
21package {
22    default_applicable_licenses: ["Android-Apache-2.0"],
23}
24
25apex_key {
26    name: "build.bazel.examples.apex.minimal.key",
27    public_key: "build.bazel.examples.apex.minimal.avbpubkey",
28    private_key: "build.bazel.examples.apex.minimal.pem",
29}
30
31android_app_certificate {
32    name: "build.bazel.examples.apex.minimal.certificate",
33    certificate: "build.bazel.examples.apex.minimal",
34}
35
36filegroup {
37    name: "build.bazel.examples.apex.minimal-file_contexts",
38    srcs: [
39        "file_contexts",
40    ],
41}
42
43cc_library {
44    name: "build.bazel.examples.apex.minimal_dummy_cc_lib",
45
46    srcs: ["dummy_cc_lib.cc"],
47
48    apex_available: [
49        "build.bazel.examples.apex.certificate_name",
50        "build.bazel.examples.apex.minimal",
51        "build.bazel.examples.apex.minimal_compressed",
52    ],
53
54    // Because the APEX sets this
55    product_specific: true,
56
57    // Because the APEX sets this
58    min_sdk_version: "30",
59}
60
61cc_library {
62    name: "build.bazel.examples.apex.minimal_dummy_cc_lib_2",
63
64    srcs: ["dummy_cc_lib_2.cc"],
65
66    apex_available: [
67        "build.bazel.examples.apex.certificate_name",
68        "build.bazel.examples.apex.minimal",
69        "build.bazel.examples.apex.minimal_compressed",
70    ],
71
72    // Because the APEX sets this
73    product_specific: true,
74
75    // Because the APEX sets this
76    min_sdk_version: "30",
77}
78
79cc_library {
80    name: "build.bazel.examples.apex.minimal_dummy_cc_lib_3",
81
82    srcs: ["dummy_cc_lib_3.cc"],
83
84    apex_available: [
85        "build.bazel.examples.apex.certificate_name",
86        "build.bazel.examples.apex.minimal",
87        "build.bazel.examples.apex.minimal_compressed",
88    ],
89
90    // Because the APEX sets this
91    product_specific: true,
92
93    // Because the APEX sets this
94    min_sdk_version: "30",
95}
96
97prebuilt_etc {
98    name: "build.bazel.examples.apex.minimal_dummy_named_prebuilt_etc",
99    src: "dummy_prebuilt_etc_data_1",
100    filename: "dummy_prebuilt_etc_data_1_renamed",
101    sub_dir: "dummy_sub_dir",
102}
103
104prebuilt_etc {
105    name: "build.bazel.examples.apex.minimal_dummy_unnamed_prebuilt_etc",
106    src: "dummy_prebuilt_etc_data_2",
107    sub_dir: "dummy_sub_dir",
108}
109
110prebuilt_etc {
111    name: "build.bazel.examples.apex.minimal_dummy_prebuilt_etc_without_subdir",
112    src: "dummy_prebuilt_etc_data_3",
113}
114
115cc_binary {
116    name: "build.bazel.examples.apex.cc_binary",
117    srcs: ["main.cc"],
118
119    apex_available: [
120        "build.bazel.examples.apex.certificate_name",
121        "build.bazel.examples.apex.minimal",
122        "build.bazel.examples.apex.minimal_compressed",
123    ],
124
125    shared_libs: ["build.bazel.examples.apex.minimal_dummy_cc_lib_2"],
126    runtime_libs: ["build.bazel.examples.apex.minimal_dummy_cc_lib_3"],
127
128    // Because the APEX sets these
129    product_specific: true,
130    min_sdk_version: "30",
131}
132
133apex_defaults {
134    name: "build.bazel.examples.apex.minimal_defaults",
135    manifest: "manifest.json",
136    file_contexts: ":build.bazel.examples.apex.minimal-file_contexts",
137
138    // So that we aren't considered a "platform APEX" and can use a file_context that lives outside of system/sepolicy/apex
139    product_specific: true,
140
141    key: "build.bazel.examples.apex.minimal.key",
142    min_sdk_version: "30",
143
144    native_shared_libs: [
145        "build.bazel.examples.apex.minimal_dummy_cc_lib",
146    ],
147
148    prebuilts: [
149        "build.bazel.examples.apex.minimal_dummy_named_prebuilt_etc",
150        "build.bazel.examples.apex.minimal_dummy_unnamed_prebuilt_etc",
151        "build.bazel.examples.apex.minimal_dummy_prebuilt_etc_without_subdir",
152    ],
153
154    binaries: [
155        "build.bazel.examples.apex.cc_binary",
156    ],
157
158    certificate: ":build.bazel.examples.apex.minimal.certificate",
159}
160
161apex {
162    name: "build.bazel.examples.apex.minimal",
163    defaults: [
164        "build.bazel.examples.apex.minimal_defaults",
165    ],
166}
167
168apex {
169    name: "build.bazel.examples.apex.minimal_variant",
170    defaults: [
171        "build.bazel.examples.apex.minimal_defaults",
172    ],
173    apex_available_name: "build.bazel.examples.apex.minimal",
174    variant_version: "3",
175}
176
177override_apex {
178    name: "build.bazel.examples.apex.override.minimal",
179    base: "build.bazel.examples.apex.minimal",
180    package_name: "build.bazel.examples.apex.override.minimal",
181    logging_parent: "build.bazel.logging.parent",
182}
183
184apex {
185    name: "build.bazel.examples.apex.minimal_compressed",
186    compressible: true,
187    defaults: [
188        "build.bazel.examples.apex.minimal_defaults",
189    ],
190}
191