xref: /aosp_15_r20/build/bazel/bazel_sandwich/BUILD (revision 7594170e27e0732bc44b93d1440d87a54b6ffe7c)
1*7594170eSAndroid Build Coastguard Worker# Copyright (C) 2023 The Android Open Source Project
2*7594170eSAndroid Build Coastguard Worker#
3*7594170eSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*7594170eSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*7594170eSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*7594170eSAndroid Build Coastguard Worker#
7*7594170eSAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*7594170eSAndroid Build Coastguard Worker#
9*7594170eSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*7594170eSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*7594170eSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*7594170eSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*7594170eSAndroid Build Coastguard Worker# limitations under the License.
14*7594170eSAndroid Build Coastguard Worker
15*7594170eSAndroid Build Coastguard Workerload(":bazel_sandwich_imported_file.bzl", "bazel_sandwich_imported_file")
16*7594170eSAndroid Build Coastguard Worker
17*7594170eSAndroid Build Coastguard Workerpackage(default_visibility = [
18*7594170eSAndroid Build Coastguard Worker    "//visibility:public",
19*7594170eSAndroid Build Coastguard Worker])
20*7594170eSAndroid Build Coastguard Worker
21*7594170eSAndroid Build Coastguard Workerbazel_sandwich_imported_file(
22*7594170eSAndroid Build Coastguard Worker    name = "system_staging_dir",
23*7594170eSAndroid Build Coastguard Worker    # Don't add a dependency on the system folder itself, because there's no rule in make that
24*7594170eSAndroid Build Coastguard Worker    # generates it. (it's created implicitly by the rules that install actual files) Depending on it
25*7594170eSAndroid Build Coastguard Worker    # causes soong's test for dangling rules to fail (part of `m checkbuild`). The implicit dep on
26*7594170eSAndroid Build Coastguard Worker    # the stamp file will handle all the dependencies we need.
27*7594170eSAndroid Build Coastguard Worker    depend_on_target = False,
28*7594170eSAndroid Build Coastguard Worker    implicit_deps = ["target/product/$(DeviceName)/obj/PACKAGING/systemimage_intermediates/staging_dir.stamp"],
29*7594170eSAndroid Build Coastguard Worker    target = "target/product/$(DeviceName)/system",
30*7594170eSAndroid Build Coastguard Worker)
31*7594170eSAndroid Build Coastguard Worker
32*7594170eSAndroid Build Coastguard Workerbazel_sandwich_imported_file(
33*7594170eSAndroid Build Coastguard Worker    name = "system_staging_dir_file_list",
34*7594170eSAndroid Build Coastguard Worker    target = "target/product/$(DeviceName)/obj/PACKAGING/systemimage_intermediates/file_list.txt",
35*7594170eSAndroid Build Coastguard Worker)
36*7594170eSAndroid Build Coastguard Worker
37*7594170eSAndroid Build Coastguard Workerbazel_sandwich_imported_file(
38*7594170eSAndroid Build Coastguard Worker    name = "root_staging_dir",
39*7594170eSAndroid Build Coastguard Worker    depend_on_target = False,
40*7594170eSAndroid Build Coastguard Worker    implicit_deps = ["target/product/$(DeviceName)/obj/PACKAGING/systemimage_intermediates/staging_dir.stamp"],
41*7594170eSAndroid Build Coastguard Worker    target = "target/product/$(DeviceName)/root",
42*7594170eSAndroid Build Coastguard Worker)
43*7594170eSAndroid Build Coastguard Worker
44*7594170eSAndroid Build Coastguard Workerbazel_sandwich_imported_file(
45*7594170eSAndroid Build Coastguard Worker    name = "selinux_file_contexts",
46*7594170eSAndroid Build Coastguard Worker    target = "target/product/$(DeviceName)/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin",
47*7594170eSAndroid Build Coastguard Worker)
48*7594170eSAndroid Build Coastguard Worker
49*7594170eSAndroid Build Coastguard Workerbazel_sandwich_imported_file(
50*7594170eSAndroid Build Coastguard Worker    name = "make_system_image",
51*7594170eSAndroid Build Coastguard Worker    target = "target/product/$(DeviceName)/system.img",
52*7594170eSAndroid Build Coastguard Worker)
53