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