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_team: "trendy_team_framework_android_packages", 19 default_applicable_licenses: ["Android-Apache-2.0"], 20} 21 22java_defaults { 23 name: "CtsSplitAppDefaults", 24 defaults: ["cts_support_defaults"], 25 srcs: ["src/**/*.java"], 26 asset_dirs: ["assets"], 27 sdk_version: "current", 28 min_sdk_version: "4", 29 aapt_include_all_resources: true, 30 static_libs: [ 31 "androidx.test.rules", 32 "truth", 33 "hamcrest-library", 34 "compatibility-device-util-axt", 35 ], 36 libs: [ 37 "android.test.runner.stubs", 38 "android.test.base.stubs", 39 ], 40 target_sdk_version: "current", 41} 42 43android_test_helper_app { 44 name: "CtsSplitApp", 45 defaults: ["CtsSplitAppDefaults"], 46 package_splits: [ 47 "mdpi-v4", 48 "hdpi-v4", 49 "xhdpi-v4", 50 "xxhdpi-v4", 51 "v7", 52 "v23", 53 "fr", 54 "de", 55 ], 56 certificate: ":cts-testkey1", 57 aaptflags: [ 58 "--version-code 100", 59 "--version-name OneHundred", 60 "--replace-version", 61 ], 62 // Feature splits are dependent on this base, so it must be exported. 63 export_package_resources: true, 64 test_suites: [ 65 "cts", 66 "general-tests", 67 "mts-mainline-infra", 68 ], 69 lint: { 70 baseline_filename: "lint-baseline.xml", 71 }, 72} 73 74// Define a variant with a different revision code 75android_test_helper_app { 76 name: "CtsSplitAppDiffRevision", 77 defaults: ["CtsSplitAppDefaults"], 78 package_splits: ["v7"], 79 certificate: ":cts-testkey1", 80 aaptflags: [ 81 "--version-code 100", 82 "--revision-code 12", 83 "--version-name OneHundredRevisionTwelve", 84 "--replace-version", 85 ], 86 test_suites: [ 87 "cts", 88 "general-tests", 89 ], 90 lint: { 91 baseline_filename: "lint-baseline.xml", 92 }, 93} 94 95// Define a variant with a different version code 96android_test_helper_app { 97 name: "CtsSplitAppDiffVersion", 98 defaults: ["CtsSplitAppDefaults"], 99 package_splits: ["v7"], 100 certificate: ":cts-testkey1", 101 aaptflags: [ 102 "--version-code 101", 103 "--version-name OneHundredOne", 104 "--replace-version", 105 ], 106 test_suites: [ 107 "cts", 108 "general-tests", 109 ], 110 lint: { 111 baseline_filename: "lint-baseline.xml", 112 }, 113} 114 115// Define a variant with a different signature 116android_test_helper_app { 117 name: "CtsSplitAppDiffCert", 118 defaults: ["CtsSplitAppDefaults"], 119 package_splits: ["v7"], 120 certificate: ":cts-testkey2", 121 aaptflags: [ 122 "--version-code 100", 123 "--version-name OneHundred", 124 "--replace-version", 125 ], 126 test_suites: [ 127 "cts", 128 "general-tests", 129 ], 130 lint: { 131 baseline_filename: "lint-baseline.xml", 132 }, 133} 134 135// Define a variant requiring a split for install 136android_test_helper_app { 137 name: "CtsNeedSplitApp", 138 defaults: ["CtsSplitAppDefaults"], 139 manifest: "needsplit/AndroidManifest.xml", 140 package_splits: ["xxhdpi-v4"], 141 certificate: ":cts-testkey1", 142 aaptflags: [ 143 "--version-code 100", 144 "--version-name OneHundredRevisionTwelve", 145 "--replace-version", 146 ], 147 test_suites: [ 148 "cts", 149 "general-tests", 150 ], 151 lint: { 152 baseline_filename: "lint-baseline.xml", 153 }, 154} 155 156// Define a variant with different codes and resources for the inherit updated test of the base apk 157android_test_helper_app { 158 name: "CtsSplitAppRevisionA", 159 defaults: ["CtsSplitAppDefaults"], 160 srcs: [ 161 "src/**/*.java", 162 "revision_a/src/**/*.java", 163 ], 164 resource_dirs: [ 165 "res", 166 "revision_a/res", 167 ], 168 asset_dirs: ["revision_a/assets"], 169 manifest: "revision_a/AndroidManifest.xml", 170 package_splits: ["v7"], 171 certificate: ":cts-testkey1", 172 aaptflags: [ 173 "--version-code 100", 174 "--revision-code 10", 175 "--version-name OneHundredRevisionTen", 176 "--replace-version", 177 ], 178 test_suites: [ 179 "cts", 180 "general-tests", 181 ], 182 lint: { 183 baseline_filename: "lint-baseline.xml", 184 }, 185} 186 187// Define a variant which includes a provider and service declared in other split apk. And they only 188// could be tested in the instant app. 189android_test_helper_app { 190 name: "CtsSplitInstantApp", 191 defaults: ["CtsSplitAppDefaults"], 192 manifest: "instantapp/AndroidManifest.xml", 193 certificate: ":cts-testkey1", 194 aaptflags: [ 195 "--version-code 100", 196 "--version-name OneHundred", 197 "--replace-version", 198 ], 199 test_suites: [ 200 "cts", 201 "general-tests", 202 ], 203 lint: { 204 baseline_filename: "lint-baseline.xml", 205 }, 206} 207