| load("//tools/base/bazel:maven.bzl", "maven_repo") |
| load("//tools/base/bazel:kotlin.bzl", "kotlin_library", "kotlin_test", "kotlin_jar") |
| load("//tools/base/bazel:coverage.bzl", "coverage_java_test") |
| |
| #keep sorted |
| TEST_DEPS = [ |
| "//tools/base/annotations", |
| "//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/common:tools.common", |
| "//tools/base/ddmlib:tools.ddmlib", |
| "//tools/base/instant-run:instant-run-client", |
| "//tools/base/repository:tools.repository", |
| "//tools/base/sdk-common:tools.sdk-common", |
| "//tools/base/sdklib:tools.sdklib", |
| "//tools/base/testutils:tools.testutils", |
| "//tools/base/third_party:com.google.guava_guava", |
| "//tools/base/third_party:com.google.truth.extensions_truth-java8-extension", |
| "//tools/base/third_party:com.google.truth_truth", |
| "//tools/base/third_party:commons-io_commons-io", |
| "//tools/base/third_party:org.jetbrains.kotlin_kotlin-stdlib", |
| "//tools/base/third_party:org.jetbrains.kotlin_kotlin-test", |
| ] |
| |
| #keep sorted |
| TEST_DATA = [ |
| ":prebuilts.zip", |
| "//prebuilts/studio/sdk:build-tools/latest", |
| "//prebuilts/studio/sdk:platforms/android-27_build_only", |
| "//prebuilts/studio/sdk:platforms/android-28_build_only", |
| "//prebuilts/tools/common/kotlin-plugin:Kotlin/kotlinc/build.txt", |
| "//tools/base/build-system:gradle-distrib", |
| "//tools/base/build-system:gradle_plugin_repo.zip", |
| "//tools/base/build-system/integration-test:support_library_latest.zip", |
| "//tools/base/build-system/integration-test:test-projects/databinding", |
| "//tools/base/build-system/integration-test:test-projects/databindingAndDagger", |
| "//tools/base/build-system/integration-test:test-projects/databindingAndJetifier", |
| "//tools/base/build-system/integration-test:test-projects/databindingAndKotlin", |
| "//tools/base/build-system/integration-test:test-projects/databindingIncremental", |
| "//tools/base/build-system/integration-test:test-projects/databindingMultiModule", |
| "//tools/base/build-system/integration-test:test-projects/databindingWithFeatures", |
| "//tools/base/third_party/kotlin:kotlin-m2repository.zip", |
| "//tools/data-binding:data_binding_runtime.zip", |
| "//tools/data-binding:integration-test-projects", |
| "//tools/data-binding:integration-test-projects-support", |
| ] |
| |
| java_library( |
| name = "java_tests", |
| srcs = glob(["src/test/java/**/*.java"]), |
| resources = glob(["src/test/resources/**"]), |
| deps = TEST_DEPS, |
| ) |
| |
| kotlin_jar( |
| name = "kotlin_tests", |
| srcs = ["src/test/java"], |
| inputs = glob(["src/test/java/**/*.kt"]), |
| deps = TEST_DEPS, |
| ) |
| |
| coverage_java_test( |
| name = "tests", |
| timeout = "eternal", |
| data = TEST_DATA, |
| jvm_flags = [ |
| "-Dtest.suite.jar=tests.jar", |
| "-Dfile.encoding=UTF-8", |
| "-Dsun.jnu.encoding=UTF-8", |
| "-Dmaven.repo.local=/tmp/localMavenRepo", # For gradle publishing, writing to ~/.m2 |
| "-Dtest.android.build.gradle.integration.repos=tools/base/build-system/gradle_plugin_repo.zip,tools/base/build-system/integration-test/databinding/prebuilts.zip,tools/base/third_party/kotlin/kotlin-m2repository.zip,tools/data-binding/data_binding_runtime.zip,tools/base/build-system/integration-test/support_library_latest.zip", |
| ], |
| shard_count = 8, |
| tags = [ |
| "block-network", |
| "cpu:3", |
| "gradle_integration", |
| "no_test_mac", # b/69151132 Time out frequently when run on mac. |
| "no_test_windows", # b/73306170 |
| "slow", |
| ], |
| test_class = "com.android.build.gradle.integration.BazelIntegrationTestsSuite", |
| runtime_deps = [ |
| # Need to put this on the classpath before TestRunner_deploy.jar which contains |
| # old JUnit classes. See https://github.com/bazelbuild/bazel/issues/2146. |
| "//tools/base/third_party:junit_junit", |
| ":java_tests", |
| ":libkotlin_tests.jar", |
| ], |
| ) |
| |
| # Maven repo with dependencies required by data binding test projects. |
| # |
| # TODO: Clean this up to the minimum required for data binding. |
| maven_repo( |
| name = "prebuilts", |
| # keep sorted |
| artifacts = [ |
| "//prebuilts/tools/common/m2/repository/android/arch/core/common/1.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/android/arch/core/common/1.1.1:jar", |
| "//prebuilts/tools/common/m2/repository/android/arch/core/runtime/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/core/runtime/1.1.1:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/common/1.0.3:jar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/common/1.1.1:jar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/compiler/1.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/compiler/1.1.1:jar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/extensions/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/extensions/1.1.1:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/livedata-core/1.1.1:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/livedata/1.1.1:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/runtime/1.0.3:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/runtime/1.1.1:aar", |
| "//prebuilts/tools/common/m2/repository/android/arch/lifecycle/viewmodel/1.1.1:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/annotation/annotation/1.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/androidx/appcompat/appcompat/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/appcompat/appcompat/1.0.2:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/arch/core/core-common/2.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/androidx/arch/core/core-runtime/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/asynclayoutinflater/asynclayoutinflater/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/cardview/cardview/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/collection/collection/1.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/androidx/coordinatorlayout/coordinatorlayout/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/core/core/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/core/core/1.0.1:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/cursoradapter/cursoradapter/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/customview/customview/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/documentfile/documentfile/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/drawerlayout/drawerlayout/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/fragment/fragment/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/interpolator/interpolator/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/legacy/legacy-support-core-ui/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/legacy/legacy-support-core-utils/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-common/2.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-extensions/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-livedata-core/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-livedata/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-process/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-runtime/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-service/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/lifecycle/lifecycle-viewmodel/2.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/loader/loader/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/localbroadcastmanager/localbroadcastmanager/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/preference/preference/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/print/print/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/recyclerview/recyclerview/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/slidingpanelayout/slidingpanelayout/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/swiperefreshlayout/swiperefreshlayout/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/espresso/espresso-core/3.1.0-alpha2:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/espresso/espresso-core/3.1.0-alpha4:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/espresso/espresso-idling-resource/3.1.0-alpha2:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/espresso/espresso-idling-resource/3.1.0-alpha4:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/monitor/1.1.0-alpha2:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/monitor/1.1.0-alpha4:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/rules/1.1.0-alpha2:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/runner/1.1.0-alpha2:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/test/runner/1.1.0-alpha4:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/transition/transition/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/vectordrawable/vectordrawable-animated/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/vectordrawable/vectordrawable/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/versionedparcelable/versionedparcelable/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/androidx/viewpager/viewpager/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/animated-vector-drawable/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/animated-vector-drawable/27.1.1:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/appcompat-v7/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/asynclayoutinflater/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/cardview-v7/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/collections/28.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/constraint/constraint-layout-solver/1.0.2:jar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/constraint/constraint-layout/1.0.2:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/coordinatorlayout/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/cursoradapter/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/customview/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/documentfile/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/drawerlayout/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/interpolator/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/loader/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/localbroadcastmanager/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/print/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/slidingpanelayout/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-annotations/25.4.0:jar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-annotations/26.1.0:jar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-annotations/28.0.0:jar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-compat/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-compat/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-core-ui/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-core-ui/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-core-utils/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-core-utils/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-fragment/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-fragment/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-media-compat/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-media-compat/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-v4/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-v4/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/support-vector-drawable/26.1.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/swiperefreshlayout/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/test/espresso/espresso-core/3.0.1:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/test/espresso/espresso-idling-resource/3.0.1:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/test/orchestrator/1.0.0:apk", |
| "//prebuilts/tools/common/m2/repository/com/android/support/test/rules/1.0.1:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/test/runner/1.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/test/runner/1.0.1:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/test/services/test-services/1.0.0:apk", |
| "//prebuilts/tools/common/m2/repository/com/android/support/versionedparcelable/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/support/viewpager/28.0.0:aar", |
| "//prebuilts/tools/common/m2/repository/com/android/tools/build/transform-api/1.5.0:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/code/findbugs/jsr305/1.3.9:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/code/findbugs/jsr305/2.0.1:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/code/findbugs/jsr305/3.0.1:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/dagger/dagger-compiler/2.6:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/dagger/dagger-producers/2.6:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/dagger/dagger/2.6:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/dexmaker/dexmaker-mockito/1.2:jar", |
| "//prebuilts/tools/common/m2/repository/com/google/dexmaker/dexmaker/1.2:jar", |
| "//prebuilts/tools/common/m2/repository/com/squareup/javawriter/2.1.1:jar", |
| "//prebuilts/tools/common/m2/repository/javax/annotation/javax.annotation-api/1.2:jar", |
| "//prebuilts/tools/common/m2/repository/javax/annotation/jsr250-api/1.0:jar", |
| "//prebuilts/tools/common/m2/repository/junit/junit/4.11:jar", |
| "//prebuilts/tools/common/m2/repository/org/hamcrest/hamcrest-integration/1.3:jar", |
| "//prebuilts/tools/common/m2/repository/org/hamcrest/hamcrest-library/1.3:jar", |
| "//prebuilts/tools/common/m2/repository/org/mockito/mockito-core/1.9.5:jar", |
| "//prebuilts/tools/common/m2/repository/org/objenesis/objenesis/1.0:jar", |
| "//tools/base/testing-infrastructure/device-pool/device-provider", # TODO: decouple |
| "//tools/base/third_party:junit_junit", |
| ], |
| visibility = ["__subpackages__"], |
| ) |