blob: f785c5621194818f74f8e859363132a0ef278d70 [file] [log] [blame]
load("@rules_java//java:defs.bzl", "java_binary")
load("//tools/base/bazel:bazel.bzl", "iml_module")
load("//tools/base/bazel:kotlin.bzl", "kotlin_library")
load("//tools/base/bazel:maven.bzl", "maven_repository")
# managed by go/iml_to_build
iml_module(
name = "intellij.android.ide-perf-tests",
iml_files = ["intellij.android.ide-perf-tests.iml"],
split_test_targets = {
"JetNewsBenchmark": {
"test_filter": "com.android.tools.idea.benchmarks.JetNewsBenchmark",
"tags": [
"cpu:3",
"noci:studio-win",
"noci:studio-linux",
"ci:perfgate-linux",
"ci:perfgate-win",
],
"additional_jvm_args": ["-Didea.kotlin.plugin.use.k2=false"],
},
"JetNewsBenchmark_k2": {
"test_filter": "com.android.tools.idea.benchmarks.JetNewsK2Benchmark",
"tags": [
"cpu:3",
"noci:studio-win",
"noci:studio-linux",
"ci:perfgate-linux",
"ci:perfgate-win",
],
"additional_jvm_args": ["-Didea.kotlin.plugin.use.k2=true"],
},
"SantaTrackerKotlinBenchmark": {
"test_filter": "com.android.tools.idea.benchmarks.SantaTrackerKotlinBenchmark",
"tags": [
"cpu:3",
"noci:studio-win",
"noci:studio-linux",
"ci:perfgate-linux",
"ci:perfgate-win",
],
"additional_jvm_args": ["-Didea.kotlin.plugin.use.k2=false"],
},
"SantaTrackerKotlinBenchmark_k2": {
"test_filter": "com.android.tools.idea.benchmarks.SantaTrackerKotlinK2Benchmark",
"tags": [
"cpu:3",
"noci:studio-win",
"noci:studio-linux",
"ci:perfgate-linux",
"ci:perfgate-win",
],
"additional_jvm_args": ["-Didea.kotlin.plugin.use.k2=true"],
},
"JetNewsProjectCheck": {
"test_filter": "com.android.tools.idea.benchmarks.tests.JetNewsBenchmarkTest",
"timeout": "long",
},
"MlModelBindingProjectCheck": {
"test_filter": "com.android.tools.idea.benchmarks.tests.MlModelBindingBenchmarkTest",
"timeout": "long",
},
"SantaTrackerKotlinProjectCheck": {
"test_filter": "com.android.tools.idea.benchmarks.tests.SantaTrackerKotlinBenchmarkTest",
"timeout": "long",
},
"SimpleHighlightingProjectCheck": {
"test_filter": "com.android.tools.idea.benchmarks.tests.SimpleHighlightingBenchmarkTest",
"timeout": "long",
},
"other": {
"tags": [
"cpu:3",
"noci:studio-win",
"noci:studio-linux",
"ci:perfgate-linux",
"ci:perfgate-win",
],
},
},
test_class = "com.android.tools.idea.benchmarks.IdeBenchmarkTestSuite",
# keep sorted
test_data = [
":test_deps",
"//prebuilts/studio/buildbenchmarks:JetNews_project",
"//prebuilts/studio/buildbenchmarks:SantaTrackerKotlin_project",
"//prebuilts/studio/layoutlib/data:framework_res.jar",
"//prebuilts/studio/sdk:build-tools/latest",
"//prebuilts/studio/sdk:platform-tools",
"//prebuilts/studio/sdk:platforms/latest",
"//prebuilts/tools/common/mlkit/testData",
"//tools/adt/idea/android/annotations",
"//tools/adt/idea/android/testData",
"//tools/adt/idea/ide-perf-tests/testData",
"//tools/base/build-system:android_gradle_plugin.zip",
"//tools/base/build-system:android_gradle_plugin_runtime_dependencies",
"//tools/base/build-system:gradle-distrib",
"//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts",
],
# do not sort: must match IML order
test_deps = [
"//tools/adt/idea/.idea/libraries:junit4",
"//tools/adt/idea/android-test-framework:intellij.android.testFramework",
"//tools/base/perf-logger:studio.perf-logger",
"//tools/adt/idea/android:intellij.android.core",
"//tools/adt/idea/adt-testutils:intellij.android.adt.testutils",
"//tools/base/testutils:studio.android.sdktools.testutils",
"//tools/adt/idea/android-plugin:intellij.android.plugin",
"//tools/adt/idea/.idea/libraries:truth",
],
test_srcs = ["testSrc"],
test_timeout = "eternal",
visibility = ["//visibility:public"],
# do not sort: must match IML order
deps = [
"@intellij//:intellij-sdk",
"@intellij//:com.intellij.java",
"@intellij//:com.intellij.gradle",
"@intellij//:org.jetbrains.kotlin",
"@intellij//:org.toml.lang",
],
)
# TODO (b/191383051): Trim artifacts down to what is actually used.
maven_repository(
name = "test_deps",
# keep sorted: for buildifier
artifacts = [
"@maven//:android.arch.navigation.navigation-fragment_1.0.0",
"@maven//:android.arch.navigation.navigation-ui_1.0.0",
"@maven//:android.arch.persistence.room.runtime_1.0.0",
"@maven//:androidx.annotation.annotation_1.6.0",
"@maven//:androidx.appcompat.appcompat_1.0.2",
"@maven//:androidx.appcompat.appcompat_1.3.0",
"@maven//:androidx.benchmark.benchmark-gradle-plugin_1.2.4",
"@maven//:androidx.collection.collection_1.4.0",
"@maven//:androidx.compose.compiler.compiler_1.2.0",
"@maven//:androidx.compose.ui.ui-test-junit4_1.2.0",
"@maven//:androidx.compose.ui.ui-tooling_1.2.0",
"@maven//:androidx.constraintlayout.constraintlayout_1.1.3",
"@maven//:androidx.constraintlayout.constraintlayout_2.1.3",
"@maven//:androidx.core.core-ktx_1.0.1",
"@maven//:androidx.core.core-ktx_1.2.0",
"@maven//:androidx.core.core-ktx_1.3.0",
"@maven//:androidx.core.core-ktx_1.3.2",
"@maven//:androidx.core.core-ktx_1.6.0",
"@maven//:androidx.core.core_1.5.0-beta01",
"@maven//:androidx.core.core_1.5.0-rc02",
"@maven//:androidx.fragment.fragment_1.3.0",
"@maven//:androidx.fragment.fragment_1.3.0-rc01",
"@maven//:androidx.leanback.leanback_1.0.0",
"@maven//:androidx.legacy.legacy-support-v13_1.0.0",
"@maven//:androidx.lifecycle.lifecycle-extensions_2.2.0",
"@maven//:androidx.lifecycle.lifecycle-livedata-ktx_2.3.1",
"@maven//:androidx.media.media_1.6.0",
"@maven//:androidx.navigation.navigation-fragment-ktx_2.3.5",
"@maven//:androidx.navigation.navigation-safe-args-gradle-plugin_2.5.3",
"@maven//:androidx.navigation.navigation-ui-ktx_2.3.5",
"@maven//:androidx.palette.palette-ktx_1.0.0",
"@maven//:androidx.recyclerview.recyclerview_1.3.0",
"@maven//:androidx.slice.slice-builders_1.0.0",
"@maven//:androidx.test.espresso.espresso-core_3.1.0",
"@maven//:androidx.test.espresso.espresso-core_3.2.0",
"@maven//:androidx.test.ext.junit_1.1.5",
"@maven//:androidx.wear.wear_1.2.0",
"@maven//:com.android.support.appcompat-v7_25.4.0",
"@maven//:com.android.support.constraint.constraint-layout_1.0.2",
"@maven//:com.android.support.constraint.constraint-layout_1.1.0",
"@maven//:com.android.support.constraint.constraint-layout_1.1.3",
"@maven//:com.android.support.constraint.constraint-layout_2.0.4",
"@maven//:com.android.support.multidex-instrumentation_1.0.2",
"@maven//:com.android.support.multidex_1.0.1",
"@maven//:com.android.support.recyclerview-v7_27.1.1",
"@maven//:com.android.support.support-v13_28.0.0",
"@maven//:com.android.support.support-v4_27.1.1",
"@maven//:com.android.support.test.espresso.espresso-core_3.0.2",
"@maven//:com.android.tools.desugar_jdk_libs_1.0.5",
"@maven//:com.android.tools.lint.lint-checks_26.5.0",
"@maven//:com.github.bumptech.glide.glide_4.11.0",
"@maven//:com.google.android.gms.play-services-ads_21.5.0",
"@maven//:com.google.android.gms.play-services-base_17.6.0",
"@maven//:com.google.android.gms.play-services-gass_20.0.0",
"@maven//:com.google.android.gms.play-services-maps_17.0.1",
"@maven//:com.google.android.gms.play-services-wearable_18.0.0",
"@maven//:com.google.android.libraries.mapsplatform.secrets-gradle-plugin.secrets-gradle-plugin_2.0.1",
"@maven//:com.google.android.material.material_1.1.0",
"@maven//:com.google.android.material.material_1.3.0",
"@maven//:com.google.android.material.material_1.4.0",
"@maven//:com.google.android.support.wearable_2.9.0",
"@maven//:com.google.android.wearable.wearable_2.9.0",
"@maven//:com.google.auto.value.auto-value_1.6.2",
"@maven//:com.google.code.gson.gson_2.2.4",
"@maven//:com.google.code.gson.gson_2.6.2",
"@maven//:com.google.dagger.dagger-compiler_2.6",
"@maven//:com.google.firebase.firebase-common_12.0.1",
"@maven//:com.google.guava.guava_28.2-jre",
"@maven//:com.linkedin.testbutler.test-butler-app_1.3.1",
"@maven//:commons-lang.commons-lang_2.4",
"@maven//:commons-logging.commons-logging_1.1.1",
"@maven//:javax.annotation.javax.annotation-api_1.2",
"@maven//:junit.junit_4.13.2",
"@maven//:org.jdeferred.jdeferred-android-aar_1.2.3",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib-common_2.0.21",
"@maven//:org.jetbrains.kotlin.plugin.parcelize.org.jetbrains.kotlin.plugin.parcelize.gradle.plugin_2.2.20-RC", # Used by com.android.tools.idea.benchmarks.tests.JetNewsBenchmarkTest
"@maven//:org.mockito.mockito-core_5.12.0",
],
)
java_binary(
name = "ide_perf_summary_tool",
testonly = True,
main_class = "com.android.tools.idea.ideperftests.IdePerfSummaryTool",
runtime_deps = [":ide_perf_summary_lib"],
)
kotlin_library(
name = "ide_perf_summary_lib",
srcs = ["src/com/android/tools/idea/ideperftests/IdePerfSummaryTool.kt"],
deps = ["@maven//:com.google.code.gson.gson"],
)