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