| 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"], |
| ) |