1// Copyright (C) 2024 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17} 18 19java_library { 20 name: "adservices-shared-testing", 21 min_sdk_version: "30", 22 sdk_version: "module_current", 23 srcs: [ 24 "java/com/android/adservices/shared/testing/**/*.java", 25 ":adservices-shared-sideless-testing-sources", 26 ], 27 static_libs: [ 28 // TODO(b/345219434): use defaults instead? 29 "mockito-target-extended-minus-junit4", 30 "adservices-shared-common", 31 "adservices-shared-util", 32 "androidx.test.core", 33 "framework-annotations-lib", // @VisibleForTesting 34 "junit", 35 "ravenwood-junit", 36 "truth", 37 ], 38 libs: [ 39 "framework-connectivity.stubs.module_lib", 40 ], 41 visibility: [ 42 "//packages/modules/AdServices:__subpackages__", 43 "//packages/modules/ExtServices:__subpackages__", 44 "//packages/modules/OnDevicePersonalization:__subpackages__", 45 ], 46 apex_available: [ 47 "com.android.adservices", 48 "com.android.extservices", 49 "com.android.ondevicepersonalization", 50 ], 51 lint: { 52 extra_check_modules: ["AdServicesProdLintChecker"], 53 }, 54} 55 56java_library { 57 name: "adservices-shared-static-class-checker", 58 min_sdk_version: "30", 59 sdk_version: "module_current", 60 srcs: [ 61 "java/com/android/adservices/mockito/StaticClassChecker.java", 62 ":adservices-shared-sideless-testing-TestNamer-sources", 63 ], 64 static_libs: [ 65 "guava", // for ImmutableSet 66 ], 67 visibility: [ 68 "//packages/modules/AdServices:__subpackages__", 69 "//packages/modules/ExtServices:__subpackages__", 70 "//packages/modules/OnDevicePersonalization:__subpackages__", 71 ], 72 lint: { 73 extra_check_modules: ["AdServicesProdLintChecker"], 74 }, 75} 76 77java_library { 78 name: "adservices-shared-mockito-expectations", 79 min_sdk_version: "30", 80 sdk_version: "module_current", 81 srcs: [ 82 // TODO(b/338132355): might be better to split into separate mockers: 83 84 // Base classes 85 "java/com/android/adservices/mockito/AbstractMocker.java", 86 "java/com/android/adservices/mockito/AbstractStaticMocker.java", 87 "java/com/android/adservices/mockito/StaticClassChecker.java", 88 89 // AndroidMocker 90 "java/com/android/adservices/mockito/AndroidMocker.java", 91 "java/com/android/adservices/mockito/AndroidMockitoMocker.java", 92 93 // AndroidStaticMocker 94 "java/com/android/adservices/mockito/AndroidStaticMocker.java", 95 "java/com/android/adservices/mockito/AndroidExtendedMockitoMocker.java", 96 "java/com/android/adservices/mockito/LogInterceptor.java", 97 98 // SharedMocker 99 "java/com/android/adservices/mockito/SharedMocker.java", 100 "java/com/android/adservices/mockito/SharedMockitoMocker.java", 101 ], 102 libs: [ 103 "framework-annotations-lib", // for @Nullable 104 ], 105 static_libs: [ 106 "adservices-shared-static-class-checker", 107 "error_prone_annotations", // for @FormatMethod 108 "modules-utils-build", // for SdkLevel 109 "mockito-target-extended-minus-junit4", 110 "modules-utils-preconditions", 111 112 // TODO(b/338132355): might be better to split into separate mockers 113 114 // Need by SharedMocker.java 115 "adservices-shared-common", 116 "adservices-shared-spe", 117 "adservices-shared-testing", 118 119 // Need by AndroidStaticMocker.java 120 // "adservices-shared-testing", 121 ], 122 visibility: [ 123 "//packages/modules/AdServices:__subpackages__", 124 "//packages/modules/ExtServices:__subpackages__", 125 "//packages/modules/OnDevicePersonalization:__subpackages__", 126 ], 127 apex_available: [ 128 "com.android.adservices", 129 "com.android.extservices", 130 "com.android.ondevicepersonalization", 131 ], 132 lint: { 133 extra_check_modules: ["AdServicesProdLintChecker"], 134 }, 135} 136 137filegroup { 138 name: "adservices-shared-extended-mockito-rule-sources", 139 srcs: [ 140 "java/com/android/adservices/mockito/AdServicesExtendedMockitoRule.java", 141 "java/com/android/adservices/mockito/ExtendedMockitoInlineCleanerRule.java", 142 ], 143 path: "java", 144 visibility: [ 145 "//packages/modules/AdServices:__subpackages__", 146 "//packages/modules/ExtServices:__subpackages__", 147 "//packages/modules/OnDevicePersonalization:__subpackages__", 148 ], 149} 150 151// NOTE: it does not include TestableDeviceConfig 152java_defaults { 153 name: "adservices-shared-extended-mockito-defaults", 154 srcs: [ 155 ":adservices-shared-extended-mockito-rule-sources", 156 ], 157 static_libs: [ 158 "adservices-shared-static-class-checker", 159 ], 160 // TODO(b/345219434): change it back to 161 // modules-utils-extended-mockito-rule-defaults once it have 162 // compile_multilib: "both", 163 defaults: ["modules-utils-testable-device-config-defaults"], 164 visibility: [ 165 "//packages/modules/AdServices:__subpackages__", 166 "//packages/modules/ExtServices:__subpackages__", 167 "//packages/modules/OnDevicePersonalization:__subpackages__", 168 ], 169} 170 171// Note: This lib contains an example for datastore usage which is used for testing the proto data 172// store. This should be not added as a production code dependency. 173java_library { 174 name: "adservices-datastore_testing", 175 sdk_version: "module_current", 176 proto: { 177 type: "lite", 178 include_dirs: [ 179 "external/protobuf/java", 180 "external/protobuf/src", 181 ], 182 canonical_path_from_root: false, // Use relative path instead of Android root 183 }, 184 srcs: [ 185 "java/com/android/adservices/shared/datastore_testing/*.java", 186 "java/com/android/adservices/shared/datastore_testing/*.proto", 187 ":libprotobuf-internal-protos", 188 ], 189 static_libs: [ 190 "adservices-shared-common", 191 "adservices-shared-datastore", 192 ], 193 visibility: [ 194 "//packages/modules/AdServices/shared/tests:__subpackages__", 195 ], 196 lint: { 197 extra_check_modules: ["AdServicesProdLintChecker"], 198 }, 199} 200 201// Shared test classes used to test shared test classes - Malkovich! 202filegroup { 203 name: "adservices-shared-device-side-meta-testing-sources", 204 srcs: [ 205 "java/com/android/adservices/shared/meta_testing/**/*.java", 206 ], 207 visibility: [ 208 "//packages/modules/AdServices/shared/tests:__subpackages__", 209 // Explicitly add each package below - don't use __subpackages__ 210 "//packages/modules/AdServices/adservices/tests/unittest/adservices-test-utility", 211 ], 212} 213 214// Shared test classes used to test shared test classes - Malkovich! 215filegroup { 216 name: "adservices-shared-device-side-flags-meta-testing-sources", 217 srcs: [ 218 "java/com/android/adservices/shared/meta_testing/FlagsTestLittleHelper.java", 219 ], 220 visibility: [ 221 "//packages/modules/AdServices/shared/tests:__subpackages__", 222 // Explicitly add each package below - don't use __subpackages__ 223 "//packages/modules/AdServices/adservices/tests/unittest/service-core", 224 ], 225} 226