blob: 1d5a28cf8140c91c327b7dd0f276439ea0ea1391 [file] [log] [blame]
load("//tools/base/bazel:maven.bzl", "maven_repository")
load("//tools/base/build-system/integration-test:common-dependencies.bzl", "KGP_VERSION_FOR_TESTS")
load("//tools/base/build-system/integration-test:integration-test.bzl", "gradle_integration_test")
#keep sorted
DATA = [
"//prebuilts/studio/jdk/jdk17:jdk17_runtime_files",
"//prebuilts/studio/sdk:build-tools/latest",
"//prebuilts/studio/sdk:platform-tools",
"//tools/base/build-system:gradle-distrib",
"//tools/base/build-system/integration-test:android_platform_for_tests",
]
# keep sorted
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/repository:tools.repository",
"//tools/base/sdk-common:tools.sdk-common",
"//tools/base/sdklib:tools.sdklib",
"//tools/base/testutils:tools.testutils",
]
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/lint:prebuilts",
"//tools/base/build-system/integration-test:support_library_latest",
"//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts",
]
LONG_RUNNING_TESTS = [
"src/test/java/com/android/build/gradle/integration/lint/AndroidLintAnalysisTaskTest.kt",
"src/test/java/com/android/build/gradle/integration/lint/LintFixTest.java",
"src/test/java/com/android/build/gradle/integration/lint/LintSystemPropertiesTest.kt",
"src/test/java/com/android/build/gradle/integration/lint/LintWithAnalyticsEnabledTest.kt",
]
KOTLIN_MULTIPLATFORM_TESTS = [
"src/test/java/com/android/build/gradle/integration/lint/KotlinMultiplatformAndroidLintTest.kt",
]
OOM_ERROR_TEST = ["src/test/java/com/android/build/gradle/integration/lint/LintErrorTest.kt"]
# create a bazel target for some long-running tests
gradle_integration_test(
name = "long-running-tests",
timeout = "long",
srcs = glob(
include = LONG_RUNNING_TESTS,
),
data = DATA + [
"//tools/base/build-system/integration-test:test-projects/lintKotlin",
],
maven_repo_zips = MAVEN_REPO_ZIPS,
maven_repos = MAVEN_REPOS,
deps = DEPS,
)
# create a separate bazel target for long-running KMP tests (b/281652623)
gradle_integration_test(
name = "kotlin-multiplatform-tests",
timeout = "long",
srcs = glob(
include = KOTLIN_MULTIPLATFORM_TESTS,
),
data = DATA + [
"//tools/base/build-system/integration-test:test-projects/kotlinMultiplatform",
],
maven_repo_zips = MAVEN_REPO_ZIPS,
maven_repos = MAVEN_REPOS,
shard_count = 2,
deps = DEPS,
)
gradle_integration_test(
name = "oom-error-test",
timeout = "moderate",
srcs = OOM_ERROR_TEST,
data = DATA,
maven_repo_zips = MAVEN_REPO_ZIPS,
maven_repos = MAVEN_REPOS,
deps = DEPS,
)
gradle_integration_test(
name = "tests",
timeout = "long",
srcs = glob(
[
"src/test/java/**/*.java",
"src/test/java/**/*.kt",
],
exclude = LONG_RUNNING_TESTS + KOTLIN_MULTIPLATFORM_TESTS + OOM_ERROR_TEST,
),
data = DATA + [
"//tools/base/build-system/integration-test:test-projects/dynamicApp",
"//tools/base/build-system/integration-test:test-projects/lintBaseline",
"//tools/base/build-system/integration-test:test-projects/lintCustomLocalAndPublishRules",
"//tools/base/build-system/integration-test:test-projects/lintCustomRules",
"//tools/base/build-system/integration-test:test-projects/lintDeps",
"//tools/base/build-system/integration-test:test-projects/lintDesugaring",
"//tools/base/build-system/integration-test:test-projects/lintInstantiate",
"//tools/base/build-system/integration-test:test-projects/lintKotlin",
"//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/lintNoJavaClasses",
"//tools/base/build-system/integration-test:test-projects/lintRelease",
"//tools/base/build-system/integration-test:test-projects/lintResourceResolve",
"//tools/base/build-system/integration-test:test-projects/lintStandalone",
"//tools/base/build-system/integration-test:test-projects/lintStandaloneCustomRules",
"//tools/base/build-system/integration-test:test-projects/lintStandaloneVital",
"//tools/base/build-system/integration-test:test-projects/lintSuppress",
"//tools/base/build-system/integration-test:test-projects/testFixturesApp",
],
lint_baseline = "lint_baseline.xml",
maven_repo_zips = MAVEN_REPO_ZIPS,
maven_repos = MAVEN_REPOS,
resources = glob(["src/test/resources/**"]),
shard_count = 10,
deps = DEPS,
)
maven_repository(
name = "prebuilts",
# keep sorted
artifacts = [
"@maven//:androidx.annotation.annotation_1.1.0",
"@maven//:androidx.appcompat.appcompat_1.6.1",
"@maven//:androidx.constraintlayout.constraintlayout_2.1.4",
"@maven//:androidx.core.core-ktx_1.9.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.runner_1.3.0",
"@maven//:androidx.test.runner_1.4.0-alpha06",
"@maven//:com.android.support.constraint.constraint-layout_1.0.2",
"@maven//:com.android.support.multidex_1.0.2",
"@maven//:com.android.support.test.espresso.espresso-core_3.0.2",
"@maven//:com.android.tools.desugar_jdk_libs_1.1.5",
"@maven//:com.google.guava.guava_19.0",
"@maven//:com.google.protobuf.protobuf-java-util_3.22.3",
"@maven//:com.google.truth.truth_0.44",
"@maven//:org.jetbrains.kotlin.kotlin-compiler-embeddable_1.7.10",
"@maven//:org.jetbrains.skiko.skiko-awt_0.7.7",
"@maven//:org.jetbrains.skiko.skiko_0.7.7",
"@maven//:org.jetbrains.kotlin.kotlin-test-junit_" + KGP_VERSION_FOR_TESTS,
"@maven//:org.jetbrains.kotlinx.kotlinx-coroutines-core_1.6.1",
],
)