• 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}
40
41android_test_helper_app {
42    name: "CtsSplitApp",
43    defaults: ["CtsSplitAppDefaults"],
44    package_splits: [
45        "mdpi-v4",
46        "hdpi-v4",
47        "xhdpi-v4",
48        "xxhdpi-v4",
49        "v7",
50        "v23",
51        "fr",
52        "de",
53    ],
54    certificate: ":cts-testkey1",
55    aaptflags: [
56        "--version-code 100",
57        "--version-name OneHundred",
58        "--replace-version",
59    ],
60    // Feature splits are dependent on this base, so it must be exported.
61    export_package_resources: true,
62    test_suites: [
63        "cts",
64        "general-tests",
65        "mts-mainline-infra",
66    ],
67}
68
69// Define a variant with a different revision code
70android_test_helper_app {
71    name: "CtsSplitAppDiffRevision",
72    defaults: ["CtsSplitAppDefaults"],
73    package_splits: ["v7"],
74    certificate: ":cts-testkey1",
75    aaptflags: [
76        "--version-code 100",
77        "--revision-code 12",
78        "--version-name OneHundredRevisionTwelve",
79        "--replace-version",
80    ],
81    test_suites: [
82        "cts",
83        "general-tests",
84    ],
85}
86
87// Define a variant with a different version code
88android_test_helper_app {
89    name: "CtsSplitAppDiffVersion",
90    defaults: ["CtsSplitAppDefaults"],
91    package_splits: ["v7"],
92    certificate: ":cts-testkey1",
93    aaptflags: [
94        "--version-code 101",
95        "--version-name OneHundredOne",
96        "--replace-version",
97    ],
98    test_suites: [
99        "cts",
100        "general-tests",
101    ],
102}
103
104// Define a variant with a different signature
105android_test_helper_app {
106    name: "CtsSplitAppDiffCert",
107    defaults: ["CtsSplitAppDefaults"],
108    package_splits: ["v7"],
109    certificate: ":cts-testkey2",
110    aaptflags: [
111        "--version-code 100",
112        "--version-name OneHundred",
113        "--replace-version",
114    ],
115    test_suites: [
116        "cts",
117        "general-tests",
118    ],
119}
120
121// Define a variant requiring a split for install
122android_test_helper_app {
123    name: "CtsNeedSplitApp",
124    defaults: ["CtsSplitAppDefaults"],
125    manifest: "needsplit/AndroidManifest.xml",
126    package_splits: ["xxhdpi-v4"],
127    certificate: ":cts-testkey1",
128    aaptflags: [
129        "--version-code 100",
130        "--version-name OneHundredRevisionTwelve",
131        "--replace-version",
132    ],
133    test_suites: [
134        "cts",
135        "general-tests",
136    ],
137}
138
139// Define a variant with different codes and resources for the inherit updated test of the base apk
140android_test_helper_app {
141    name: "CtsSplitAppRevisionA",
142    defaults: ["CtsSplitAppDefaults"],
143    srcs: ["src/**/*.java", "revision_a/src/**/*.java"],
144    resource_dirs: ["res", "revision_a/res"],
145    asset_dirs: ["revision_a/assets"],
146    manifest : "revision_a/AndroidManifest.xml",
147    package_splits: ["v7"],
148    certificate: ":cts-testkey1",
149    aaptflags: [
150        "--version-code 100",
151        "--revision-code 10",
152        "--version-name OneHundredRevisionTen",
153        "--replace-version",
154    ],
155    test_suites: [
156        "cts",
157        "general-tests",
158    ],
159}
160
161// Define a variant which includes a provider and service declared in other split apk. And they only
162// could be tested in the instant app.
163android_test_helper_app {
164    name: "CtsSplitInstantApp",
165    defaults: ["CtsSplitAppDefaults"],
166    manifest : "instantapp/AndroidManifest.xml",
167    certificate: ":cts-testkey1",
168    aaptflags: [
169        "--version-code 100",
170        "--version-name OneHundred",
171        "--replace-version",
172    ],
173    test_suites: [
174        "cts",
175        "general-tests",
176    ],
177}
178