blob: 560cc9e8facb26d1f591eb66a787a3584f032266 [file] [log] [blame]
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__"],
)