| load("//tools/base/bazel:maven.bzl", "maven_repository") |
| load("//tools/base/build-system/integration-test:common-dependencies.bzl", "KGP_VERSION_FOR_TESTS", "KGP_1_9_22", "KGP_1_8_10") |
| load("//tools/base/build-system/integration-test:integration-test.bzl", "gradle_integration_test", "single_gradle_integration_test_per_source") |
| load("//tools/base/build-system/integration-test:integration-test.bzl", "single_gradle_integration_test") |
| |
| #keep sorted |
| TEST_DEPS = [ |
| "//tools/analytics-library/protos/src/main/proto", |
| "//tools/apksig", |
| "//tools/apkzlib", |
| "//tools/base/annotations", |
| "//tools/base/apkparser/analyzer:tools.analyzer", |
| "//tools/base/build-analyzer/common", |
| "//tools/base/build-system:gradle-api", |
| "//tools/base/build-system/builder", |
| "//tools/base/build-system/builder-model", |
| "//tools/base/build-system/builder-test-api:tools.builder-test-api", |
| "//tools/base/build-system/gradle-api", |
| "//tools/base/build-system/gradle-core", |
| "//tools/base/build-system/integration-test/framework", |
| "//tools/base/build-system/integration-test/framework/src/main/proto", |
| "//tools/base/build-system/shrinker", |
| "//tools/base/common:tools.common", |
| "//tools/base/ddmlib:tools.ddmlib", |
| "//tools/base/profgen/profgen", |
| "//tools/base/repository:tools.testlib", |
| "//tools/base/sdk-common:tools.sdk-common", |
| "//tools/base/sdklib:tools.sdklib", |
| "//tools/base/testutils:tools.testutils", |
| "//tools/base/zipflinger", |
| "@maven//:com.android.tools.smali.smali-dexlib2", |
| "@maven//:org.jetbrains.dokka.dokka-core", |
| "@maven//:org.ow2.asm.asm", |
| "@maven//:org.ow2.asm.asm-tree", |
| ] |
| |
| OLD_SDKS = [ |
| "//prebuilts/studio/sdk:platforms/android-19_build_only", |
| "//prebuilts/studio/sdk:platforms/android-21_build_only", |
| "//prebuilts/studio/sdk:platforms/android-23_build_only", |
| "//prebuilts/studio/sdk:platforms/android-24_build_only", |
| "//prebuilts/studio/sdk:platforms/android-29_build_only", |
| ] |
| |
| #keep sorted |
| TEST_DATA = [ |
| "//prebuilts/studio/jdk/jdk17:jdk17_runtime_files", |
| "//prebuilts/studio/sdk:add-ons/addon-google_apis-google-latest", |
| "//prebuilts/studio/sdk:build-tools/latest", |
| "//prebuilts/studio/sdk:platform-tools", |
| "//tools/base/build-system:gradle-distrib", |
| "//tools/base/build-system/aapt2:aapt2_for_tests", |
| "//tools/base/build-system/integration-test:android_platform_for_tests", |
| "//tools/base/build-system/integration-test:test-projects/BasicRenderScript", |
| "//tools/base/build-system/integration-test:test-projects/additionalTestOutput", |
| "//tools/base/build-system/integration-test:test-projects/additionalTestOutputOverride", |
| "//tools/base/build-system/integration-test:test-projects/androidManifestInTest", |
| "//tools/base/build-system/integration-test:test-projects/api", |
| "//tools/base/build-system/integration-test:test-projects/apiBinaryCompatibility", |
| "//tools/base/build-system/integration-test:test-projects/appWithTests", |
| "//tools/base/build-system/integration-test:test-projects/applibtest", |
| "//tools/base/build-system/integration-test:test-projects/applicationIdInLibsTest", |
| "//tools/base/build-system/integration-test:test-projects/artifactApi", |
| "//tools/base/build-system/integration-test:test-projects/asmTransformApi", |
| "//tools/base/build-system/integration-test:test-projects/assets", |
| "//tools/base/build-system/integration-test:test-projects/attrOrder", |
| "//tools/base/build-system/integration-test:test-projects/basic", |
| "//tools/base/build-system/integration-test:test-projects/basicMultiFlavors", |
| "//tools/base/build-system/integration-test:test-projects/builderTestingApiUse", |
| "//tools/base/build-system/integration-test:test-projects/bytecodeGenerationHooks", |
| "//tools/base/build-system/integration-test:test-projects/combinedAbiDensitySplits", |
| "//tools/base/build-system/integration-test:test-projects/combinedDensityAndLanguageSplits", |
| "//tools/base/build-system/integration-test:test-projects/compileRClasses", |
| "//tools/base/build-system/integration-test:test-projects/composeHelloWorld", |
| "//tools/base/build-system/integration-test:test-projects/customArtifactDep", |
| "//tools/base/build-system/integration-test:test-projects/daggerTwo", |
| "//tools/base/build-system/integration-test:test-projects/databindingIncremental", |
| "//tools/base/build-system/integration-test:test-projects/densitySplit", |
| "//tools/base/build-system/integration-test:test-projects/dependencies", |
| "//tools/base/build-system/integration-test:test-projects/dynamicApp", |
| "//tools/base/build-system/integration-test:test-projects/embedded", |
| "//tools/base/build-system/integration-test:test-projects/emptyApp", |
| "//tools/base/build-system/integration-test:test-projects/extractAnnotations", |
| "//tools/base/build-system/integration-test:test-projects/extractRsEnabledAnnotations", |
| "//tools/base/build-system/integration-test:test-projects/flavored", |
| "//tools/base/build-system/integration-test:test-projects/flavoredlib", |
| "//tools/base/build-system/integration-test:test-projects/flavorlib", |
| "//tools/base/build-system/integration-test:test-projects/flavors", |
| "//tools/base/build-system/integration-test:test-projects/genFolderApi", |
| "//tools/base/build-system/integration-test:test-projects/genFolderApi2", |
| "//tools/base/build-system/integration-test:test-projects/jacocoOnlySubprojectBuildScriptDependency", |
| "//tools/base/build-system/integration-test:test-projects/jacocoWithButterKnife", |
| "//tools/base/build-system/integration-test:test-projects/jarjarIntegration", |
| "//tools/base/build-system/integration-test:test-projects/jarjarIntegrationLib", |
| "//tools/base/build-system/integration-test:test-projects/jetifier", |
| "//tools/base/build-system/integration-test:test-projects/kotlinApp", |
| "//tools/base/build-system/integration-test:test-projects/kotlinAppWithKsp", |
| "//tools/base/build-system/integration-test:test-projects/kotlinMultiplatform", |
| "//tools/base/build-system/integration-test:test-projects/kotlinWithEclipseSourceSet", |
| "//tools/base/build-system/integration-test:test-projects/libDependency", |
| "//tools/base/build-system/integration-test:test-projects/libMinify", |
| "//tools/base/build-system/integration-test:test-projects/libMinifyJarDep", |
| "//tools/base/build-system/integration-test:test-projects/libMinifyLibDep", |
| "//tools/base/build-system/integration-test:test-projects/libProguardConsumerFiles", |
| "//tools/base/build-system/integration-test:test-projects/libTestDep", |
| "//tools/base/build-system/integration-test:test-projects/libsTest", |
| "//tools/base/build-system/integration-test:test-projects/lintDeps", |
| "//tools/base/build-system/integration-test:test-projects/lintLibraryModel", |
| "//tools/base/build-system/integration-test:test-projects/lintLibrarySkipDeps", |
| "//tools/base/build-system/integration-test:test-projects/lintMultipleLintJars", |
| "//tools/base/build-system/integration-test:test-projects/lintResourceResolve", |
| "//tools/base/build-system/integration-test:test-projects/localAarTest", |
| "//tools/base/build-system/integration-test:test-projects/localJars", |
| "//tools/base/build-system/integration-test:test-projects/maxSdkVersion", |
| "//tools/base/build-system/integration-test:test-projects/migrated", |
| "//tools/base/build-system/integration-test:test-projects/minify", |
| "//tools/base/build-system/integration-test:test-projects/minifyLib", |
| "//tools/base/build-system/integration-test:test-projects/minifyLibWithJavaRes", |
| "//tools/base/build-system/integration-test:test-projects/multiCompositeBuild", |
| "//tools/base/build-system/integration-test:test-projects/multiDex", |
| "//tools/base/build-system/integration-test:test-projects/multiDexWithLib", |
| "//tools/base/build-system/integration-test:test-projects/multiproject", |
| "//tools/base/build-system/integration-test:test-projects/multires", |
| "//tools/base/build-system/integration-test:test-projects/namespacedApp", |
| "//tools/base/build-system/integration-test:test-projects/navigation", |
| "//tools/base/build-system/integration-test:test-projects/ndkJniLib", |
| "//tools/base/build-system/integration-test:test-projects/ndkLibPrebuilts", |
| "//tools/base/build-system/integration-test:test-projects/ndkPrebuilts", |
| "//tools/base/build-system/integration-test:test-projects/ndkSanAngeles", |
| "//tools/base/build-system/integration-test:test-projects/noPngCrunch", |
| "//tools/base/build-system/integration-test:test-projects/optionalLibInLibWithProguard", |
| "//tools/base/build-system/integration-test:test-projects/overlay1", |
| "//tools/base/build-system/integration-test:test-projects/overlay2", |
| "//tools/base/build-system/integration-test:test-projects/overlay3", |
| "//tools/base/build-system/integration-test:test-projects/pkgOverride", |
| "//tools/base/build-system/integration-test:test-projects/placeholderInLibsTest", |
| "//tools/base/build-system/integration-test:test-projects/prefabApp", |
| "//tools/base/build-system/integration-test:test-projects/prefabPublishing", |
| "//tools/base/build-system/integration-test:test-projects/privateResources", |
| "//tools/base/build-system/integration-test:test-projects/projectWithClassifierDep", |
| "//tools/base/build-system/integration-test:test-projects/projectWithIvyDependency", |
| "//tools/base/build-system/integration-test:test-projects/projectWithLocalDeps", |
| "//tools/base/build-system/integration-test:test-projects/projectWithModules", |
| "//tools/base/build-system/integration-test:test-projects/pseudolocalized", |
| "//tools/base/build-system/integration-test:test-projects/renamedApk", |
| "//tools/base/build-system/integration-test:test-projects/renderscriptNdk", |
| "//tools/base/build-system/integration-test:test-projects/repo", |
| "//tools/base/build-system/integration-test:test-projects/rsSupportMode", |
| "//tools/base/build-system/integration-test:test-projects/sameNamedLibs", |
| "//tools/base/build-system/integration-test:test-projects/separateTestModule", |
| "//tools/base/build-system/integration-test:test-projects/separateTestModuleWithDependencies", |
| "//tools/base/build-system/integration-test:test-projects/separateTestModuleWithMinifiedApp", |
| "//tools/base/build-system/integration-test:test-projects/separateTestWithMinificationButNoObfuscation", |
| "//tools/base/build-system/integration-test:test-projects/shrink", |
| "//tools/base/build-system/integration-test:test-projects/shrinkDynamicFeatureModules", |
| "//tools/base/build-system/integration-test:test-projects/simpleCompositeBuild", |
| "//tools/base/build-system/integration-test:test-projects/simpleManifestMergingTask", |
| "//tools/base/build-system/integration-test:test-projects/simpleMicroApp", |
| "//tools/base/build-system/integration-test:test-projects/sourceDependency", |
| "//tools/base/build-system/integration-test:test-projects/testDependency", |
| "//tools/base/build-system/integration-test:test-projects/testFixturesApp", |
| "//tools/base/build-system/integration-test:test-projects/testFixturesKotlinApp", |
| "//tools/base/build-system/integration-test:test-projects/testWithDep", |
| "//tools/base/build-system/integration-test:test-projects/tictactoe", |
| "//tools/base/build-system/integration-test:test-projects/transformApiTest", |
| "//tools/base/build-system/integration-test:test-projects/unitTesting", |
| "//tools/base/build-system/integration-test:test-projects/unitTestingAndroidResources", |
| "//tools/base/build-system/integration-test:test-projects/unitTestingBuildTypes", |
| "//tools/base/build-system/integration-test:test-projects/unitTestingComplexProject", |
| "//tools/base/build-system/integration-test:test-projects/unitTestingDefaultValues", |
| "//tools/base/build-system/integration-test:test-projects/unitTestingFlavors", |
| "//tools/base/build-system/integration-test:test-projects/vectorDrawables", |
| "//tools/base/build-system/integration-test:test-projects/vulkan", |
| ] |
| |
| AUTOMATIC_TEST_DATA = TEST_DATA + OLD_SDKS + [ |
| #keep sorted |
| "//prebuilts/studio/sdk:cmake", |
| "//prebuilts/studio/sdk:ndk", |
| "//prebuilts/studio/sdk:ndk-bundle", |
| "//prebuilts/tools/common/cmake:cmake-3.8.2", |
| # These test-projects are only used in CheckAll. |
| "//tools/base/build-system/integration-test:test-projects/androidTestLibDep", |
| "//tools/base/build-system/integration-test:test-projects/conditionalApiUse", |
| "//tools/base/build-system/integration-test:test-projects/daggerOne", |
| "//tools/base/build-system/integration-test:test-projects/dependenciesWithVariants", |
| "//tools/base/build-system/integration-test:test-projects/emptySplit", |
| "//tools/base/build-system/integration-test:test-projects/flavorlibWithFailedTests", |
| "//tools/base/build-system/integration-test:test-projects/instantRunLibraryAdd", |
| "//tools/base/build-system/integration-test:test-projects/mavenLocal", |
| "//tools/base/build-system/integration-test:test-projects/noPreDex", |
| "//tools/base/build-system/integration-test:test-projects/packagingOptions", |
| "//tools/base/build-system/integration-test:test-projects/renderscript", |
| "//tools/base/build-system/integration-test:test-projects/renderscriptInLib", |
| "//tools/base/build-system/integration-test:test-projects/renderscriptMultiSrc", |
| "//tools/base/build-system/integration-test:test-projects/splitAwareSeparateTestModule", |
| ] |
| |
| NDK_27 = [ |
| "//prebuilts/studio/sdk:ndk-27", |
| ] |
| |
| # These sources need to compiled together as there are inter-dependencies. Avoid adding more. |
| SOURCES_TO_COMPILE_TOGETHER = [ |
| "src/test/java/com/android/build/gradle/integration/application/testData/*", |
| "src/test/java/com/android/build/gradle/integration/application/AnalyzeDependenciesTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/CoreLibraryDesugarTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/CoreLibraryDesugarConversionTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/CustomClassTransformTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/MinSdkVersionTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/MultiDexTest.java", |
| "src/test/java/com/android/build/gradle/integration/application/OptimizeResourcesTaskTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/RulesExtractionDynamicAppTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/RulesExtractionTestUtil.kt", |
| "src/test/java/com/android/build/gradle/integration/application/SigningTest.java", |
| "src/test/java/com/android/build/gradle/integration/bundle/DynamicAppLegacyMultidexTest.kt", |
| "src/test/java/com/android/build/gradle/integration/bundle/DynamicAppSigningConfigTest.kt", |
| "src/test/java/com/android/build/gradle/integration/bundle/DynamicAppTest.kt", |
| "src/test/java/com/android/build/gradle/integration/desugar/desugaringProjectConfigurator.kt", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarAppTest.java", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarLibraryAndroidTestTest.kt", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarAppWithDesugarToolTest.java", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarMultiProjectTest.java", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarFileDependencyTest.kt", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarAppWithLibraryTest.java", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarLibraryWithDesugarToolTest.java", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarAarTogetherWithD8Test.kt", |
| "src/test/java/com/android/build/gradle/integration/desugar/DesugarAppAndroidTestTest.kt", |
| "src/test/java/com/android/build/gradle/integration/desugar/resources/*", |
| "src/test/java/com/android/build/gradle/integration/desugar/RecalculateStackFramesTaskTest.kt", |
| "src/test/java/com/android/build/gradle/integration/library/JarsInLibraries.java", |
| ] |
| |
| # Glob matching all connected tests. These should not be run with bazel. |
| CONNECTED_TESTS = [ |
| "src/test/java/com/android/build/gradle/integration/**/*ConnectedTest.*", |
| "src/test/java/com/android/build/gradle/integration/testing/ConnectedCheckTest.java", |
| ] |
| |
| CHECK_ALL_SOURCES = ["src/test/java/**/CheckAll.java"] |
| |
| # Creates separate target for each source |
| single_gradle_integration_test_per_source( |
| name = "tests", |
| package_name = "tools/base/build-system/integration-test/application", |
| srcs = glob( |
| [ |
| "src/test/java/**", |
| ], |
| exclude = SOURCES_TO_COMPILE_TOGETHER + CONNECTED_TESTS + CHECK_ALL_SOURCES + [ |
| # These subpackages have their own target definitions. |
| "src/test/java/com/android/build/gradle/integration/packaging/**", |
| "src/test/java/com/android/build/gradle/integration/kotlin/**", |
| "src/test/java/com/android/build/gradle/integration/library/**", |
| "src/test/java/com/android/build/gradle/integration/mlkit/**", |
| "src/test/java/com/android/build/gradle/integration/testing/**", |
| "src/test/java/com/android/build/gradle/integration/resources/**", |
| "src/test/java/com/android/build/gradle/integration/dependencies/**", |
| "src/test/java/com/android/build/gradle/integration/privacysandbox/**", |
| "src/test/java/com/android/build/gradle/integration/multiplatform/v2/**", |
| "src/test/java/com/android/build/gradle/integration/application/Java11CompileTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/AgpVersionConsistencyTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/JavaCompileWithToolChainTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/ComposeHelloWorldTest.kt", |
| "src/test/java/com/android/build/gradle/integration/compose/ComposePluginOptionsTest.kt", |
| "src/test/java/com/android/build/gradle/integration/multiplatform/KotlinMultiplatformComposeTest.kt", |
| ], |
| ), |
| data = TEST_DATA + OLD_SDKS + NDK_27, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:androidx_test_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:utp_plugins", |
| "//tools/base/build-system/integration-test:dagger_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_1_4_32_prebuilts", |
| "//tools/base/build-system/integration-test:relocated_coroutines_test_repo", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| "//tools/base/build-system/previous-versions:3.5.0", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| very_flaky_targets = [ |
| "GradlePluginMemoryLeakTest", # b/303907470 |
| ], |
| deps = TEST_DEPS, |
| ) |
| |
| JAVA_COMPILE_TESTS = [ |
| "src/test/java/com/android/build/gradle/integration/application/Java11CompileTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/JavaCompileWithToolChainTest.kt", |
| ] |
| |
| gradle_integration_test( |
| name = "java-compile-tests", |
| srcs = glob( |
| include = JAVA_COMPILE_TESTS, |
| ), |
| data = TEST_DATA + [ |
| "//prebuilts/studio/jdk:jdk21", |
| "//prebuilts/studio/jdk:jdk_1_8", |
| "//prebuilts/studio/jdk/jdk11", |
| ], |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:dagger_prebuilts", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| deps = TEST_DEPS, |
| ) |
| |
| JDK_17_SMOKE_TESTS = [ |
| "src/test/java/com/android/build/gradle/integration/application/BasicTest.java", |
| "src/test/java/com/android/build/gradle/integration/application/KotlinAppTest.java", |
| "src/test/java/com/android/build/gradle/integration/application/Java11CompileTest.kt", |
| "src/test/java/com/android/build/gradle/integration/application/ModelTest.java", |
| ] |
| |
| gradle_integration_test( |
| name = "jdk17-smoke-tests", |
| srcs = glob( |
| include = JDK_17_SMOKE_TESTS, |
| ), |
| data = TEST_DATA + [ |
| "//prebuilts/studio/jdk:jdk_1_8", |
| "//prebuilts/studio/jdk/jdk11", |
| ], |
| jvm_flags = ["-Dgradle.java.version=17"], |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:dagger_prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| deps = TEST_DEPS, |
| ) |
| |
| AGP_VERSION_CONSISTENCY_TESTS = [ |
| "src/test/java/com/android/build/gradle/integration/application/AgpVersionConsistencyTest.kt", |
| ] |
| |
| gradle_integration_test( |
| name = "agp-version-consistency-tests", |
| srcs = glob( |
| include = AGP_VERSION_CONSISTENCY_TESTS, |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| "//tools/base/build-system/previous-versions:7.1.0", |
| ], |
| deps = TEST_DEPS, |
| ) |
| |
| COMPOSE_TESTS = [ |
| "src/test/java/com/android/build/gradle/integration/application/ComposeHelloWorldTest.kt", |
| "src/test/java/com/android/build/gradle/integration/compose/ComposePluginOptionsTest.kt", |
| "src/test/java/com/android/build/gradle/integration/multiplatform/KotlinMultiplatformComposeTest.kt", |
| ] |
| |
| gradle_integration_test( |
| name = "compose-tests", |
| srcs = glob( |
| include = COMPOSE_TESTS, |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_for_compose_prebuilts", |
| ], |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "packaging-tests", |
| timeout = "long", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/packaging/*.java", |
| "src/test/java/com/android/build/gradle/integration/packaging/*.kt", |
| ], |
| exclude = CONNECTED_TESTS, |
| ), |
| data = TEST_DATA + OLD_SDKS, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 7, |
| deps = TEST_DEPS, |
| ) |
| |
| maven_repository( |
| name = "kotlin_1_8_10", |
| artifacts = KGP_1_8_10, |
| visibility = [":__subpackages__"], |
| ) |
| |
| maven_repository( |
| name = "kotlin_1_9_22", |
| artifacts = KGP_1_9_22, |
| visibility = [":__subpackages__"], |
| ) |
| |
| gradle_integration_test( |
| name = "built-in-kotlin-support-tests", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/kotlin/*.java", |
| "src/test/java/com/android/build/gradle/integration/kotlin/*.kt", |
| ], |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test/application:kotlin_1_8_10", |
| "//tools/base/build-system/integration-test/application:kotlin_1_9_22", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 2, |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "dependencies-tests", |
| timeout = "long", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/dependencies/*.java", |
| "src/test/java/com/android/build/gradle/integration/dependencies/*.kt", |
| ], |
| exclude = CONNECTED_TESTS, |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 4, |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "library-tests", |
| timeout = "long", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/library/*.java", |
| "src/test/java/com/android/build/gradle/integration/library/*.kt", |
| ], |
| exclude = CONNECTED_TESTS, |
| ), |
| data = TEST_DATA, |
| lint_baseline = "lint_baseline_library_tests.xml", |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:ksp_gradle_plugin", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 6, |
| deps = TEST_DEPS, |
| ) |
| |
| PRIVACY_SANDBOX_CONSUMPTION_TESTS = [ |
| "src/test/java/com/android/build/gradle/integration/privacysandbox/*Consumption*.java", |
| "src/test/java/com/android/build/gradle/integration/privacysandbox/*Consumption*.kt", |
| ] |
| |
| PRIVACY_SANDBOX_SDK_TO_SDK_TESTS = [ |
| "src/test/java/com/android/build/gradle/integration/privacysandbox/PrivacySandboxSdkToSdkTest.kt", |
| ] |
| |
| PRIVACY_SANDBOX_MAVEN_REPOS = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:ksp_gradle_plugin", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ] |
| |
| gradle_integration_test( |
| name = "privacy-sandbox-tests", |
| timeout = "long", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/privacysandbox/*.java", |
| "src/test/java/com/android/build/gradle/integration/privacysandbox/*.kt", |
| ], |
| exclude = CONNECTED_TESTS + PRIVACY_SANDBOX_CONSUMPTION_TESTS + PRIVACY_SANDBOX_SDK_TO_SDK_TESTS, |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = PRIVACY_SANDBOX_MAVEN_REPOS, |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 3, |
| deps = TEST_DEPS, |
| ) |
| |
| single_gradle_integration_test( |
| name = "PrivacySandboxSdkToSdkTest", |
| timeout = "long", |
| srcs = "src/test/java/com/android/build/gradle/integration/privacysandbox/", |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = PRIVACY_SANDBOX_MAVEN_REPOS, |
| resources = glob(["src/test/resources/**"]), |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "privacy-sandbox-consumption-tests", |
| timeout = "long", |
| srcs = glob( |
| PRIVACY_SANDBOX_CONSUMPTION_TESTS, |
| exclude = CONNECTED_TESTS, |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = PRIVACY_SANDBOX_MAVEN_REPOS, |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 2, |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "testing-tests", |
| timeout = "long", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/testing/testFixtures/*.java", |
| "src/test/java/com/android/build/gradle/integration/testing/testFixtures/*.kt", |
| "src/test/java/com/android/build/gradle/integration/testing/*.java", |
| "src/test/java/com/android/build/gradle/integration/testing/*.kt", |
| ], |
| exclude = CONNECTED_TESTS, |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 3, |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "screenshot-tests", |
| timeout = "long", |
| srcs = [ |
| "src/test/java/com/android/build/gradle/integration/testing/screenshot/ScreenshotTest.kt", |
| ], |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| "//tools/base/preview/screenshot:preview_screenshot_maven_repo", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| "//tools/base/build-system/integration-test/application:layoutlib_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_for_compose_prebuilts", |
| ], |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "mlkit-tests", |
| timeout = "long", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/mlkit/*.java", |
| "src/test/java/com/android/build/gradle/integration/mlkit/*.kt", |
| ], |
| exclude = CONNECTED_TESTS, |
| ), |
| data = TEST_DATA + [ |
| "//prebuilts/tools/common/mlkit/testData", |
| ], |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| deps = TEST_DEPS, |
| ) |
| |
| # These tests are split into a target per source due to b/175148611. |
| # It still helps to define these tests separately to use fewer dependencies. |
| single_gradle_integration_test_per_source( |
| name = "resources-tests", |
| package_name = "tools/base/build-system/integration-test/application", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/resources/*.java", |
| "src/test/java/com/android/build/gradle/integration/resources/*.kt", |
| ], |
| ), |
| data = TEST_DATA, |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:dagger_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| deps = TEST_DEPS, |
| ) |
| |
| gradle_integration_test( |
| name = "coupled_tests", |
| srcs = glob( |
| SOURCES_TO_COMPILE_TOGETHER, |
| ), |
| data = TEST_DATA, |
| lint_baseline = "lint_baseline_coupled_tests.xml", |
| #keep sorted |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:dagger_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 10, |
| deps = TEST_DEPS, |
| ) |
| |
| # Test that builds and lints all test projects, without any additional assertions. |
| gradle_integration_test( |
| name = "automatic-tests", |
| timeout = "long", |
| srcs = glob(CHECK_ALL_SOURCES), |
| data = AUTOMATIC_TEST_DATA, |
| #keep sorted |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_latest", |
| "//tools/base/build-system/integration-test:dagger_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_1_4_32_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_for_compose_prebuilts", |
| "//tools/base/build-system/integration-test:prefab_repo", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| shard_count = 10, # Keep this in sync with logic in our bazel launcher script and CheckAllRunner. |
| #keep sorted |
| tags = [ |
| "no_test_mac", # b/69151132 |
| ], |
| deps = TEST_DEPS, |
| ) |
| |
| # Test for kotlin multiplatform android prototype |
| gradle_integration_test( |
| name = "kotlin-multiplatform-android-tests", |
| timeout = "long", |
| srcs = glob( |
| [ |
| "src/test/java/com/android/build/gradle/integration/multiplatform/v2/**/*.kt", |
| ], |
| ), |
| data = TEST_DATA, |
| flaky = True, # b/329887373 |
| lint_baseline = "lint_baseline_kotlin_multiplatform_android_tests.xml", |
| #keep sorted |
| maven_repo_zips = [ |
| "//tools/base/build-system:android_gradle_plugin", |
| ], |
| maven_repos = [ |
| "//tools/base/build-system:android_gradle_plugin_runtime_dependencies", |
| "//tools/base/build-system/integration-test:androidx_test_latest", |
| "//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts", |
| "//tools/base/build-system/integration-test:support_library_latest", |
| "//tools/base/build-system/integration-test/application:prebuilts", |
| ], |
| resources = glob(["src/test/resources/**"]), |
| shard_count = 3, |
| #keep sorted |
| tags = [ |
| "no_test_mac", # b/69151132 |
| ], |
| deps = TEST_DEPS, |
| ) |
| |
| # Maven repo with all the dependencies required by test projects. |
| # |
| # Quick way of updating this list: |
| # - Run the new test with bazel |
| # - Copy the output log to $PWD/test.log |
| # - Run this command: |
| # grep -F '> Could not find' test.log \ |
| # | sed -e "s# *> Could not find \(.*\)\.#\1#" |
| # | sed -e 's#\(.*\):\(.*\):\(.*\)#"@maven//:\1.\2_\3",#' |
| # | sort | uniq |
| |
| maven_repository( |
| name = "prebuilts", |
| # keep sorted |
| artifacts = [ |
| "@maven//:androidx.activity.activity-compose_1.5.1", |
| "@maven//:androidx.annotation.annotation-jvm_1.6.0", |
| "@maven//:androidx.appcompat.appcompat_1.1.0", |
| "@maven//:androidx.appcompat.appcompat_1.3.0", |
| "@maven//:androidx.compose.compiler.compiler_1.5.11", |
| "@maven//:androidx.compose.material.material_1.3.0", |
| "@maven//:androidx.compose.ui.ui-tooling_1.3.0", |
| "@maven//:androidx.constraintlayout.constraintlayout_2.1.4", |
| "@maven//:androidx.fragment.fragment_1.3.0", |
| "@maven//:androidx.fragment.fragment_1.4.1", |
| "@maven//:androidx.leanback.leanback_1.0.0", |
| "@maven//:androidx.lifecycle.lifecycle-common-java8_2.4.0", |
| "@maven//:androidx.lifecycle.lifecycle-runtime-android_2.8.0-alpha02", |
| "@maven//:androidx.lifecycle.lifecycle-runtime-desktop_2.8.0-alpha02", |
| "@maven//:androidx.lifecycle.lifecycle-runtime_2.8.0-alpha02", |
| "@maven//:androidx.multidex.multidex-instrumentation_2.0.0", |
| "@maven//:androidx.multidex.multidex_2.0.0", |
| "@maven//:androidx.multidex.multidex_2.0.1", |
| "@maven//:androidx.navigation.navigation-fragment_2.0.0", |
| "@maven//:androidx.navigation.navigation-fragment_2.5.2", |
| "@maven//:androidx.navigation.navigation-safe-args-gradle-plugin_2.3.1", |
| "@maven//:androidx.navigation.navigation-safe-args-gradle-plugin_2.5.2", |
| "@maven//:androidx.privacysandbox.sdkruntime.sdkruntime-client_1.0.0-alpha13", |
| "@maven//:androidx.privacysandbox.sdkruntime.sdkruntime-core_1.0.0-alpha13", |
| "@maven//:androidx.privacysandbox.tools.tools-apicompiler_1.0.0-alpha08", |
| "@maven//:androidx.privacysandbox.tools.tools-apigenerator_1.0.0-alpha08", |
| "@maven//:androidx.privacysandbox.tools.tools-apipackager_1.0.0-alpha08", |
| "@maven//:androidx.privacysandbox.tools.tools_1.0.0-alpha08", |
| "@maven//:androidx.privacysandbox.ui.ui-client_1.0.0-alpha07", |
| "@maven//:androidx.privacysandbox.ui.ui-core_1.0.0-alpha07", |
| "@maven//:androidx.test.core_1.3.0", |
| "@maven//:androidx.test.core_1.4.0-alpha06", |
| "@maven//:androidx.test.espresso.espresso-core_3.2.0", |
| "@maven//:androidx.test.ext.junit_1.1.2", |
| "@maven//:androidx.test.ext.junit_1.1.3-alpha02", |
| "@maven//:androidx.test.rules_1.4.0-alpha06", |
| "@maven//:androidx.test.runner_1.4.0-alpha06", |
| "@maven//:com.android.support.constraint.constraint-layout_1.0.2", |
| "@maven//:com.android.support.multidex-instrumentation_1.0.2", |
| "@maven//:com.android.support.preference-v7_28.0.0", |
| "@maven//:com.android.support.support-v4_24.0.0", |
| "@maven//:com.android.support.test.espresso.espresso-core_3.0.2", |
| "@maven//:com.android.support.test.orchestrator_1.0.0", |
| "@maven//:com.android.tools.build.transform-api_1.5.0", |
| "@maven//:com.android.tools.desugar_jdk_libs_1.1.5", |
| "@maven//:com.android.tools.desugar_jdk_libs_nio_2.0.2", |
| "@maven//:com.crashlytics.sdk.android.crashlytics_2.6.8", |
| "@maven//:com.fasterxml.aalto-xml_1.3.0", |
| "@maven//:com.google.android.gms.play-services-base_15.0.1", |
| "@maven//:com.google.android.material.material_1.8.0", |
| "@maven//:com.google.android.material.material_1.9.0", |
| "@maven//:com.google.auto.service.auto-service_1.0-rc2", |
| "@maven//:com.google.firebase.firebase-crashlytics-gradle_2.5.1", |
| "@maven//:com.google.guava.guava_20.0", |
| "@maven//:com.google.guava.listenablefuture_1.0", |
| "@maven//:com.google.protobuf.protobuf-bom_3.21.8", |
| "@maven//:com.google.protobuf.protobuf-java-util_3.22.3", |
| "@maven//:com.google.protobuf.protobuf-java_3.22.3", |
| "@maven//:com.google.truth.truth_0.44", |
| "@maven//:com.googlecode.jarjar.jarjar_1.3", |
| "@maven//:com.jakewharton.butterknife-gradle-plugin_9.0.0-rc1", |
| "@maven//:com.jakewharton.butterknife-gradle-plugin_9.0.0-rc2", |
| "@maven//:com.jakewharton.butterknife_7.0.1", |
| "@maven//:com.squareup.dagger.dagger-compiler_1.2.2", |
| "@maven//:com.squareup.kotlinpoet_1.12.0", |
| "@maven//:javax.annotation.jsr250-api_1.0", |
| "@maven//:org.bouncycastle.bcprov-jdk16_1.46", |
| "@maven//:org.codehaus.mojo.animal-sniffer-annotations_1.19", |
| "@maven//:org.jacoco.org.jacoco.agent_0.7.4.201502262128", |
| "@maven//:org.jacoco.org.jacoco.agent_0.8.11", |
| "@maven//:org.jacoco.org.jacoco.agent_0.8.7", |
| "@maven//:org.jacoco.org.jacoco.ant_0.8.11", |
| "@maven//:org.jacoco.org.jacoco.ant_0.8.7", |
| "@maven//:org.javassist.javassist_3.26.0-GA", |
| "@maven//:org.jdeferred.jdeferred-android-aar_1.2.2", |
| "@maven//:org.jdeferred.jdeferred-android-aar_1.2.3", |
| "@maven//:org.jetbrains.dokka.javadoc-plugin_1.4.32", |
| "@maven//:org.jetbrains.kotlin.kotlin-compiler-embeddable_1.8.10", |
| "@maven//:org.jetbrains.kotlin.kotlin-test-junit", |
| "@maven//:org.jetbrains.kotlin.kotlin-test-junit_" + KGP_VERSION_FOR_TESTS, |
| "@maven//:androidx.appcompat.appcompat_1.6.1", |
| "@maven//:androidx.core.core-ktx_1.9.0", |
| "@maven//:androidx.legacy.legacy-support-v13_1.0.0", |
| "@maven//:androidx.legacy.legacy-support-v4_1.0.0", |
| "@maven//:androidx.media.media_1.6.0", |
| "@maven//:org.jetbrains.kotlinx.kotlinx-coroutines-android_1.7.1", |
| "@maven//:org.jetbrains.kotlinx.kotlinx-coroutines-core-common_1.3.6", |
| "@maven//:org.jetbrains.kotlinx.kotlinx-coroutines-core_1.6.3", |
| "@maven//:org.mockito.mockito-core_5.6.0", |
| "@maven//:org.robolectric.robolectric_4.8.2", |
| "@maven//:org.tensorflow.tensorflow-lite-metadata_0.1.0", |
| "@maven//:org.tensorflow.tensorflow-lite-support_0.1.0", |
| "@maven//:org.threeten.threetenbp_1.3.3", |
| ], |
| visibility = ["__subpackages__"], |
| ) |
| |
| maven_repository( |
| name = "layoutlib_prebuilts", |
| artifacts = [ |
| "@maven//:com.android.tools.layoutlib.layoutlib-resources_14.0.4", |
| "@maven//:com.android.tools.layoutlib.layoutlib-runtime_14.0.6", |
| "@maven//:com.android.tools.layoutlib.layoutlib_14.0.4", |
| ], |
| visibility = ["__subpackages__"], |
| ) |