xref: /aosp_15_r20/cts/hostsidetests/appsecurity/test-apps/SplitApp/Android.bp (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
1*b7c941bbSAndroid Build Coastguard Worker//
2*b7c941bbSAndroid Build Coastguard Worker// Copyright (C) 2020 The Android Open Source Project
3*b7c941bbSAndroid Build Coastguard Worker//
4*b7c941bbSAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
5*b7c941bbSAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
6*b7c941bbSAndroid Build Coastguard Worker// You may obtain a copy of the License at
7*b7c941bbSAndroid Build Coastguard Worker//
8*b7c941bbSAndroid Build Coastguard Worker//      http://www.apache.org/licenses/LICENSE-2.0
9*b7c941bbSAndroid Build Coastguard Worker//
10*b7c941bbSAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
11*b7c941bbSAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
12*b7c941bbSAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*b7c941bbSAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
14*b7c941bbSAndroid Build Coastguard Worker// limitations under the License.
15*b7c941bbSAndroid Build Coastguard Worker//
16*b7c941bbSAndroid Build Coastguard Worker
17*b7c941bbSAndroid Build Coastguard Workerpackage {
18*b7c941bbSAndroid Build Coastguard Worker    default_team: "trendy_team_framework_android_packages",
19*b7c941bbSAndroid Build Coastguard Worker    default_applicable_licenses: ["Android-Apache-2.0"],
20*b7c941bbSAndroid Build Coastguard Worker}
21*b7c941bbSAndroid Build Coastguard Worker
22*b7c941bbSAndroid Build Coastguard Workerjava_defaults {
23*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSplitAppDefaults",
24*b7c941bbSAndroid Build Coastguard Worker    defaults: ["cts_support_defaults"],
25*b7c941bbSAndroid Build Coastguard Worker    srcs: ["src/**/*.java"],
26*b7c941bbSAndroid Build Coastguard Worker    asset_dirs: ["assets"],
27*b7c941bbSAndroid Build Coastguard Worker    sdk_version: "current",
28*b7c941bbSAndroid Build Coastguard Worker    min_sdk_version: "4",
29*b7c941bbSAndroid Build Coastguard Worker    aapt_include_all_resources: true,
30*b7c941bbSAndroid Build Coastguard Worker    static_libs: [
31*b7c941bbSAndroid Build Coastguard Worker        "androidx.test.rules",
32*b7c941bbSAndroid Build Coastguard Worker        "truth",
33*b7c941bbSAndroid Build Coastguard Worker        "hamcrest-library",
34*b7c941bbSAndroid Build Coastguard Worker        "compatibility-device-util-axt",
35*b7c941bbSAndroid Build Coastguard Worker    ],
36*b7c941bbSAndroid Build Coastguard Worker    libs: [
37*b7c941bbSAndroid Build Coastguard Worker        "android.test.runner.stubs",
38*b7c941bbSAndroid Build Coastguard Worker        "android.test.base.stubs",
39*b7c941bbSAndroid Build Coastguard Worker    ],
40*b7c941bbSAndroid Build Coastguard Worker    target_sdk_version: "current",
41*b7c941bbSAndroid Build Coastguard Worker}
42*b7c941bbSAndroid Build Coastguard Worker
43*b7c941bbSAndroid Build Coastguard Workerandroid_test_helper_app {
44*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSplitApp",
45*b7c941bbSAndroid Build Coastguard Worker    defaults: ["CtsSplitAppDefaults"],
46*b7c941bbSAndroid Build Coastguard Worker    package_splits: [
47*b7c941bbSAndroid Build Coastguard Worker        "mdpi-v4",
48*b7c941bbSAndroid Build Coastguard Worker        "hdpi-v4",
49*b7c941bbSAndroid Build Coastguard Worker        "xhdpi-v4",
50*b7c941bbSAndroid Build Coastguard Worker        "xxhdpi-v4",
51*b7c941bbSAndroid Build Coastguard Worker        "v7",
52*b7c941bbSAndroid Build Coastguard Worker        "v23",
53*b7c941bbSAndroid Build Coastguard Worker        "fr",
54*b7c941bbSAndroid Build Coastguard Worker        "de",
55*b7c941bbSAndroid Build Coastguard Worker    ],
56*b7c941bbSAndroid Build Coastguard Worker    certificate: ":cts-testkey1",
57*b7c941bbSAndroid Build Coastguard Worker    aaptflags: [
58*b7c941bbSAndroid Build Coastguard Worker        "--version-code 100",
59*b7c941bbSAndroid Build Coastguard Worker        "--version-name OneHundred",
60*b7c941bbSAndroid Build Coastguard Worker        "--replace-version",
61*b7c941bbSAndroid Build Coastguard Worker    ],
62*b7c941bbSAndroid Build Coastguard Worker    // Feature splits are dependent on this base, so it must be exported.
63*b7c941bbSAndroid Build Coastguard Worker    export_package_resources: true,
64*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
65*b7c941bbSAndroid Build Coastguard Worker        "cts",
66*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
67*b7c941bbSAndroid Build Coastguard Worker        "mts-mainline-infra",
68*b7c941bbSAndroid Build Coastguard Worker    ],
69*b7c941bbSAndroid Build Coastguard Worker    lint: {
70*b7c941bbSAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
71*b7c941bbSAndroid Build Coastguard Worker    },
72*b7c941bbSAndroid Build Coastguard Worker}
73*b7c941bbSAndroid Build Coastguard Worker
74*b7c941bbSAndroid Build Coastguard Worker// Define a variant with a different revision code
75*b7c941bbSAndroid Build Coastguard Workerandroid_test_helper_app {
76*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSplitAppDiffRevision",
77*b7c941bbSAndroid Build Coastguard Worker    defaults: ["CtsSplitAppDefaults"],
78*b7c941bbSAndroid Build Coastguard Worker    package_splits: ["v7"],
79*b7c941bbSAndroid Build Coastguard Worker    certificate: ":cts-testkey1",
80*b7c941bbSAndroid Build Coastguard Worker    aaptflags: [
81*b7c941bbSAndroid Build Coastguard Worker        "--version-code 100",
82*b7c941bbSAndroid Build Coastguard Worker        "--revision-code 12",
83*b7c941bbSAndroid Build Coastguard Worker        "--version-name OneHundredRevisionTwelve",
84*b7c941bbSAndroid Build Coastguard Worker        "--replace-version",
85*b7c941bbSAndroid Build Coastguard Worker    ],
86*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
87*b7c941bbSAndroid Build Coastguard Worker        "cts",
88*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
89*b7c941bbSAndroid Build Coastguard Worker    ],
90*b7c941bbSAndroid Build Coastguard Worker    lint: {
91*b7c941bbSAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
92*b7c941bbSAndroid Build Coastguard Worker    },
93*b7c941bbSAndroid Build Coastguard Worker}
94*b7c941bbSAndroid Build Coastguard Worker
95*b7c941bbSAndroid Build Coastguard Worker// Define a variant with a different version code
96*b7c941bbSAndroid Build Coastguard Workerandroid_test_helper_app {
97*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSplitAppDiffVersion",
98*b7c941bbSAndroid Build Coastguard Worker    defaults: ["CtsSplitAppDefaults"],
99*b7c941bbSAndroid Build Coastguard Worker    package_splits: ["v7"],
100*b7c941bbSAndroid Build Coastguard Worker    certificate: ":cts-testkey1",
101*b7c941bbSAndroid Build Coastguard Worker    aaptflags: [
102*b7c941bbSAndroid Build Coastguard Worker        "--version-code 101",
103*b7c941bbSAndroid Build Coastguard Worker        "--version-name OneHundredOne",
104*b7c941bbSAndroid Build Coastguard Worker        "--replace-version",
105*b7c941bbSAndroid Build Coastguard Worker    ],
106*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
107*b7c941bbSAndroid Build Coastguard Worker        "cts",
108*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
109*b7c941bbSAndroid Build Coastguard Worker    ],
110*b7c941bbSAndroid Build Coastguard Worker    lint: {
111*b7c941bbSAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
112*b7c941bbSAndroid Build Coastguard Worker    },
113*b7c941bbSAndroid Build Coastguard Worker}
114*b7c941bbSAndroid Build Coastguard Worker
115*b7c941bbSAndroid Build Coastguard Worker// Define a variant with a different signature
116*b7c941bbSAndroid Build Coastguard Workerandroid_test_helper_app {
117*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSplitAppDiffCert",
118*b7c941bbSAndroid Build Coastguard Worker    defaults: ["CtsSplitAppDefaults"],
119*b7c941bbSAndroid Build Coastguard Worker    package_splits: ["v7"],
120*b7c941bbSAndroid Build Coastguard Worker    certificate: ":cts-testkey2",
121*b7c941bbSAndroid Build Coastguard Worker    aaptflags: [
122*b7c941bbSAndroid Build Coastguard Worker        "--version-code 100",
123*b7c941bbSAndroid Build Coastguard Worker        "--version-name OneHundred",
124*b7c941bbSAndroid Build Coastguard Worker        "--replace-version",
125*b7c941bbSAndroid Build Coastguard Worker    ],
126*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
127*b7c941bbSAndroid Build Coastguard Worker        "cts",
128*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
129*b7c941bbSAndroid Build Coastguard Worker    ],
130*b7c941bbSAndroid Build Coastguard Worker    lint: {
131*b7c941bbSAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
132*b7c941bbSAndroid Build Coastguard Worker    },
133*b7c941bbSAndroid Build Coastguard Worker}
134*b7c941bbSAndroid Build Coastguard Worker
135*b7c941bbSAndroid Build Coastguard Worker// Define a variant requiring a split for install
136*b7c941bbSAndroid Build Coastguard Workerandroid_test_helper_app {
137*b7c941bbSAndroid Build Coastguard Worker    name: "CtsNeedSplitApp",
138*b7c941bbSAndroid Build Coastguard Worker    defaults: ["CtsSplitAppDefaults"],
139*b7c941bbSAndroid Build Coastguard Worker    manifest: "needsplit/AndroidManifest.xml",
140*b7c941bbSAndroid Build Coastguard Worker    package_splits: ["xxhdpi-v4"],
141*b7c941bbSAndroid Build Coastguard Worker    certificate: ":cts-testkey1",
142*b7c941bbSAndroid Build Coastguard Worker    aaptflags: [
143*b7c941bbSAndroid Build Coastguard Worker        "--version-code 100",
144*b7c941bbSAndroid Build Coastguard Worker        "--version-name OneHundredRevisionTwelve",
145*b7c941bbSAndroid Build Coastguard Worker        "--replace-version",
146*b7c941bbSAndroid Build Coastguard Worker    ],
147*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
148*b7c941bbSAndroid Build Coastguard Worker        "cts",
149*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
150*b7c941bbSAndroid Build Coastguard Worker    ],
151*b7c941bbSAndroid Build Coastguard Worker    lint: {
152*b7c941bbSAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
153*b7c941bbSAndroid Build Coastguard Worker    },
154*b7c941bbSAndroid Build Coastguard Worker}
155*b7c941bbSAndroid Build Coastguard Worker
156*b7c941bbSAndroid Build Coastguard Worker// Define a variant with different codes and resources for the inherit updated test of the base apk
157*b7c941bbSAndroid Build Coastguard Workerandroid_test_helper_app {
158*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSplitAppRevisionA",
159*b7c941bbSAndroid Build Coastguard Worker    defaults: ["CtsSplitAppDefaults"],
160*b7c941bbSAndroid Build Coastguard Worker    srcs: [
161*b7c941bbSAndroid Build Coastguard Worker        "src/**/*.java",
162*b7c941bbSAndroid Build Coastguard Worker        "revision_a/src/**/*.java",
163*b7c941bbSAndroid Build Coastguard Worker    ],
164*b7c941bbSAndroid Build Coastguard Worker    resource_dirs: [
165*b7c941bbSAndroid Build Coastguard Worker        "res",
166*b7c941bbSAndroid Build Coastguard Worker        "revision_a/res",
167*b7c941bbSAndroid Build Coastguard Worker    ],
168*b7c941bbSAndroid Build Coastguard Worker    asset_dirs: ["revision_a/assets"],
169*b7c941bbSAndroid Build Coastguard Worker    manifest: "revision_a/AndroidManifest.xml",
170*b7c941bbSAndroid Build Coastguard Worker    package_splits: ["v7"],
171*b7c941bbSAndroid Build Coastguard Worker    certificate: ":cts-testkey1",
172*b7c941bbSAndroid Build Coastguard Worker    aaptflags: [
173*b7c941bbSAndroid Build Coastguard Worker        "--version-code 100",
174*b7c941bbSAndroid Build Coastguard Worker        "--revision-code 10",
175*b7c941bbSAndroid Build Coastguard Worker        "--version-name OneHundredRevisionTen",
176*b7c941bbSAndroid Build Coastguard Worker        "--replace-version",
177*b7c941bbSAndroid Build Coastguard Worker    ],
178*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
179*b7c941bbSAndroid Build Coastguard Worker        "cts",
180*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
181*b7c941bbSAndroid Build Coastguard Worker    ],
182*b7c941bbSAndroid Build Coastguard Worker    lint: {
183*b7c941bbSAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
184*b7c941bbSAndroid Build Coastguard Worker    },
185*b7c941bbSAndroid Build Coastguard Worker}
186*b7c941bbSAndroid Build Coastguard Worker
187*b7c941bbSAndroid Build Coastguard Worker// Define a variant which includes a provider and service declared in other split apk. And they only
188*b7c941bbSAndroid Build Coastguard Worker// could be tested in the instant app.
189*b7c941bbSAndroid Build Coastguard Workerandroid_test_helper_app {
190*b7c941bbSAndroid Build Coastguard Worker    name: "CtsSplitInstantApp",
191*b7c941bbSAndroid Build Coastguard Worker    defaults: ["CtsSplitAppDefaults"],
192*b7c941bbSAndroid Build Coastguard Worker    manifest: "instantapp/AndroidManifest.xml",
193*b7c941bbSAndroid Build Coastguard Worker    certificate: ":cts-testkey1",
194*b7c941bbSAndroid Build Coastguard Worker    aaptflags: [
195*b7c941bbSAndroid Build Coastguard Worker        "--version-code 100",
196*b7c941bbSAndroid Build Coastguard Worker        "--version-name OneHundred",
197*b7c941bbSAndroid Build Coastguard Worker        "--replace-version",
198*b7c941bbSAndroid Build Coastguard Worker    ],
199*b7c941bbSAndroid Build Coastguard Worker    test_suites: [
200*b7c941bbSAndroid Build Coastguard Worker        "cts",
201*b7c941bbSAndroid Build Coastguard Worker        "general-tests",
202*b7c941bbSAndroid Build Coastguard Worker    ],
203*b7c941bbSAndroid Build Coastguard Worker    lint: {
204*b7c941bbSAndroid Build Coastguard Worker        baseline_filename: "lint-baseline.xml",
205*b7c941bbSAndroid Build Coastguard Worker    },
206*b7c941bbSAndroid Build Coastguard Worker}
207