blob: f6a3c1b99c4e73cfbf2e61bc3e58f47e19c403f0 [file] [log] [blame]
load("@rules_java//java:defs.bzl", "java_binary")
load("//tools/adt/idea/android-test-framework:check_tests.bzl", "check_tests")
load("//tools/adt/idea/studio:studio.bzl", "studio_data")
load("//tools/base/bazel:bazel.bzl", "iml_module")
load("//tools/base/bazel:jvm_import.bzl", "jvm_import")
load("//tools/base/bazel:kotlin.bzl", "kotlin_library")
load("//tools/base/bazel:maven.bzl", "maven_repository")
load("//tools/base/bazel:proto.bzl", "studio_java_proto_library")
studio_java_proto_library(
name = "android-core-proto",
srcs = glob(["proto/main/*.proto"]),
visibility = ["//visibility:public"],
)
studio_java_proto_library(
name = "android-core-proto-test",
srcs = glob(["proto/test/*.proto"]),
visibility = ["//visibility:public"],
)
# managed by go/iml_to_build
iml_module(
name = "intellij.android.core",
srcs = ["src"],
iml_files = ["intellij.android.core.iml"],
javacopts_from_jps = [
"--add-exports",
"java.desktop/sun.swing=ALL-UNNAMED",
"--add-exports",
"java.desktop/sun.awt.image=ALL-UNNAMED",
"--add-exports",
"jdk.attach/sun.tools.attach=ALL-UNNAMED",
],
lint_baseline = "lint_baseline.xml",
lint_timeout = "long",
resources = ["resources"],
visibility = ["//visibility:public"],
exports = ["//tools/adt/idea/build-common:intellij.android.buildCommon"],
# do not sort: must match IML order
deps = [
"@intellij//:intellij-sdk",
"@intellij//:com.intellij.java",
"@intellij//:com.intellij.gradle",
"//tools/adt/idea/analytics",
"//tools/analytics-library/publisher:analytics-publisher",
"//tools/adt/idea/build-common:intellij.android.buildCommon",
"//tools/adt/idea/android-common:intellij.android.common",
"//tools/adt/idea/jps-model:intellij.android.jps.model",
"//tools/adt/idea/rt:intellij.android.rt",
"//tools/base/draw9patch:studio.android.sdktools.draw9patch",
"//tools/base/build-system:studio.android.sdktools.manifest-merger",
"//tools/base/perflib:studio.android.sdktools.perflib",
"//tools/adt/idea/adt-ui:intellij.android.adt.ui",
"//tools/adt/idea/adt-ui-model:intellij.android.adt.ui.model",
"//tools/base/repository:studio.android.sdktools.repository",
"//tools/data-binding:studio.baseLibrary",
"//tools/data-binding:studio.baseLibrarySupport",
"//tools/data-binding:studio.compilerCommon",
"//tools/data-binding:studio.compiler",
"//tools/adt/idea/layoutlib-loader:intellij.android.layoutlib-loader",
"//tools/adt/idea/.idea/libraries:google-baksmali",
"//tools/adt/idea/.idea/libraries:google-dexlib2",
"//tools/base/apkparser:studio.android.sdktools.binary-resources",
"//tools/base/apkparser/analyzer:studio.android.sdktools.analyzer",
"//tools/base/pixelprobe:studio.android.sdktools.pixelprobe",
"//tools/analytics-library/tracker:analytics-tracker",
"//tools/analytics-library/shared:analytics-shared",
"//tools/base/common:studio.android.sdktools.common",
"//tools/adt/idea/observable:intellij.android.observable",
"//tools/adt/idea/wizard:intellij.android.wizard",
"//tools/adt/idea/wizard-model:intellij.android.wizard.model",
"//tools/adt/idea/smali:intellij.android.smali",
"//tools/base/sdk-common:studio.android.sdktools.sdk-common",
"//tools/base/layoutlib-api:studio.android.sdktools.layoutlib-api",
"//tools/base/flags:studio.android.sdktools.flags",
"//tools/adt/idea/observable-ui:intellij.android.observable.ui",
"//tools/adt/idea/artwork:intellij.android.artwork",
"//tools/adt/idea/project-system:intellij.android.projectSystem",
"//tools/adt/idea/apkanalyzer:intellij.android.apkanalyzer",
"//tools/adt/idea/android-lang:intellij.android.lang",
"//tools/adt/idea/backup:intellij.android.backup.api",
"//tools/adt/idea/android-adb:intellij.android.adb",
"//tools/adt/idea/android/lib:instantapps-api",
"//tools/analytics-library/crash:analytics-crash",
"//tools/adt/idea/.idea/libraries:aapt-proto",
"//tools/adt/idea/.idea/libraries:emulator-proto",
"//tools/adt/idea/.idea/libraries:studio-analytics-proto",
"//tools/adt/idea/.idea/libraries:HdrHistogram",
"//tools/adt/idea/deploy:intellij.android.deploy",
"//tools/base/deploy/deployer:studio.android.sdktools.deployer",
"//tools/base/resource-repository:studio.android.sdktools.resource-repository",
"//tools/base/tracer:studio.android.sdktools.tracer",
"//tools/adt/idea/.idea/libraries:studio-proto",
"//tools/adt/idea/.idea/libraries:perfetto-proto",
"//tools/base/wizard/template-plugin:studio.intellij.android.wizardTemplate.plugin",
"//tools/adt/idea/lint:intellij.lint",
"//tools/adt/idea/.idea/libraries:utp-core-proto-jarjar",
"//tools/adt/idea/.idea/libraries:android-test-plugin-host-device-info-proto",
"//tools/adt/idea/android:libandroid-core-proto",
"//tools/base/zipflinger:studio.android.sdktools.zipflinger",
"//tools/adt/idea/project-system-gradle-models:intellij.android.projectSystem.gradle.models",
"//tools/adt/idea/project-system-gradle-sync:intellij.android.projectSystem.gradle.sync",
"//tools/adt/idea/intellij.android.compose-common",
"//tools/adt/idea/server-flags:intellij.android.server-flags",
"@intellij//:org.jetbrains.kotlin",
"@intellij//:org.jetbrains.plugins.gradle",
"@intellij//:org.intellij.groovy",
"@intellij//:com.intellij.properties",
"@intellij//:JUnit",
"@intellij//:com.intellij.platform.images",
"@intellij//:intellij.webp",
"//tools/adt/idea/utp",
"//tools/base/sdklib:studio.android.sdktools.sdklib",
"//tools/base/lint:studio.android.sdktools.lint-checks",
"//tools/base/manifest-parser:studio.android.sdktools.manifest-parser",
"//tools/base/threading-agent-callback:studio.android.sdktools.threading-agent-callback",
"//tools/adt/idea/threading-checker:intellij.android.threading-checker",
"//tools/base/adblib-tools:studio.android.sdktools.adblib.tools",
"//tools/base/adblib:studio.android.sdktools.adblib",
"//tools/base/device-provisioner:studio.android.sdktools.device-provisioner",
"//tools/adt/idea/execution/common:intellij.android.execution.common",
"//tools/base/process-monitor:studio.android.sdktools.process-monitor",
"//tools/adt/idea/render-resources:intellij.android.render-resources",
"//prebuilts/r8",
"//tools/adt/idea/rendering:intellij.android.rendering",
"//tools/adt/idea/preview-elements:intellij.android.preview-elements",
"//tools/base/environment-services:studio.intellij.android.environment-services",
"//tools/adt/idea/.idea/libraries:libadb-server-proto",
"//tools/adt/idea/preview-fast-compile:intellij.android.preview-fast-compile",
"//tools/adt/idea/completion:intellij.android.completion",
"//tools/base/backup:studio.android.sdktools.backup",
"@intellij//:intellij.json.split",
"//tools/adt/idea/testartifacts:intellij.android.testartifacts",
"//tools/adt/idea/gradle-dsl-flags:intellij.android.gradle.dsl.flags",
],
)
# managed by go/iml_to_build
iml_module(
name = "intellij.android.core.tests",
iml_files = ["intellij.android.core.tests.iml"],
test_class = "com.android.tools.idea.IdeaTestSuite",
# keep sorted
test_data = [
":test_deps",
"//prebuilts/studio/jdk/jdk11:jdk_runtime_files",
"//prebuilts/studio/jdk/jdk8:jdk_runtime_files",
"//prebuilts/studio/layoutlib:runtime",
"//prebuilts/studio/layoutlib/data:framework_res.jar",
"//prebuilts/studio/layoutlib/data:layoutlib_extensions",
"//prebuilts/studio/sdk:build-tools/latest",
"//prebuilts/studio/sdk:cmake",
"//prebuilts/studio/sdk:docs",
"//prebuilts/studio/sdk:licenses",
"//prebuilts/studio/sdk:platform-tools",
"//prebuilts/studio/sdk:platforms/latest",
"//prebuilts/studio/sdk:platforms/latest-preview",
"//prebuilts/studio/sdk:sources",
"//tools/adt/idea/android/annotations",
"//tools/adt/idea/android/lib:apks",
"//tools/adt/idea/android/lib:sampleData",
"//tools/adt/idea/android/native/diagnostics/heap:libjni_object_tagger.prebuilt",
"//tools/adt/idea/android/testData",
"//tools/adt/idea/artwork:device-art-resources",
"//tools/adt/idea/compose-ide-plugin/testData",
"//tools/base/build-system:android_gradle_plugin.zip", # Please do not add old versions of AGP here. Use the old-agp-tests module instead.
"//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",
"//tools/base/resource-repository/test/resources",
"//tools/base/third_party/kotlin:kotlin-m2repository",
],
# do not sort: must match IML order
test_deps = [
"//tools/adt/idea/.idea/libraries:junit4",
"//tools/adt/idea/.idea/libraries:kotlin-test",
"//tools/adt/idea/android:intellij.android.core",
"//tools/adt/idea/adt-ui:intellij.android.adt.ui",
"//tools/adt/idea/adt-ui-model:intellij.android.adt.ui.model",
"//tools/adt/idea/.idea/libraries:mockito",
"//tools/adt/idea/.idea/libraries:truth",
"//tools/base/testutils:studio.android.sdktools.testutils",
"//tools/adt/idea/observable:intellij.android.observable",
"//tools/base/common:studio.android.sdktools.common",
"//tools/base/build-system:studio.android.sdktools.manifest-merger",
"//tools/base/resource-repository:studio.android.sdktools.resource-repository",
"//tools/adt/idea/layoutlib-loader:intellij.android.layoutlib-loader",
"//tools/adt/idea/.idea/libraries:google-dexlib2",
"//tools/adt/idea/android-test-framework:intellij.android.testFramework",
"//tools/analytics-library/shared:analytics-shared",
"//tools/analytics-library/testing:android.sdktools.analytics-testing",
"//tools/analytics-library/tracker:analytics-tracker",
"//tools/adt/idea/wizard:intellij.android.wizard",
"//tools/adt/idea/wizard-model:intellij.android.wizard.model",
"//tools/adt/idea/.idea/libraries:guava-testlib",
"//tools/base/fakeadbserver:studio.android.sdktools.fakeadbserver",
"//tools/adt/idea/sdk-updates:intellij.android.sdkUpdates",
"//tools/adt/idea/gradle-tooling/studio-gradle-tooling-api:intellij.android.gradle-tooling.api",
"//tools/adt/idea/.idea/libraries:equalsverifier",
"//tools/base/apkparser/analyzer:studio.android.sdktools.analyzer",
"//tools/base/sdk-common:studio.android.sdktools.sdk-common",
"//tools/base/flags:studio.android.sdktools.flags",
"//tools/adt/idea/artwork:intellij.android.artwork",
"//tools/adt/idea/android-common:intellij.android.common",
"//tools/adt/idea/jps-model:intellij.android.jps.model",
"//tools/adt/idea/apkanalyzer:intellij.android.apkanalyzer",
"//tools/adt/idea/.idea/libraries:sqlite",
"//tools/adt/idea/project-system:intellij.android.projectSystem",
"//tools/adt/idea/android-adb:intellij.android.adb",
"//tools/adt/idea/project-system-gradle:intellij.android.projectSystem.gradle",
"//tools/adt/idea/adt-testutils:intellij.android.adt.testutils",
"//tools/adt/idea/android-lang:intellij.android.lang",
"//tools/analytics-library/crash:analytics-crash",
"//tools/adt/idea/.idea/libraries:jimfs",
"//tools/adt/idea/android-kotlin:intellij.android.kotlin.idea",
"//tools/adt/idea/android-kotlin:intellij.android.kotlin.output.parser",
"//tools/adt/idea/deploy:intellij.android.deploy",
"//tools/base/perf-logger:studio.perf-logger",
"//tools/base/wizard/template-plugin:studio.intellij.android.wizardTemplate.plugin",
"//tools/base/wizard/template-impl:studio.intellij.android.wizardTemplate.impl",
"//tools/adt/idea/lint:intellij.lint",
"//tools/adt/idea/android:libandroid-core-proto-test",
"@intellij//:com.intellij.java.ide",
"@intellij//:com.intellij.java-i18n",
"//tools/adt/idea/project-system-gradle-models:intellij.android.projectSystem.gradle.models",
"//tools/adt/idea/project-system-gradle-repository-search:intellij.android.projectSystem.gradle.repositorySearch",
"//tools/adt/idea/project-system-gradle-sync:intellij.android.projectSystem.gradle.sync",
"//tools/adt/idea/project-system-gradle-upgrade:intellij.android.projectSystem.gradle.upgrade",
"//tools/adt/idea/utp",
"//tools/adt/idea/layoutlib:intellij.android.layoutlib",
"//tools/adt/idea/.idea/libraries:layoutlib",
"//tools/base/lint:studio.android.sdktools.lint-checks",
"//tools/adt/idea/intellij.android.compose-common",
"//tools/base/common:studio.android.sdktools.common.testfixtures",
"@intellij//:org.jetbrains.plugins.gradle",
"//tools/base/deploy/deployer:studio.android.sdktools.deployer",
"//tools/adt/idea/android-lint:intellij.android.lint",
"//tools/adt/idea/android-navigator:intellij.android.navigator",
"//tools/adt/idea/android-navigator:intellij.android.navigator.testutils",
"//tools/base/threading-agent-callback:studio.android.sdktools.threading-agent-callback",
"//tools/adt/idea/compose-ide-plugin:intellij.android.compose-ide-plugin",
"//tools/adt/idea/execution/common:intellij.android.execution.common",
"@intellij//:Coverage",
"//tools/adt/idea/.idea/libraries:jetbrains.kotlinx.coroutines.test",
"//tools/adt/idea/render-resources:intellij.android.render-resources",
"//tools/adt/idea/streaming:intellij.android.streaming",
"//tools/adt/idea/rendering:intellij.android.rendering",
"//tools/adt/idea/analytics",
"//tools/base/device-provisioner:studio.android.sdktools.device-provisioner",
"//tools/base/adblib:studio.android.sdktools.adblib",
"//tools/adt/idea/preview-elements:intellij.android.preview-elements",
"//tools/base/environment-services:studio.intellij.android.environment-services",
"//tools/adt/idea/preview-fast-compile:intellij.android.preview-fast-compile",
"//tools/adt/idea/.idea/libraries:mockito-kotlin",
],
test_friends = ["//tools/adt/idea/android:intellij.android.core"],
test_jvm_flags = [
"-Djdk.attach.allowAttachSelf=true",
],
test_resources = ["testResources"],
test_shard_count = 5,
test_srcs = ["testSrc"],
test_tags = [
"block-network",
"cpu:3",
],
test_timeout = "long",
visibility = ["//visibility:public"],
# do not sort: must match IML order
deps = [
"@intellij//:intellij-sdk",
"@intellij//:com.intellij.java",
"@intellij//:com.intellij.gradle",
"//tools/adt/idea/android/lib:instantapps-api",
"//tools/adt/idea/.idea/libraries:aapt-proto",
"//tools/adt/idea/.idea/libraries:emulator-proto",
"//tools/adt/idea/.idea/libraries:studio-analytics-proto",
"//tools/adt/idea/.idea/libraries:studio-proto",
"//tools/adt/idea/app-inspection/inspectors/database:app-inspection.inspectors.database",
"//tools/adt/idea/gradle-dsl:intellij.android.gradle.dsl.testutils",
"//tools/adt/idea/project-system-gradle-psd:intellij.android.projectSystem.gradle.psd",
"//tools/base/build-system/builder-model:studio.android.sdktools.builder-model",
"//tools/adt/idea/.idea/libraries:utp-core-proto-jarjar",
"//tools/adt/idea/.idea/libraries:android-test-plugin-host-device-info-proto",
"//tools/adt/idea/android:libandroid-core-proto",
"//tools/adt/idea/server-flags:intellij.android.server-flags",
"@intellij//:org.jetbrains.kotlin",
"@intellij//:org.intellij.groovy",
"@intellij//:JUnit",
"@intellij//:com.intellij.properties",
"@intellij//:com.intellij.platform.images",
"//tools/base/manifest-parser:studio.android.sdktools.manifest-parser",
],
)
filegroup(
name = "profiler-artifacts",
srcs = [
"//tools/base/profiler/app:perfa.jar",
"//tools/base/profiler/transform:profilers-transform.jar",
],
visibility = ["//visibility:public"],
)
filegroup(
name = "deploy-artifacts",
srcs = select({
"@platforms//os:windows": [
"//tools/base/deploy/installer:android-installer",
"//tools/base/deploy/installer/tests:fake_device_proto",
],
"//conditions:default": [
"//tools/base/deploy/installer:android-installer",
"//tools/base/deploy/installer:test-installer",
"//tools/base/deploy/installer/tests:artifacts",
],
}),
visibility = ["//visibility:public"],
)
filegroup(
name = "transport-artifacts",
srcs = [
"//tools/base/transport:android",
"//tools/base/transport/native/agent:android",
],
visibility = ["//visibility:public"],
)
filegroup(
name = "app-inspection-artifacts",
srcs = [
"//prebuilts/tools/common/app-inspection/androidx/sqlite:sqlite_inspector_proto",
"//tools/base/app-inspection/inspectors/backgroundtask:agent",
"//tools/base/app-inspection/inspectors/database:agent",
"//tools/base/app-inspection/inspectors/network:agent",
],
visibility = ["//visibility:public"],
)
# This is the list of targets that is built as a prebuild step when building Studio from the IDE.
# It build `jps_artifacts` which is the autogenerated list of iml dependencies that are not part
# of the jps build graph, and a bunch of nice to have utilities (agents, native code, etc)
# that are very useful to have in sync when building Studio from the IDE.
filegroup(
name = "artifacts",
srcs = [
":app-inspection-artifacts",
":deploy-artifacts",
":jps_artifacts",
":profiler-artifacts",
":transport-artifacts",
"//tools/adt/idea/as-driver:asdriver.plugin",
"//tools/adt/idea/streaming/screen-sharing-agent:bundle",
"//tools/adt/idea/studio:default_user_jvm_args",
"//tools/adt/idea/studio:required_jvm_args",
"//tools/adt/idea/swingp:swing-instrumenter_deploy.jarjar.jar",
"//tools/base/adb-proxy/reverse-daemon:daemon",
"//tools/base/build-system:gradle-api_neverlink", # Provided when run in Gradle.
"//tools/base/ddmlib:adb-server-proto",
"//tools/base/dynamic-layout-inspector/agent/appinspection:agent",
"//tools/base/lint:lint-checks-proto",
"//tools/base/process-monitor/process-tracker-agent:bundle",
"//tools/base/third_party/kotlin:kotlin-m2repository",
"//tools/base/threading-agent:threading_agent.jar",
"//tools/base/tracer:trace_agent",
"//tools/vendor/google/ml/aiplugin/ij-platform/atlas:atlas_artifacts",
"//tools/vendor/google/uiautomator-recorder:recorder",
] + select({
"@platforms//os:windows": [],
"//conditions:default": [
"//tools/adt/idea/bleak/native:jnibleakhelper",
],
}),
visibility = ["//tools/base/bazel:__pkg__"],
)
# managed by go/iml_to_build
filegroup(
name = "jps_artifacts",
# do not sort: must match IML order
srcs = [
"//tools/adt/idea/.idea/libraries:agp-version",
"//tools/adt/idea/.idea/libraries:android-test-plugin-host-device-info-proto",
"//tools/adt/idea/.idea/libraries:emulator-proto",
"//tools/adt/idea/.idea/libraries:gradle-shared-proto",
"//tools/adt/idea/.idea/libraries:kotlin-multiplatform-android-models-proto",
"//tools/adt/idea/.idea/libraries:layoutinspector-skia-proto",
"//tools/adt/idea/.idea/libraries:layoutinspector-view-proto",
"//tools/adt/idea/.idea/libraries:libadb-server-proto",
"//tools/adt/idea/.idea/libraries:libadblib-tools-proto",
"//tools/adt/idea/.idea/libraries:libam-instrumentation-data-proto",
"//tools/adt/idea/.idea/libraries:network_inspector_java_proto",
"//tools/adt/idea/.idea/libraries:perfetto-proto",
"//tools/adt/idea/.idea/libraries:sqlite-inspector-proto",
"//tools/adt/idea/.idea/libraries:studio-analytics-proto",
"//tools/adt/idea/.idea/libraries:studio-grpc",
"//tools/adt/idea/.idea/libraries:studio-proto",
"//tools/adt/idea/.idea/libraries:transport-proto",
"//tools/adt/idea/.idea/libraries:utp-core-proto-jarjar",
"//tools/adt/idea/android-common:libandroid-core-proto",
"//tools/adt/idea/android/diagnostics:libandroid-core-proto",
"//tools/adt/idea/android/gradle:libandroid-core-proto",
"//tools/adt/idea/android:libandroid-core-proto",
"//tools/adt/idea/android:libandroid-core-proto-test",
"//tools/adt/idea/app-inspection/inspectors/backgroundtask/model:background-inspector-proto",
"//tools/adt/idea/app-inspection/inspectors/backgroundtask/model:workmanager-inspector-proto",
"//tools/adt/idea/app-inspection/inspectors/backgroundtask/view:background-inspector-proto",
"//tools/adt/idea/app-inspection/inspectors/backgroundtask/view:workmanager-inspector-proto",
"//tools/adt/idea/app-quality-insights/api:libandroid-core-proto",
"//tools/adt/idea/app-quality-insights/play-vitals/model:libplay_vitals_java_proto",
"//tools/adt/idea/as-driver:asdriver_proto",
"//tools/adt/idea/as-driver:librunfiles",
"//tools/adt/idea/build-attribution:build-analysis-results-proto",
"//tools/adt/idea/debuggers:libjava_sites",
"//tools/adt/idea/logcat:logcat-proto",
"//tools/adt/idea/profilers-android:traceprocessor-proto",
"//tools/adt/idea/profilers-ui:traceprocessor-proto",
"//tools/adt/idea/profilers:traceprocessor-proto",
"//tools/adt/idea/project-system-gradle-psd:liblint-checks-proto.lib",
"//tools/adt/idea/project-system-gradle:libandroid-core-proto",
"//tools/adt/idea/server-flags:libserver-flag-test-proto",
"//tools/adt/idea/utp:libstudio.android-test-plugin-result-listener-gradle-proto",
"//tools/base/adb-proxy:adb_proxy_proto",
"//tools/base/deploy/deployer:deploy_java_proto",
"//tools/base/deploy/deployer:fake_device_proto",
"//tools/base/deploy/deployer:libjava_sites",
"//tools/base/deploy/deployer:libjava_version",
"//tools/base/lint/libs/lint-tests:liblint-checks-proto",
"//tools/base/lint:liblint-checks-proto",
"//tools/base/repository:schema-generated",
"//tools/base/sdk-common:aia-proto",
"//tools/base/sdklib:schema-generated",
"//tools/data-binding:compilerCommon.antlr.shaded",
"//tools/data-binding:compilerCommon.antlr_runtime.shaded",
"//tools/vendor/google/alt-lang/soong/plugin:libblueprint-lexer-parser",
"//tools/vendor/google/asfp/base:studio-intellijext",
"//tools/vendor/google/directaccess-client:directaccess_client_proto",
"//tools/vendor/google/firebase:libfirebase_java_proto",
"//tools/vendor/google/game-tools/main:game-tools-protos",
"//tools/vendor/google/game-tools/packaging:game-tools-protos",
"//tools/vendor/google/ml/aiplugin/android-plugin/integration:aida_grpc",
"//tools/vendor/google/ml/aiplugin/android-plugin/integration:aida_proto",
"//tools/vendor/google/ml/aiplugin/android-plugin/integration:aida_protobuf",
"//tools/vendor/google/ml/aiplugin/android/journeys:proto-models-1.0",
"//tools/vendor/google/ml/aiplugin/core/aicore:aida_grpc",
"//tools/vendor/google/ml/aiplugin/core/aicore:aida_proto",
"//tools/vendor/google/ml/aiplugin/core/aicore:aida_protobuf",
"//tools/vendor/google/ml/aiplugin/core/aicore:gemini_plugin_proto",
"//tools/vendor/google/url-assistant:urlassistant_proto",
"//tools/vendor/modelcontextprotocol/kotlin-sdk:mcp-sdk-libraries",
],
visibility = ["//visibility:public"],
)
maven_repository(
name = "test_deps",
# keep sorted: for buildifier
artifacts = [
"@maven//:android.arch.navigation.navigation-fragment_1.0.0",
"@maven//:android.arch.persistence.room.runtime_1.0.0",
"@maven//:androidx.annotation.annotation-jvm_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-ktx_1.4.0", # Required by SpecificActivityLocatorGradleTest after updating to Compose BOM 2024.04.01
"@maven//:androidx.compose.animation.animation_1.7.0", # Compose BOM 2024.09.00
"@maven//:androidx.compose.foundation.foundation_1.7.0", # Compose BOM 2024.09.00
"@maven//:androidx.compose.ui.ui-tooling_1.7.0", # Compose BOM 2024.09.00
"@maven//:androidx.constraintlayout.constraintlayout_1.1.3",
"@maven//:androidx.constraintlayout.constraintlayout_2.1.4",
"@maven//:androidx.core.core-ktx_1.0.1",
"@maven//:androidx.core.core-ktx_1.10.0",
"@maven//:androidx.core.core-ktx_1.13.1", # Required by SpecificActivityLocatorGradleTest after updating to Compose BOM 2024.09.00
"@maven//:androidx.core.core-ktx_1.2.0",
"@maven//:androidx.core.core-ktx_1.6.0",
"@maven//:androidx.core.core-ktx_1.9.0",
"@maven//:androidx.core.core_1.5.0-beta01",
"@maven//:androidx.core.core_1.5.0-rc02",
"@maven//:androidx.legacy.legacy-support-v4_1.0.0",
"@maven//:androidx.lifecycle.lifecycle-common-java8_2.8.3",
"@maven//:androidx.lifecycle.lifecycle-livedata-ktx_2.3.1",
"@maven//:androidx.lifecycle.lifecycle-livedata-ktx_2.6.1", # Still used in android/project/BUILD
"@maven//:androidx.lifecycle.lifecycle-livedata-ktx_2.8.3",
"@maven//:androidx.lifecycle.lifecycle-process_2.8.3",
"@maven//:androidx.lifecycle.lifecycle-runtime-compose_2.8.3",
"@maven//:androidx.lifecycle.lifecycle-runtime_2.8.3",
"@maven//:androidx.lifecycle.lifecycle-viewmodel-ktx_2.3.1", # Still used in android/run/BUILD
"@maven//:androidx.lifecycle.lifecycle-viewmodel-ktx_2.8.3",
"@maven//:androidx.lifecycle.lifecycle-viewmodel-savedstate_2.8.3",
"@maven//:androidx.navigation.navigation-fragment-ktx_2.3.5",
"@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.savedstate.savedstate_1.1.0-rc01",
"@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.2",
"@maven//:androidx.test.ext.junit_1.1.3-alpha02",
"@maven//:androidx.wear.protolayout.protolayout-expression-pipeline_1.2.0",
"@maven//:androidx.wear.tiles.tiles_1.4.0",
"@maven//:androidx.wear.watchface.watchface-complications-data-source-ktx_1.2.1",
"@maven//:androidx.wear.watchface.watchface-guava_1.2.1",
"@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.design_28.0.0",
"@maven//:com.android.support.multidex-instrumentation_1.0.2",
"@maven//:com.android.support.support-v13_28.0.0",
"@maven//:com.android.support.test.espresso.espresso-core_3.0.2",
"@maven//:com.android.tools.desugar_jdk_libs_1.1.5",
"@maven//:com.google.android.gms.play-services-maps_17.0.1",
"@maven//:com.google.android.gms.play-services-maps_18.1.0",
"@maven//:com.google.android.material.material_1.4.0",
"@maven//:com.google.auto.value.auto-value_1.6.2",
"@maven//:com.google.code.gson.gson_2.2.4",
"@maven//:com.google.dagger.dagger-compiler_2.6",
"@maven//:com.google.errorprone.error_prone_annotations_2.3.2",
"@maven//:com.google.firebase.firebase-common_12.0.1",
"@maven//:com.google.guava.guava_28.2-jre",
"@maven//:com.google.truth.truth_0.44",
"@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//:junit.junit_4.13.2",
"@maven//:org.jacoco.org.jacoco.ant_0.8.13",
"@maven//:org.jdeferred.jdeferred-android-aar_1.2.3",
"@maven//:org.jetbrains.kotlin.kotlin-android-extensions-runtime_1.5.21",
"@maven//:org.jetbrains.kotlin.kotlin-gradle-plugin_1.5.21",
"@maven//:org.jetbrains.kotlin.kotlin-reflect_1.4.31",
"@maven//:org.jetbrains.kotlin.kotlin-reflect_1.4.32",
"@maven//:org.jetbrains.kotlin.kotlin-reflect_1.5.21",
"@maven//:org.jetbrains.kotlin.kotlin-reflect_1.9.0",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib-jdk7_1.4.32",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib-jdk8_1.4.31",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib-jdk8_1.5.21",
"@maven//:org.mockito.mockito-core_5.12.0",
"@maven//:org.robolectric.robolectric_4.8.2",
"@maven//:xmlpull.xmlpull_1.1.3.1",
],
# Do not change: this target is explicitly marked private to subpackages to avoid bloat.
visibility = ["//tools/adt/idea/android:__subpackages__"],
)
# Validates no new gradle project tests are added to intellij.android.core.tests
check_tests(
agp_test_module = ":intellij.android.core.agp-integration-tests",
disallow_gradle_project_tests = True,
gradle_project_tests_allowlist = ":intellij.android.core.tests.gradle-tests-allowlist.txt",
iml_module = ":intellij.android.core.tests",
)
studio_data(
name = "asset-studio-bundle",
files = glob(["resources/images/asset_studio/**"]),
mappings = {
"tools/adt/idea/android/resources/": "",
},
visibility = ["//visibility:public"],
)
# built for updating "resources/gmavenIndex/classes-offline.json".
kotlin_library(
name = "update_offline_gmaven_index",
srcs = [
"src/com/android/tools/idea/imports/GMavenIndexConstants.kt",
"src/com/android/tools/idea/imports/GzipUtils.kt",
"src/com/android/tools/idea/imports/UpdateOfflineGMavenIndex.kt",
],
deps = [
"@maven//:com.google.guava.guava",
"@maven//:org.apache.commons.commons-compress",
],
)
java_binary(
name = "update_offline_gmaven_index_main",
main_class = "com.android.tools.idea.imports.UpdateOfflineGMavenIndex",
runtime_deps = [
":update_offline_gmaven_index",
],
)
# managed by go/iml_to_build
jvm_import(
name = "libandroid-core-proto",
jars = ["//tools/adt/idea/android:libandroid-core-proto.jar"],
visibility = ["//visibility:public"],
)
# managed by go/iml_to_build
jvm_import(
name = "libandroid-core-proto-test",
jars = ["//tools/adt/idea/android:libandroid-core-proto-test.jar"],
visibility = ["//visibility:public"],
)
# managed by go/iml_to_build
iml_module(
name = "intellij.android.core.agp-integration-tests",
iml_files = ["intellij.android.core.agp-integration-tests.iml"],
split_test_targets = {
"modularize": {
"test_filter": "com.android.tools.idea.refactoring.modularize",
},
"UnusedResourcesGradleTest": {
# The testKotlin test case takes 3 minutes (linux) or 5 minutes (windows).
# TODO(b/191881927) Test cases with a gradle KTS sync do not shard well
"test_filter": "org.jetbrains.android.refactoring.UnusedResourcesGradleTest",
},
"IllegalIdentifierInspectionTest": {
# TODO(b/191881927) Test cases with a gradle KTS sync do not shard well
"test_filter": "com.android.tools.idea.inspections.IllegalIdentifierInspectionTest",
},
"SendFeedbackActionTest": {
"test_filter": "com.android.tools.idea.actions.SendFeedbackActionTest",
},
"ExportProjectZipTest": {
"test_filter": "com.android.tools.idea.actions.ExportProjectZipTest",
},
"aidl": {
"test_filter": "com.android.tools.idea.lang.aidl",
},
"proguardR8": {
"test_filter": "com.android.tools.idea.lang.proguardR8",
},
"javadoc": {
"test_filter": "com.android.tools.idea.javadoc",
},
"other": {
"shard_count": 5,
},
},
test_class = "com.android.tools.idea.IdeaTestSuite",
# keep sorted
test_data = [
":test_deps",
"//prebuilts/studio/layoutlib:runtime",
"//prebuilts/studio/layoutlib/data:framework_res.jar",
"//prebuilts/studio/sdk:build-tools/latest",
"//prebuilts/studio/sdk:platform-tools",
"//prebuilts/studio/sdk:platforms/latest",
"//tools/adt/idea/android/editing/documentation/testData",
"//tools/adt/idea/android/testData:projects",
"//tools/base/build-system:android_gradle_plugin.zip",
"//tools/base/build-system:android_gradle_plugin_runtime_dependencies",
"//tools/base/build-system:gradle-distrib", # Please do not add old versions of AGP here. Use the old-agp-tests module instead.
"//tools/base/build-system/integration-test:kotlin_gradle_plugin_prebuilts",
"//tools/base/third_party/kotlin:kotlin-m2repository",
],
# do not sort: must match IML order
test_deps = [
"//tools/adt/idea/.idea/libraries:junit4",
"//tools/adt/idea/android:intellij.android.core",
"//tools/base/testutils:studio.android.sdktools.testutils",
"//tools/adt/idea/android-test-framework:intellij.android.testFramework",
"//tools/adt/idea/project-system:intellij.android.projectSystem",
"//tools/adt/idea/adt-testutils:intellij.android.adt.testutils",
"//tools/adt/idea/project-system-gradle:intellij.android.projectSystem.gradle",
"//tools/adt/idea/project-system-gradle-psd:intellij.android.projectSystem.gradle.psd",
"//tools/adt/idea/project-system-gradle-upgrade:intellij.android.projectSystem.gradle.upgrade",
"//tools/adt/idea/project-system-gradle-models:intellij.android.projectSystem.gradle.models",
"//tools/adt/idea/android-common:intellij.android.common",
"//tools/adt/idea/gradle-dsl:intellij.android.gradle.dsl",
"//tools/analytics-library/shared:analytics-shared",
"//tools/adt/idea/lint:intellij.lint",
"//tools/adt/idea/.idea/libraries:mockito",
"@intellij//:com.intellij.gradle",
"//tools/adt/idea/wizard-model:intellij.android.wizard.model",
"//tools/adt/idea/observable:intellij.android.observable",
"//tools/base/wizard/template-plugin:studio.intellij.android.wizardTemplate.plugin",
"//tools/adt/idea/adt-ui:intellij.android.adt.ui",
"@intellij//:org.jetbrains.kotlin",
"//tools/adt/idea/android-lint:intellij.android.lint",
"//tools/adt/idea/render-resources:intellij.android.render-resources",
"//tools/adt/idea/execution/common:intellij.android.execution.common",
"//tools/adt/idea/android-kotlin:intellij.android.kotlin.idea",
"//tools/adt/idea/android-kotlin:intellij.android.kotlin.idea.common",
"//tools/adt/idea/android-kotlin:intellij.android.kotlin.idea.k1",
"//tools/adt/idea/android-kotlin:intellij.android.kotlin.idea.k2",
"//tools/adt/idea/android/editing/documentation:intellij.android.core.editing.documentation",
"//tools/adt/idea/.idea/libraries:mockito-kotlin",
],
test_srcs = ["agpIntegrationTestSrc"],
test_tags = [],
test_timeout = "long",
visibility = ["//visibility:public"],
# do not sort: must match IML order
runtime_deps = [
"//tools/adt/idea/gradle-dsl-groovy:intellij.android.gradle.dsl.groovy",
"//tools/adt/idea/gradle-dsl-kotlin:intellij.android.gradle.dsl.kotlin",
"//tools/adt/idea/gradle-dsl-toml:intellij.android.gradle.dsl.toml",
],
# do not sort: must match IML order
deps = [
"@intellij//:intellij-sdk",
"@intellij//:com.intellij.java",
"//tools/adt/idea/.idea/libraries:truth",
],
)