xref: /aosp_15_r20/cts/hostsidetests/appsecurity/test-apps/ApkVerityTestApp/testdata/Android.bp (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1*b7c941bbSAndroid Build Coastguard Worker// Copyright (C) 2020 The Android Open Source Project
2*b7c941bbSAndroid Build Coastguard Worker//
3*b7c941bbSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*b7c941bbSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*b7c941bbSAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*b7c941bbSAndroid Build Coastguard Worker//
7*b7c941bbSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
8*b7c941bbSAndroid Build Coastguard Worker//
9*b7c941bbSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*b7c941bbSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*b7c941bbSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*b7c941bbSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*b7c941bbSAndroid Build Coastguard Worker// limitations under the License.
14*b7c941bbSAndroid Build Coastguard Worker
15*b7c941bbSAndroid Build Coastguard Worker// A rule to collect apps for debugging purpose. See ApkVerityTestAppPrebuilt/README.md.
16*b7c941bbSAndroid Build Coastguard Workerpackage {
17*b7c941bbSAndroid Build Coastguard Worker    default_team: "trendy_team_framework_android_packages",
18*b7c941bbSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
19*b7c941bbSAndroid Build Coastguard Worker}
20*b7c941bbSAndroid Build Coastguard Worker
21*b7c941bbSAndroid Build Coastguard Workerjava_genrule {
22*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestDebugFiles",
23*b7c941bbSAndroid Build Coastguard Worker    srcs: [
24*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestApp",
25*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppApkIdSig",
26*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppFsvSig",
27*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppDm",
28*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppDmFsvSig",
29*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppSplit",
30*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppSplitFsvSig",
31*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppSplitDm",
32*b7c941bbSAndroid Build Coastguard Worker        ":CtsApkVerityTestAppSplitDmFsvSig",
33*b7c941bbSAndroid Build Coastguard Worker    ],
34*b7c941bbSAndroid Build Coastguard Worker    cmd: "echo $(in) > $(out)",
35*b7c941bbSAndroid Build Coastguard Worker    out: ["CtsApkVerityTestDebugFiles.txt"],
36*b7c941bbSAndroid Build Coastguard Worker}
37*b7c941bbSAndroid Build Coastguard Worker
38*b7c941bbSAndroid Build Coastguard Worker// This is a rather complicated way to keep only APKs.
39*b7c941bbSAndroid Build Coastguard Worker// exclude_srcs does not work because it uses paths local to Android.bp.
40*b7c941bbSAndroid Build Coastguard Workerjava_genrule {
41*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestAppApk",
42*b7c941bbSAndroid Build Coastguard Worker    srcs: [":CtsApkVerityTestApp"],
43*b7c941bbSAndroid Build Coastguard Worker    cmd: "for file in $(in); do " +
44*b7c941bbSAndroid Build Coastguard Worker        "   if [[ $$file == *.apk ]]; then " +
45*b7c941bbSAndroid Build Coastguard Worker        "     cp $$file $(out); " +
46*b7c941bbSAndroid Build Coastguard Worker        "   fi " +
47*b7c941bbSAndroid Build Coastguard Worker        " done",
48*b7c941bbSAndroid Build Coastguard Worker    out: ["CtsApkVerityTestApp.apk"],
49*b7c941bbSAndroid Build Coastguard Worker}
50*b7c941bbSAndroid Build Coastguard Worker
51*b7c941bbSAndroid Build Coastguard Workerfilegroup {
52*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestAppDm",
53*b7c941bbSAndroid Build Coastguard Worker    srcs: ["CtsApkVerityTestApp.dm"],
54*b7c941bbSAndroid Build Coastguard Worker}
55*b7c941bbSAndroid Build Coastguard Worker
56*b7c941bbSAndroid Build Coastguard Workerfilegroup {
57*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestAppSplitDm",
58*b7c941bbSAndroid Build Coastguard Worker    srcs: ["CtsApkVerityTestAppSplit.dm"],
59*b7c941bbSAndroid Build Coastguard Worker}
60*b7c941bbSAndroid Build Coastguard Worker
61*b7c941bbSAndroid Build Coastguard Workerfilegroup {
62*b7c941bbSAndroid Build Coastguard Worker    name: "fsverity-debug-key",
63*b7c941bbSAndroid Build Coastguard Worker    srcs: ["fsverity-debug-key.pem"],
64*b7c941bbSAndroid Build Coastguard Worker}
65*b7c941bbSAndroid Build Coastguard Worker
66*b7c941bbSAndroid Build Coastguard Workerfilegroup {
67*b7c941bbSAndroid Build Coastguard Worker    name: "fsverity-debug-cert",
68*b7c941bbSAndroid Build Coastguard Worker    srcs: ["fsverity-debug.x509.pem"],
69*b7c941bbSAndroid Build Coastguard Worker}
70*b7c941bbSAndroid Build Coastguard Worker
71*b7c941bbSAndroid Build Coastguard Workergenrule_defaults {
72*b7c941bbSAndroid Build Coastguard Worker    name: "cts_apk_verity_sig_gen_default",
73*b7c941bbSAndroid Build Coastguard Worker    tools: ["fsverity"],
74*b7c941bbSAndroid Build Coastguard Worker    tool_files: [
75*b7c941bbSAndroid Build Coastguard Worker        ":fsverity-debug-key",
76*b7c941bbSAndroid Build Coastguard Worker        ":fsverity-debug-cert",
77*b7c941bbSAndroid Build Coastguard Worker    ],
78*b7c941bbSAndroid Build Coastguard Worker    cmd: "$(location fsverity) sign $(in) $(out) " +
79*b7c941bbSAndroid Build Coastguard Worker        "--key=$(location :fsverity-debug-key) " +
80*b7c941bbSAndroid Build Coastguard Worker        "--cert=$(location :fsverity-debug-cert) " +
81*b7c941bbSAndroid Build Coastguard Worker        "> /dev/null",
82*b7c941bbSAndroid Build Coastguard Worker}
83*b7c941bbSAndroid Build Coastguard Worker
84*b7c941bbSAndroid Build Coastguard Workerjava_genrule {
85*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestAppFsvSig",
86*b7c941bbSAndroid Build Coastguard Worker    defaults: ["cts_apk_verity_sig_gen_default"],
87*b7c941bbSAndroid Build Coastguard Worker    srcs: [":CtsApkVerityTestAppApk"],
88*b7c941bbSAndroid Build Coastguard Worker    out: ["CtsApkVerityTestApp.apk.fsv_sig"],
89*b7c941bbSAndroid Build Coastguard Worker}
90*b7c941bbSAndroid Build Coastguard Worker
91*b7c941bbSAndroid Build Coastguard Workergenrule {
92*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestAppDmFsvSig",
93*b7c941bbSAndroid Build Coastguard Worker    defaults: ["cts_apk_verity_sig_gen_default"],
94*b7c941bbSAndroid Build Coastguard Worker    srcs: [":CtsApkVerityTestAppDm"],
95*b7c941bbSAndroid Build Coastguard Worker    out: ["CtsApkVerityTestApp.dm.fsv_sig"],
96*b7c941bbSAndroid Build Coastguard Worker}
97*b7c941bbSAndroid Build Coastguard Worker
98*b7c941bbSAndroid Build Coastguard Workerjava_genrule {
99*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestAppSplitFsvSig",
100*b7c941bbSAndroid Build Coastguard Worker    defaults: ["cts_apk_verity_sig_gen_default"],
101*b7c941bbSAndroid Build Coastguard Worker    srcs: [":CtsApkVerityTestAppSplit"],
102*b7c941bbSAndroid Build Coastguard Worker    out: ["CtsApkVerityTestAppSplit.apk.fsv_sig"],
103*b7c941bbSAndroid Build Coastguard Worker}
104*b7c941bbSAndroid Build Coastguard Worker
105*b7c941bbSAndroid Build Coastguard Workergenrule {
106*b7c941bbSAndroid Build Coastguard Worker    name: "CtsApkVerityTestAppSplitDmFsvSig",
107*b7c941bbSAndroid Build Coastguard Worker    defaults: ["cts_apk_verity_sig_gen_default"],
108*b7c941bbSAndroid Build Coastguard Worker    srcs: [":CtsApkVerityTestAppSplitDm"],
109*b7c941bbSAndroid Build Coastguard Worker    out: ["CtsApkVerityTestAppSplit.dm.fsv_sig"],
110*b7c941bbSAndroid Build Coastguard Worker}
111