xref: /aosp_15_r20/system/apex/tools/Android.bp (revision 33f3758387333dbd2962d7edbd98681940d895da)
1*33f37583SAndroid Build Coastguard Worker// Copyright (C) 2019 The Android Open Source Project
2*33f37583SAndroid Build Coastguard Worker//
3*33f37583SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*33f37583SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*33f37583SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*33f37583SAndroid Build Coastguard Worker//
7*33f37583SAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*33f37583SAndroid Build Coastguard Worker//
9*33f37583SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*33f37583SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*33f37583SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*33f37583SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*33f37583SAndroid Build Coastguard Worker// limitations under the License.
14*33f37583SAndroid Build Coastguard Worker
15*33f37583SAndroid Build Coastguard Workerpackage {
16*33f37583SAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
17*33f37583SAndroid Build Coastguard Worker}
18*33f37583SAndroid Build Coastguard Worker
19*33f37583SAndroid Build Coastguard Workerpython_binary_host {
20*33f37583SAndroid Build Coastguard Worker    name: "deapexer",
21*33f37583SAndroid Build Coastguard Worker    srcs: [
22*33f37583SAndroid Build Coastguard Worker        "deapexer.py",
23*33f37583SAndroid Build Coastguard Worker    ],
24*33f37583SAndroid Build Coastguard Worker    version: {
25*33f37583SAndroid Build Coastguard Worker        py3: {
26*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
27*33f37583SAndroid Build Coastguard Worker        },
28*33f37583SAndroid Build Coastguard Worker    },
29*33f37583SAndroid Build Coastguard Worker    libs: [
30*33f37583SAndroid Build Coastguard Worker        "apex_manifest",
31*33f37583SAndroid Build Coastguard Worker    ],
32*33f37583SAndroid Build Coastguard Worker    required: [
33*33f37583SAndroid Build Coastguard Worker        "blkid_static",
34*33f37583SAndroid Build Coastguard Worker        "debugfs_static",
35*33f37583SAndroid Build Coastguard Worker        "fsck.erofs",
36*33f37583SAndroid Build Coastguard Worker    ],
37*33f37583SAndroid Build Coastguard Worker}
38*33f37583SAndroid Build Coastguard Worker
39*33f37583SAndroid Build Coastguard Workerpython_binary_host {
40*33f37583SAndroid Build Coastguard Worker    name: "apex_elf_checker",
41*33f37583SAndroid Build Coastguard Worker    srcs: [
42*33f37583SAndroid Build Coastguard Worker        "apex_elf_checker.py",
43*33f37583SAndroid Build Coastguard Worker    ],
44*33f37583SAndroid Build Coastguard Worker    version: {
45*33f37583SAndroid Build Coastguard Worker        py3: {
46*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
47*33f37583SAndroid Build Coastguard Worker        },
48*33f37583SAndroid Build Coastguard Worker    },
49*33f37583SAndroid Build Coastguard Worker    required: [
50*33f37583SAndroid Build Coastguard Worker        "blkid_static",
51*33f37583SAndroid Build Coastguard Worker        "debugfs_static",
52*33f37583SAndroid Build Coastguard Worker        "fsck.erofs",
53*33f37583SAndroid Build Coastguard Worker    ],
54*33f37583SAndroid Build Coastguard Worker}
55*33f37583SAndroid Build Coastguard Worker
56*33f37583SAndroid Build Coastguard Workerpython_binary_host {
57*33f37583SAndroid Build Coastguard Worker    name: "apex_compression_tool",
58*33f37583SAndroid Build Coastguard Worker    srcs: [
59*33f37583SAndroid Build Coastguard Worker        "apex_compression_tool.py",
60*33f37583SAndroid Build Coastguard Worker    ],
61*33f37583SAndroid Build Coastguard Worker    version: {
62*33f37583SAndroid Build Coastguard Worker        py3: {
63*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
64*33f37583SAndroid Build Coastguard Worker        },
65*33f37583SAndroid Build Coastguard Worker    },
66*33f37583SAndroid Build Coastguard Worker    libs: [
67*33f37583SAndroid Build Coastguard Worker        "apex_manifest_proto",
68*33f37583SAndroid Build Coastguard Worker    ],
69*33f37583SAndroid Build Coastguard Worker    required: [
70*33f37583SAndroid Build Coastguard Worker        "avbtool",
71*33f37583SAndroid Build Coastguard Worker        "conv_apex_manifest",
72*33f37583SAndroid Build Coastguard Worker    ],
73*33f37583SAndroid Build Coastguard Worker}
74*33f37583SAndroid Build Coastguard Worker
75*33f37583SAndroid Build Coastguard Workerpython_test_host {
76*33f37583SAndroid Build Coastguard Worker    name: "apex_compression_test",
77*33f37583SAndroid Build Coastguard Worker    pkg_path: "apex_compression_test",
78*33f37583SAndroid Build Coastguard Worker    main: "apex_compression_test.py",
79*33f37583SAndroid Build Coastguard Worker    srcs: [
80*33f37583SAndroid Build Coastguard Worker        "apex_compression_test.py",
81*33f37583SAndroid Build Coastguard Worker    ],
82*33f37583SAndroid Build Coastguard Worker    data: [
83*33f37583SAndroid Build Coastguard Worker        ":avbtool",
84*33f37583SAndroid Build Coastguard Worker        ":conv_apex_manifest",
85*33f37583SAndroid Build Coastguard Worker        ":apex_compression_tool",
86*33f37583SAndroid Build Coastguard Worker        ":deapexer",
87*33f37583SAndroid Build Coastguard Worker        ":soong_zip",
88*33f37583SAndroid Build Coastguard Worker    ],
89*33f37583SAndroid Build Coastguard Worker    device_common_data: [
90*33f37583SAndroid Build Coastguard Worker        ":com.android.example.apex",
91*33f37583SAndroid Build Coastguard Worker    ],
92*33f37583SAndroid Build Coastguard Worker    libs: [
93*33f37583SAndroid Build Coastguard Worker        "apex_manifest_proto",
94*33f37583SAndroid Build Coastguard Worker    ],
95*33f37583SAndroid Build Coastguard Worker    test_suites: ["general-tests"],
96*33f37583SAndroid Build Coastguard Worker    test_options: {
97*33f37583SAndroid Build Coastguard Worker        unit_test: true,
98*33f37583SAndroid Build Coastguard Worker    },
99*33f37583SAndroid Build Coastguard Worker    version: {
100*33f37583SAndroid Build Coastguard Worker        py3: {
101*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
102*33f37583SAndroid Build Coastguard Worker        },
103*33f37583SAndroid Build Coastguard Worker    },
104*33f37583SAndroid Build Coastguard Worker}
105*33f37583SAndroid Build Coastguard Worker
106*33f37583SAndroid Build Coastguard Workercc_binary_host {
107*33f37583SAndroid Build Coastguard Worker    name: "host_apex_verifier",
108*33f37583SAndroid Build Coastguard Worker    srcs: ["host_apex_verifier.cc"],
109*33f37583SAndroid Build Coastguard Worker    defaults: [
110*33f37583SAndroid Build Coastguard Worker        "init_host_defaults",
111*33f37583SAndroid Build Coastguard Worker        "libapex-deps",
112*33f37583SAndroid Build Coastguard Worker    ],
113*33f37583SAndroid Build Coastguard Worker    shared_libs: [
114*33f37583SAndroid Build Coastguard Worker        "libprocessgroup",
115*33f37583SAndroid Build Coastguard Worker    ],
116*33f37583SAndroid Build Coastguard Worker    static_libs: [
117*33f37583SAndroid Build Coastguard Worker        "libapex",
118*33f37583SAndroid Build Coastguard Worker        "libinit_host",
119*33f37583SAndroid Build Coastguard Worker    ],
120*33f37583SAndroid Build Coastguard Worker}
121*33f37583SAndroid Build Coastguard Worker
122*33f37583SAndroid Build Coastguard Workersh_test_host {
123*33f37583SAndroid Build Coastguard Worker    name: "host-apex-verifier",
124*33f37583SAndroid Build Coastguard Worker    src: "host-apex-verifier.sh",
125*33f37583SAndroid Build Coastguard Worker    test_suites: ["device-tests"],
126*33f37583SAndroid Build Coastguard Worker    test_config: "host-apex-verifier.xml",
127*33f37583SAndroid Build Coastguard Worker    test_options: {
128*33f37583SAndroid Build Coastguard Worker        unit_test: false,
129*33f37583SAndroid Build Coastguard Worker    },
130*33f37583SAndroid Build Coastguard Worker    data_bins: [
131*33f37583SAndroid Build Coastguard Worker        "deapexer",
132*33f37583SAndroid Build Coastguard Worker        "debugfs_static",
133*33f37583SAndroid Build Coastguard Worker        "fsck.erofs",
134*33f37583SAndroid Build Coastguard Worker        "host_apex_verifier",
135*33f37583SAndroid Build Coastguard Worker    ],
136*33f37583SAndroid Build Coastguard Worker    data_libs: [
137*33f37583SAndroid Build Coastguard Worker        "libbase",
138*33f37583SAndroid Build Coastguard Worker        "libc++",
139*33f37583SAndroid Build Coastguard Worker        "libcrypto",
140*33f37583SAndroid Build Coastguard Worker        "libcutils",
141*33f37583SAndroid Build Coastguard Worker        "liblog",
142*33f37583SAndroid Build Coastguard Worker        "libpcre2", // used by libselinux
143*33f37583SAndroid Build Coastguard Worker        "libprocessgroup",
144*33f37583SAndroid Build Coastguard Worker        "libprotobuf-cpp-full", // used by libapex
145*33f37583SAndroid Build Coastguard Worker        "libprotobuf-cpp-lite", // used by libinit_host
146*33f37583SAndroid Build Coastguard Worker        "libselinux", // used by libapex
147*33f37583SAndroid Build Coastguard Worker        "libz",
148*33f37583SAndroid Build Coastguard Worker        "libziparchive",
149*33f37583SAndroid Build Coastguard Worker    ],
150*33f37583SAndroid Build Coastguard Worker}
151*33f37583SAndroid Build Coastguard Worker
152*33f37583SAndroid Build Coastguard Workerpython_library_host {
153*33f37583SAndroid Build Coastguard Worker    name: "apexer_wrapper_utils",
154*33f37583SAndroid Build Coastguard Worker    srcs: ["apexer_wrapper_utils.py"],
155*33f37583SAndroid Build Coastguard Worker}
156*33f37583SAndroid Build Coastguard Worker
157*33f37583SAndroid Build Coastguard Workerpython_binary_host {
158*33f37583SAndroid Build Coastguard Worker    name: "apexer_with_DCLA_preprocessing",
159*33f37583SAndroid Build Coastguard Worker    srcs: [
160*33f37583SAndroid Build Coastguard Worker        "apexer_with_DCLA_preprocessing.py",
161*33f37583SAndroid Build Coastguard Worker    ],
162*33f37583SAndroid Build Coastguard Worker    version: {
163*33f37583SAndroid Build Coastguard Worker        py3: {
164*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
165*33f37583SAndroid Build Coastguard Worker        },
166*33f37583SAndroid Build Coastguard Worker    },
167*33f37583SAndroid Build Coastguard Worker    libs: [
168*33f37583SAndroid Build Coastguard Worker        "apexer_wrapper_utils",
169*33f37583SAndroid Build Coastguard Worker    ],
170*33f37583SAndroid Build Coastguard Worker}
171*33f37583SAndroid Build Coastguard Worker
172*33f37583SAndroid Build Coastguard Workerpython_test_host {
173*33f37583SAndroid Build Coastguard Worker    name: "apexer_with_DCLA_preprocessing_test",
174*33f37583SAndroid Build Coastguard Worker    main: "apexer_with_DCLA_preprocessing_test.py",
175*33f37583SAndroid Build Coastguard Worker    srcs: [
176*33f37583SAndroid Build Coastguard Worker        "apexer_with_DCLA_preprocessing_test.py",
177*33f37583SAndroid Build Coastguard Worker    ],
178*33f37583SAndroid Build Coastguard Worker    // Need to add a pkg_path because importlib.resources
179*33f37583SAndroid Build Coastguard Worker    // cannot load resources from the root package.
180*33f37583SAndroid Build Coastguard Worker    pkg_path: "apexer_with_DCLA_preprocessing_test",
181*33f37583SAndroid Build Coastguard Worker    data: [
182*33f37583SAndroid Build Coastguard Worker        ":apexer_test_host_tools",
183*33f37583SAndroid Build Coastguard Worker        ":apexer_with_DCLA_preprocessing",
184*33f37583SAndroid Build Coastguard Worker        "testdata/com.android.example.apex.pem",
185*33f37583SAndroid Build Coastguard Worker    ],
186*33f37583SAndroid Build Coastguard Worker    device_common_data: [
187*33f37583SAndroid Build Coastguard Worker        ":com.android.example.apex",
188*33f37583SAndroid Build Coastguard Worker    ],
189*33f37583SAndroid Build Coastguard Worker    test_suites: ["general-tests"],
190*33f37583SAndroid Build Coastguard Worker    test_options: {
191*33f37583SAndroid Build Coastguard Worker        unit_test: true,
192*33f37583SAndroid Build Coastguard Worker    },
193*33f37583SAndroid Build Coastguard Worker    version: {
194*33f37583SAndroid Build Coastguard Worker        py3: {
195*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
196*33f37583SAndroid Build Coastguard Worker        },
197*33f37583SAndroid Build Coastguard Worker    },
198*33f37583SAndroid Build Coastguard Worker}
199*33f37583SAndroid Build Coastguard Worker
200*33f37583SAndroid Build Coastguard Workerpython_binary_host {
201*33f37583SAndroid Build Coastguard Worker    name: "apexer_with_trim_preprocessing",
202*33f37583SAndroid Build Coastguard Worker    srcs: [
203*33f37583SAndroid Build Coastguard Worker        "apexer_with_trim_preprocessing.py",
204*33f37583SAndroid Build Coastguard Worker    ],
205*33f37583SAndroid Build Coastguard Worker    version: {
206*33f37583SAndroid Build Coastguard Worker        py3: {
207*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
208*33f37583SAndroid Build Coastguard Worker        },
209*33f37583SAndroid Build Coastguard Worker    },
210*33f37583SAndroid Build Coastguard Worker    libs: [
211*33f37583SAndroid Build Coastguard Worker        "apex_manifest_proto",
212*33f37583SAndroid Build Coastguard Worker        "apexer_wrapper_utils",
213*33f37583SAndroid Build Coastguard Worker    ],
214*33f37583SAndroid Build Coastguard Worker}
215*33f37583SAndroid Build Coastguard Worker
216*33f37583SAndroid Build Coastguard Workerpython_binary_host {
217*33f37583SAndroid Build Coastguard Worker    name: "apexd_host",
218*33f37583SAndroid Build Coastguard Worker    srcs: ["apexd_host.py"],
219*33f37583SAndroid Build Coastguard Worker    version: {
220*33f37583SAndroid Build Coastguard Worker        py3: {
221*33f37583SAndroid Build Coastguard Worker            embedded_launcher: true,
222*33f37583SAndroid Build Coastguard Worker        },
223*33f37583SAndroid Build Coastguard Worker    },
224*33f37583SAndroid Build Coastguard Worker    libs: [
225*33f37583SAndroid Build Coastguard Worker        "apex_manifest",
226*33f37583SAndroid Build Coastguard Worker    ],
227*33f37583SAndroid Build Coastguard Worker    required: [
228*33f37583SAndroid Build Coastguard Worker        "deapexer",
229*33f37583SAndroid Build Coastguard Worker        "debugfs_static",
230*33f37583SAndroid Build Coastguard Worker        "fsck.erofs",
231*33f37583SAndroid Build Coastguard Worker    ],
232*33f37583SAndroid Build Coastguard Worker}
233