blob: a73c0d2bb12e6b6b23d2399e01bae8bedca145e8 [file] [log] [blame]
load("@bazel_skylib//rules:common_settings.bzl", "bool_flag")
load("@rules_java//java:defs.bzl", "java_binary")
load("@rules_python//python:defs.bzl", "py_binary", "py_library", "py_test")
load("//tools/adt/idea/studio:studio.bzl", "android_studio", "android_studio_configuration", "studio_plugin")
load("//tools/adt/idea/studio/rules:app-icon.bzl", "app_icon")
load("//tools/base/bazel:bazel.bzl", "iml_module", "iml_test")
load(":version.bzl", "STUDIO_CODENAME", "STUDIO_CONFIG", "STUDIO_MICRO_PATCH", "STUDIO_RELEASE_NUMBER", "STUDIO_VERSION")
package(
default_package_metadata = [
"//build/bazel/licenses:Android-Apache-2.0",
],
)
app_icon(
name = "stable-icon",
icns = "stable/studio.icns",
ico = "stable/studio.ico",
png = "stable/studio.png",
svg = "stable/studio.svg",
svg_small = "stable/studio-small.svg",
)
app_icon(
name = "preview-icon",
icns = "preview/studio.icns",
ico = "preview/studio.ico",
png = "preview/studio.png",
svg = "preview/studio.svg",
svg_small = "preview/studio-small.svg",
)
app_icon(
name = "nightly-icon",
icns = "nightly/studio.icns",
ico = "nightly/studio.ico",
png = "nightly/studio.png",
svg = "nightly/studio.svg",
svg_small = "nightly/studio-small.svg",
)
bool_flag(
name = "create-nightly-build",
build_setting_default = False,
)
config_setting(
name = "nightly-build",
flag_values = {
":create-nightly-build": "True",
},
)
studio_plugin(
name = "org.jetbrains.android",
directory = "android",
libs = [
"//prebuilts/r8",
"//prebuilts/tools/common/archive-patcher:explainer",
"//prebuilts/tools/common/archive-patcher:generator",
"//prebuilts/tools/common/archive-patcher:shared",
"//prebuilts/tools/common/m2:brotli-dec-0.1.2",
"//prebuilts/tools/common/m2:eclipse-layout-kernel",
"//prebuilts/tools/common/m2:juniversalchardet",
"//prebuilts/tools/common/m2:commons-lang",
"//prebuilts/tools/common/m2:javapoet",
"//prebuilts/tools/common/m2:auto-common",
"//prebuilts/tools/common/m2:javax-servlet",
"//prebuilts/tools/common/m2:jetifier-core",
"//prebuilts/tools/common/m2:jsr305-2.0.1",
"//prebuilts/tools/common/m2:flatbuffers-java",
"//prebuilts/tools/common/m2:tensorflow-lite-metadata",
"//prebuilts/tools/common/m2:trace-perfetto-library",
"//prebuilts/tools/common/m2:oauth2",
"//prebuilts/tools/common/m2:google-api-services-drive-v3-rev20241027-2.0.0",
"//tools/adt/idea/.idea/libraries:aapt-proto",
"//tools/adt/idea/.idea/libraries:agp-version",
"//tools/adt/idea/.idea/libraries:android-test-plugin-host-device-info-proto",
"//tools/adt/idea/.idea/libraries:asm-tools",
"//tools/adt/idea/.idea/libraries:emulator-proto",
"//tools/adt/idea/.idea/libraries:ffmpeg",
"//tools/adt/idea/.idea/libraries:google-api-client",
"//tools/adt/idea/.idea/libraries:google-baksmali",
"//tools/adt/idea/.idea/libraries:google-dexlib2",
"//tools/adt/idea/.idea/libraries:gradle-shared-proto",
"//tools/adt/idea/.idea/libraries:HdrHistogram",
"//tools/adt/idea/.idea/libraries:javax-inject",
"//tools/adt/idea/.idea/libraries:jetty",
"//tools/adt/idea/.idea/libraries:kotlin-multiplatform-android-models-proto",
"//tools/adt/idea/.idea/libraries:kxml2",
"//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:protobuf-kotlin",
"//tools/adt/idea/.idea/libraries:sqlite-inspector-proto",
"//tools/adt/idea/.idea/libraries:sqlite",
"//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/.idea/libraries:zxing-core",
"//tools/adt/idea/android:libandroid-core-proto",
"//tools/adt/idea/project-system-gradle:libandroid-core-proto",
"//tools/adt/idea/android/lib:instantapps-api",
"//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/play-vitals/model:libplay_vitals_java_proto",
"//tools/adt/idea/app-quality-insights/api:libandroid-core-proto",
"//tools/adt/idea/compose-designer:ui-animation-tooling-internal",
"//tools/adt/idea/logcat:logcat-proto",
"//tools/adt/idea/logcat/proto:logcat-proto",
"//tools/adt/idea/profilers-android:traceprocessor-proto",
"//tools/adt/idea/profilers:traceprocessor-proto",
"//tools/adt/idea/utp:libstudio.android-test-plugin-result-listener-gradle-proto",
"//tools/base/deploy/deployer:deploy_java_proto",
"//tools/base/deploy/deployer:libjava_sites",
"//tools/base/lint:liblint-checks-proto",
"//tools/base/repository:schema-generated",
"//tools/base/sdk-common:aia-proto",
"//tools/base/sdklib:schema-generated",
"//tools/adt/idea/debuggers:libjava_sites",
"//tools/base/deploy/deployer:libjava_version",
"//tools/vendor/google/game-tools/main:game-tools-protos",
"//tools/data-binding:compilerCommon.antlr_runtime.shaded",
"//tools/data-binding:compilerCommon.antlr.shaded",
"//tools/adt/idea/build-attribution:build-analysis-results-proto",
"//tools/adt/idea/android-common:libandroid-core-proto",
],
license_files = [
"//prebuilts/r8:license",
"//prebuilts/tools/common/m2:ffmpeg-licenses",
"//tools/adt/idea/android/lib:licenses",
],
modules = {
"adt-ui.jar": [
"//tools/adt/idea/adt-ui-compose:intellij.android.adt.ui.compose",
"//tools/adt/idea/adt-ui-model:intellij.android.adt.ui.model",
"//tools/adt/idea/adt-ui:intellij.android.adt.ui",
"//tools/adt/idea/adt-ui-compose/jewel.sdkcompat:jewel.sdkcompat",
],
"android-common.jar": [
"//tools/adt/idea/android-common:intellij.android.common",
"//tools/adt/idea/jps-model:intellij.android.jps.model",
],
"android-kotlin.jar": [
"//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-kotlin:intellij.android.kotlin.output.parser",
],
"android-profilers.jar": [
"//tools/adt/idea/profilers-atrace:intellij.android.profilers.atrace",
"//tools/adt/idea/profilers-ui:intellij.android.profilers.ui",
"//tools/adt/idea/profilers:intellij.android.profilers",
"//tools/adt/idea/transport-database:intellij.android.transportDatabase",
],
"android-screenshot-testing.jar": [
"//tools/adt/idea/screenshot-testing:intellij.android.screenshot-test",
"//tools/adt/idea/screenshot-testing/gradle:intellij.android.screenshot-test.gradle",
],
"android-rt.jar": [
"//tools/adt/idea/rt:intellij.android.rt",
],
"android-project-system-gradle-models.jar": [
"//tools/adt/idea/project-system-gradle-models:intellij.android.projectSystem.gradle.models",
],
"android-gradle.jar": [
"//tools/adt/idea/gradle-tooling/studio-gradle-tooling-api:intellij.android.gradle-tooling.api",
"//tools/adt/idea/gradle-tooling/studio-gradle-tooling-impl:intellij.android.gradle-tooling.impl",
"//tools/adt/idea/project-system-gradle-sync:intellij.android.projectSystem.gradle.sync",
],
"android.jar": [
"//tools/adt/idea/analytics:analytics",
"//tools/base/flags:studio.android.sdktools.flags",
"//tools/adt/idea/assistant:assistant",
"//tools/adt/idea/connection-assistant:connection-assistant",
"//tools/adt/idea/android-adb:intellij.android.adb",
"//tools/adt/idea/android-adb-ui:intellij.android.adb.ui",
"//tools/adt/idea/android-lint:intellij.android.lint",
"//tools/adt/idea/android-templates:intellij.android.templates",
"//tools/adt/idea/apkanalyzer:intellij.android.apkanalyzer",
"//tools/adt/idea/apkanalyzer/apk:intellij.android.apkanalyzer.apk",
"//tools/adt/idea/apkanalyzer/gradle:intellij.android.apkanalyzer.gradle",
"//tools/base/profgen/profgen:studio.android.sdktools.profgen",
"//tools/adt/idea/app-inspection/api:app-inspection.api",
"//tools/adt/idea/app-inspection/ide:app-inspection.ide",
"//tools/adt/idea/app-inspection/ide/gradle:app-inspection.ide.gradle",
"//tools/adt/idea/app-inspection/inspector/api:app-inspection.inspector.api",
"//tools/adt/idea/app-inspection/inspector/ide:app-inspection.inspector.ide",
"//tools/adt/idea/app-inspection/inspectors/backgroundtask/ide:app-inspection.inspectors.backgroundtask.ide",
"//tools/adt/idea/app-inspection/inspectors/backgroundtask/model:app-inspection.inspectors.backgroundtask.model",
"//tools/adt/idea/app-inspection/inspectors/backgroundtask/view:app-inspection.inspectors.backgroundtask.view",
"//tools/adt/idea/app-quality-insights/api:intellij.android.app-quality-insights.api",
"//tools/adt/idea/app-quality-insights/ide:intellij.android.app-quality-insights.ide",
"//tools/adt/idea/app-quality-insights/ui:intellij.android.app-quality-insights.ui",
"//tools/adt/idea/app-quality-insights/play-policy/ide:intellij.android.app-quality-insights.play-policy.ide",
"//tools/adt/idea/app-quality-insights/play-vitals/model:intellij.android.app-quality-insights.play-vitals.model",
"//tools/adt/idea/app-quality-insights/play-vitals/ide:intellij.android.app-quality-insights.play-vitals.ide",
"//tools/adt/idea/app-quality-insights/play-vitals/view:intellij.android.app-quality-insights.play-vitals.view",
"//tools/adt/idea/build-attribution:intellij.android.build-attribution",
"//tools/adt/idea/intellij.android.compose-common:intellij.android.compose-common",
"//tools/adt/idea/avd:intellij.android.avd",
"//tools/adt/idea/intellij.android.device",
"//tools/adt/idea/android:intellij.android.core",
"//tools/adt/idea/android/editing/documentation:intellij.android.core.editing.documentation",
"//tools/adt/idea/android/editing/metrics:intellij.android.core.editing.metrics",
"//tools/adt/idea/android-navigator:intellij.android.navigator",
"//tools/adt/idea/dagger:intellij.android.dagger",
"//tools/adt/idea/databinding:intellij.android.databinding",
"//tools/adt/idea/databinding/gradle:intellij.android.databinding.gradle",
"//tools/adt/idea/app-inspection/inspectors/database:app-inspection.inspectors.database",
"//tools/adt/idea/backup:intellij.android.backup",
"//tools/adt/idea/backup:intellij.android.backup.api",
"//tools/adt/idea/debuggers:intellij.android.debuggers",
"//tools/adt/idea/deploy:intellij.android.deploy",
"//tools/adt/idea/device-explorer:intellij.android.device-explorer",
"//tools/adt/idea/device-explorer-files:intellij.android.device-explorer-files",
"//tools/adt/idea/device-explorer-monitor:intellij.android.device-explorer-monitor",
"//tools/adt/idea/device-explorer-common:intellij.android.device-explorer-common",
"//tools/adt/idea/device-manager-v2:intellij.android.device-manager-v2",
"//tools/adt/idea/ml-api:intellij.android.ml-api",
"//tools/adt/idea/streaming:intellij.android.streaming",
"//tools/adt/idea/gradle-dsl:intellij.android.gradle.dsl",
"//tools/adt/idea/gradle-dsl-declarative:intellij.android.gradle.dsl.declarative",
"//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",
"//tools/adt/idea/gradle-dsl-flags:intellij.android.gradle.dsl.flags",
"//tools/adt/idea/android-lang-databinding:intellij.android.lang-databinding",
"//tools/adt/idea/android-lang:intellij.android.lang",
"//tools/adt/idea/layout-inspector:intellij.android.layout-inspector",
"//tools/adt/idea/layout-inspector:intellij.android.layout-inspector.gradle",
"//tools/adt/idea/layout-ui:intellij.android.layout-ui",
"//tools/adt/idea/logcat:intellij.android.logcat",
"//tools/vendor/google/login:google-login",
"//tools/adt/idea/mlkit:intellij.android.mlkit",
"//tools/adt/idea/nav/safeargs:intellij.android.nav.safeargs",
"//tools/adt/idea/nav/safeargs/common:intellij.android.nav.safeargs.common",
"//tools/adt/idea/nav/safeargs/common/gradle:intellij.android.nav.safeargs.common.gradle",
"//tools/adt/idea/nav/safeargs/k1:intellij.android.nav.safeargs.k1",
"//tools/adt/idea/nav/safeargs/k2:intellij.android.nav.safeargs.k2",
"//tools/adt/idea/android-npw:intellij.android.newProjectWizard",
"//tools/adt/idea/android-material:intellij.android.android-material",
"//tools/adt/idea/observable-ui:intellij.android.observable.ui",
"//tools/adt/idea/observable:intellij.android.observable",
"//tools/adt/idea/android-plugin:intellij.android.plugin",
"//tools/adt/idea/android-plugin/descriptor:intellij.android.plugin.descriptor",
"//tools/adt/idea/preview-elements:intellij.android.preview-elements",
"//tools/adt/idea/profilers-android:intellij.android.profilersAndroid",
"//tools/adt/idea/profilers-android/gradle:intellij.android.profilersAndroid.gradle",
"//tools/adt/idea/project-system-apk:intellij.android.projectSystem.apk",
"//tools/adt/idea/project-system-gradle-psd:intellij.android.projectSystem.gradle.psd",
"//tools/adt/idea/project-system-gradle-repository-search:intellij.android.projectSystem.gradle.repositorySearch",
"//tools/adt/idea/project-system-gradle-upgrade:intellij.android.projectSystem.gradle.upgrade",
"//tools/adt/idea/project-system-gradle:intellij.android.projectSystem.gradle",
"//tools/adt/idea/project-system:intellij.android.projectSystem",
"//tools/adt/idea/render-resources:intellij.android.render-resources",
"//tools/adt/idea/rendering:intellij.android.rendering",
"//tools/adt/idea/room:intellij.android.room",
"//tools/adt/idea/samples-browser:samples-browser",
"//tools/adt/idea/sdk-updates:intellij.android.sdkUpdates",
"//tools/adt/idea/threading-checker:intellij.android.threading-checker",
"//tools/adt/idea/android-transport:intellij.android.transport",
"//tools/adt/idea/wear-pairing:intellij.android.wear-pairing",
"//tools/adt/idea/wear-preview-elements:intellij.android.wear-preview-elements",
"//tools/adt/idea/wear-dwf:intellij.android.wear-dwf",
"//tools/base/wear-wff-schema:studio.intellij.android.wear-wff-schema",
"//tools/adt/idea/wear-whs:intellij.android.wear-whs",
"//tools/adt/idea/wizard-model:intellij.android.wizard.model",
"//tools/adt/idea/wizard:intellij.android.wizard",
"//tools/adt/idea/native-symbolizer:native-symbolizer",
"//tools/adt/idea/native-symbolizer/gradle:native-symbolizer.gradle",
"//tools/adt/idea/whats-new-assistant:whats-new-assistant",
"//tools/base/dynamic-layout-inspector/common:studio.dynamic-layout-inspector.common",
"//tools/adt/idea/app-inspection/inspectors/network/ide:app-inspection.inspectors.network.ide",
"//tools/adt/idea/app-inspection/inspectors/network/model:app-inspection.inspectors.network.model",
"//tools/adt/idea/app-inspection/inspectors/network/view:app-inspection.inspectors.network.view",
"//tools/adt/idea/server-flags:intellij.android.server-flags",
"//tools/adt/idea/codenavigation:codenavigation",
"//tools/adt/idea/execution/common:intellij.android.execution.common",
"//tools/base/environment-services:studio.intellij.android.environment-services",
"//tools/base/kotlin-multiplatform-models:studio.android.kotlin-multiplatform-models",
"//tools/adt/idea/preview-fast-compile:intellij.android.preview-fast-compile",
"//tools/adt/idea/completion:intellij.android.completion",
"//tools/adt/idea/studio-labs:intellij.android.studio-labs",
"//tools/adt/idea/gmaven:intellij.android.gmaven",
"//tools/adt/idea/settings-sync:intellij.android.settings-sync",
"//tools/adt/idea/testartifacts:intellij.android.testartifacts",
"//tools/vendor/google/android-keys:android-keys",
"//tools/vendor/google/focus-plugin:declarative-gradle.focus-plugin",
],
"artwork.jar": [
"//tools/adt/idea/artwork:intellij.android.artwork",
"//tools/adt/idea/artwork-compose:intellij.android.artwork-compose",
],
"repository.jar": [
"//tools/base/repository:studio.android.sdktools.repository",
],
"build-common.jar": [
"//tools/adt/idea/build-common:intellij.android.buildCommon",
],
"data-binding.jar": [
"//tools/data-binding:studio.baseLibrary",
"//tools/data-binding:studio.baseLibrarySupport",
"//tools/data-binding:studio.compiler",
"//tools/data-binding:studio.compilerCommon",
],
"game-tools.jar": [
"//tools/vendor/google/game-tools/main:android.game-tools.main",
],
"inspectors-common.jar": [
"//tools/adt/idea/inspectors-common/api:intellij.android.inspectors-common.api",
"//tools/adt/idea/inspectors-common/api-ide:intellij.android.inspectors-common.api-ide",
"//tools/adt/idea/inspectors-common/ui:intellij.android.inspectors-common.ui",
],
"layoutlib-loader.jar": [
"//tools/adt/idea/layoutlib-loader:intellij.android.layoutlib-loader",
],
"lint-ide.jar": [
"//tools/adt/idea/lint:intellij.lint",
],
"manifest-merger.jar": [
"//tools/base/build-system:studio.android.sdktools.manifest-merger",
],
"pixelprobe.jar": [
"//tools/base/chunkio:studio.android.sdktools.chunkio",
"//tools/base/pixelprobe:studio.android.sdktools.pixelprobe",
],
"sdk-common.jar": [
"//tools/base/sdk-common:studio.android.sdktools.sdk-common",
"//tools/base/sdk-common/gradle:studio.android.sdktools.sdk-common.gradle",
],
"sdk-tools.jar": [
"//tools/base/annotations:studio.android.sdktools.android-annotations",
"//tools/base/apkparser/analyzer:studio.android.sdktools.analyzer",
"//tools/base/apkparser:studio.android.sdktools.binary-resources",
"//tools/base/backup:studio.android.sdktools.backup",
"//tools/base/backup/bmgr-parser:studio.android.sdktools.backup.bmgr.parser",
"//tools/base/build-analyzer/common:studio.android.build-analyzer.common",
"//tools/base/build-system/builder-model:studio.android.sdktools.builder-model",
"//tools/base/build-system/builder-test-api:studio.android.sdktools.builder-test-api",
"//tools/base/adblib:studio.android.sdktools.adblib",
"//tools/base/adblib-ddmlibcompatibility:studio.android.sdktools.adblib.ddmlibcompatibility",
"//tools/base/adblib-tools:studio.android.sdktools.adblib.tools",
"//tools/base/ddmlib:studio.android.sdktools.ddmlib",
"//tools/base/kexter:studio.android.sdktools.kexter",
"//tools/base/jdwp-scache:studio.android.sdktools.jdwpscache",
"//tools/base/device-provisioner:studio.android.sdktools.device-provisioner",
"//tools/base/deploy/deployer:studio.android.sdktools.deployer",
"//tools/base/device_validator:studio.android.sdktools.dvlib",
"//tools/base/draw9patch:studio.android.sdktools.draw9patch",
"//tools/base/jdwp-packet:studio.android.sdktools.jdwppacket",
"//tools/base/jdwp-tracer:studio.android.sdktools.jdwptracer",
"//tools/base/leakcanarylib:studio.android.sdktools.leakcanarylib",
"//tools/base/lint:studio.android.sdktools.lint-api",
"//tools/base/lint:studio.android.sdktools.lint-checks",
"//tools/base/lint:studio.android.sdktools.lint-model",
"//tools/base/manifest-parser:studio.android.sdktools.manifest-parser",
"//tools/base/mlkit-common:studio.android.sdktools.mlkit-common",
"//tools/base/ninepatch:studio.android.sdktools.ninepatch",
"//tools/base/perflib:studio.android.sdktools.perflib",
"//tools/base/process-monitor:studio.android.sdktools.process-monitor",
"//tools/base/resource-repository:studio.android.sdktools.resource-repository",
"//tools/base/threading-agent-callback:studio.android.sdktools.threading-agent-callback",
"//tools/base/tracer:studio.android.sdktools.tracer",
"//tools/base/usb-devices:studio.usb-devices",
"//tools/base/zipflinger:studio.android.sdktools.zipflinger",
],
"sdklib.jar": [
"//tools/base/sdklib:studio.android.sdktools.sdklib",
],
"utp.jar": [
"//tools/adt/idea/utp",
],
"wizard-template.jar": [
"//tools/base/wizard/template-impl:studio.intellij.android.wizardTemplate.impl",
"//tools/base/wizard/template-plugin:studio.intellij.android.wizardTemplate.plugin",
],
"google-analytics-library.jar": [
"//tools/analytics-library/shared:analytics-shared",
"//tools/analytics-library/tracker:analytics-tracker",
"//tools/analytics-library/publisher:analytics-publisher",
"//tools/analytics-library/crash:analytics-crash",
],
"android-base-common.jar": [
"//tools/base/common:studio.android.sdktools.common",
],
"layoutlib-api.jar": [
"//tools/base/layoutlib-api:studio.android.sdktools.layoutlib-api",
],
"memory-usage.jar": [
"//tools/adt/idea/memory-usage",
],
},
resources = {
"lib": [
"//prebuilts/tools/common/m2:ffmpeg-platform-bundle",
],
"resources": [
"//tools/adt/idea/android/lib:sample-data-bundle",
"//tools/adt/idea/android/lib:apks-bundle",
"//tools/adt/idea/artwork:device-art-resources-bundle", # duplicated in android.jar
"//tools/adt/idea/android/annotations:androidAnnotations",
"//tools/adt/idea/streaming/native:native_lib",
"//tools/adt/idea/android/native/diagnostics/heap:native_lib",
"//tools/adt/idea/streaming/screen-sharing-agent:bundle",
"//tools/base/app-inspection/inspectors/backgroundtask:bundle",
"//tools/base/app-inspection/inspectors/network:bundle",
"//tools/base/app-inspection/inspectors/database:bundle",
"//tools/base/dynamic-layout-inspector/agent/appinspection:bundle",
"//tools/base/process-monitor/process-tracker-agent:bundle",
"//tools/base/profiler/transform:profilers-transform",
"//tools/base/profiler/app:perfa",
"//tools/base/threading-agent:threading_agent.jar",
"//tools/base/tracer:trace_agent.jar", # TODO(b/149320690): remove in 4.1 final release.
"//tools/base/transport:transport-bundle",
"//prebuilts/tools:simpleperf-bundle",
"//prebuilts/tools/common/perfetto:perfetto-bundle",
"//prebuilts/tools/common/app-inspection/androidx/sqlite:sqlite-inspection-bundle",
"//tools/base/deploy/installer:android-installer-bundle",
"//tools/adt/idea/android:asset-studio-bundle",
"//prebuilts/tools/common/trace-processor-daemon:trace-processor-daemon-bundle",
"//tools/adt/idea/android-lint:bundled-policy-checks",
],
},
visibility = ["//visibility:public"],
deps = [
":com.android.tools.gradle.dcl",
":com.android.tools.idea.smali",
"@intellij//:JUnit",
"@intellij//:com.intellij.gradle",
"@intellij//:com.intellij.java",
"@intellij//:com.intellij.platform.images",
"@intellij//:com.intellij.properties",
"@intellij//:intellij.json.split",
"@intellij//:intellij.libraries.compose.foundation.desktop",
"@intellij//:intellij.libraries.grpc",
"@intellij//:intellij.libraries.grpc.netty.shaded",
"@intellij//:intellij.libraries.skiko",
"@intellij//:intellij.platform.jewel.foundation",
"@intellij//:intellij.platform.jewel.ideLafBridge",
"@intellij//:intellij.platform.jewel.markdown.core",
"@intellij//:intellij.platform.jewel.markdown.ideLafBridgeStyling",
"@intellij//:intellij.platform.jewel.ui",
"@intellij//:intellij.platform.lvcs.impl",
"@intellij//:intellij.platform.vcs.dvcs.impl",
"@intellij//:intellij.platform.vcs.impl",
"@intellij//:intellij.platform.vcs.log.impl",
"@intellij//:intellij.settingsSync.core",
"@intellij//:intellij.webp",
"@intellij//:org.intellij.groovy",
"@intellij//:org.intellij.intelliLang",
"@intellij//:org.jetbrains.kotlin",
"@intellij//:org.jetbrains.plugins.gradle",
"@intellij//:org.toml.lang",
],
)
studio_plugin(
name = "com.android.tools.apk",
directory = "android-apk",
modules = {"android-apk.jar": ["//tools/vendor/google/android-apk:android-apk"]},
visibility = ["//visibility:public"],
deps = [
":com.android.tools.idea.smali",
":com.android.tools.ndk",
":org.jetbrains.android",
"@intellij//:com.intellij.java",
],
)
studio_plugin(
name = "com.android.tools.ndk",
directory = "android-ndk",
libs = ["//tools/vendor/google/android-ndk/lib:org.eclipse.cdt"],
modules = {"android-ndk.jar": ["//tools/vendor/google/android-ndk:android-ndk"]},
resources = {
"resources/lldb": [
"//prebuilts/tools:lldb-bundle",
],
},
visibility = ["//visibility:public"],
deps = [
":org.jetbrains.android",
"@intellij//:com.intellij.cidr.base",
"@intellij//:com.intellij.cidr.debugger",
"@intellij//:com.intellij.cidr.lang",
"@intellij//:com.intellij.cidr.lang.clangd",
"@intellij//:com.intellij.gradle",
"@intellij//:com.intellij.java",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "com.android.tools.design",
directory = "design-tools",
libs = [
"//tools/adt/idea/.idea/libraries:layoutlib",
],
license_files = [
"//prebuilts/studio/layoutlib:licenses",
],
modules = {
"design-tools.jar": [
"//tools/adt/idea/compose-designer:intellij.android.compose-designer",
"//tools/adt/idea/design-plugin:intellij.android.design-plugin",
"//tools/adt/idea/design-plugin/descriptor:intellij.android.design-plugin.descriptor",
"//tools/adt/idea/designer/customview:intellij.android.designer.customview",
"//tools/adt/idea/designer:intellij.android.designer",
"//tools/adt/idea/designer/gradle:intellij.android.designer.gradle",
"//tools/adt/idea/glance-designer:intellij.android.glance-designer",
"//tools/adt/idea/layoutlib:intellij.android.layoutlib",
"//tools/adt/idea/nav/editor:intellij.android.nav.editor",
"//tools/adt/idea/nav/editor:intellij.android.nav.editor.gradle",
"//tools/adt/idea/preview-designer:intellij.android.preview-designer",
"//tools/adt/idea/wear-designer:intellij.android.wear-designer",
"//tools/adt/idea/visual-lint:intellij.android.visual-lint",
],
},
resources = {
"resources": [
"//prebuilts/studio/layoutlib:layoutlib",
],
},
visibility = ["//visibility:public"],
deps = [
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:com.intellij.platform.images",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "androidx.compose.plugins.idea",
directory = "android-compose-ide-plugin",
modules = {"android-compose-ide-plugin.jar": ["//tools/adt/idea/compose-ide-plugin:intellij.android.compose-ide-plugin"]},
visibility = ["//visibility:public"],
deps = [
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:intellij.json.split",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "com.google.services.git4insights",
directory = "git4insights",
modules = {"git4insights.jar": ["//tools/vendor/google/git4insights:git4insights"]},
visibility = ["//visibility:public"],
deps = [
":org.jetbrains.android",
"@intellij//:Git4Idea",
"@intellij//:com.intellij.java",
],
)
studio_plugin(
name = "com.google.services.firebase",
directory = "firebase",
libs = [
"//tools/vendor/google/firebase:libfirebase_java_proto",
"//tools/adt/idea/.idea/libraries:cloudresourcemanager",
"//prebuilts/tools/common/m2:protobuf-java-util-3.22.3",
],
license_files = [
"//tools/vendor/google/firebase:licenses",
],
modules = {"firebase.jar": ["//tools/vendor/google/firebase:firebase"]},
visibility = ["//visibility:public"],
deps = [
":com.google.gct.test.recorder",
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:intellij.libraries.grpc",
"@intellij//:intellij.libraries.grpc.netty.shaded",
"@intellij//:org.intellij.groovy",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "com.google.gct.directaccess",
directory = "directaccess",
libs = [
"//tools/base/adb-proxy:adb_proxy_proto",
"//tools/vendor/google/directaccess-client:directaccess_client_proto",
"//prebuilts/tools/common/m2:google-api-services",
],
modules = {
"directaccess.jar": [
"//tools/base/adb-proxy:studio.adb-proxy",
"//tools/studio/google/cloud/testing/directaccess:directaccess",
"//tools/vendor/google/directaccess-client:directaccess-client",
],
},
resources = {
"resources": ["//tools/base/adb-proxy/reverse-daemon:daemon"],
},
visibility = ["//visibility:public"],
deps = [
":com.google.services.firebase",
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:intellij.libraries.grpc",
"@intellij//:intellij.libraries.grpc.netty.shaded",
],
)
studio_plugin(
name = "com.google.gct.testing",
directory = "firebase-testing",
libs = [
"//prebuilts/tools/common/m2:JSch",
"//prebuilts/tools/common/m2:google_api_services_testing",
],
modules = {
"firebase-testing.jar": ["//tools/studio/google/cloud/testing/firebase-testing:firebase-testing"],
"gmd-code-completion.jar": ["//tools/adt/idea/gmd-code-completion:intellij.android.gmd-code-completion"],
},
visibility = ["//visibility:public"],
deps = [
":com.google.services.firebase",
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:org.intellij.groovy",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "com.android.tools.idea.smali",
directory = "smali",
modules = {"smali.jar": ["//tools/adt/idea/smali:intellij.android.smali"]},
visibility = ["//visibility:public"],
deps = [
"@intellij//:com.intellij.java",
],
)
studio_plugin(
name = "com.google.gct.test.recorder",
directory = "test-recorder",
libs = [
"//tools/studio/google/cloud/testing/test-recorder/lib:uiautomatorviewer",
"//tools/studio/google/cloud/testing/test-recorder/lib:swt",
],
license_files = [
"//tools/studio/google/cloud/testing/test-recorder/lib:licenses",
],
modules = {
"test-recorder.jar": [
"//tools/studio/google/cloud/testing/test-recorder:test-recorder",
"//tools/studio/google/cloud/testing/test-recorder/gradle:test-recorder.gradle",
],
},
visibility = ["//visibility:public"],
deps = [
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "com.google.urlassistant",
directory = "url-assistant",
libs = [
"//tools/vendor/google/url-assistant:urlassistant_proto",
],
modules = {
"url-assistant.jar": [
"//tools/vendor/google/url-assistant:url-assistant",
"//tools/vendor/google/url-assistant/gradle:url-assistant.gradle",
],
},
visibility = ["//visibility:public"],
deps = [
":com.google.tools.ij.aiplugin", # TODO: make optional once optional plugin dependencies are supported in Bazel build
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:org.intellij.groovy",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "com.android.tools.gradle.dcl",
directory = "gradle-declarative",
modules = {
"gradle-declarative.jar": [
"//tools/adt/idea/gradle-declarative-lang:intellij.android.gradle.declarative.lang",
"//tools/adt/idea/gradle-declarative-lang-ide:intellij.android.gradle.declarative.lang.ide",
"//tools/adt/idea/gradle-declarative-lang-sync:intellij.android.gradle.declarative.lang.sync",
"//tools/adt/idea/gradle-declarative-lang-flags:intellij.android.gradle.declarative.lang.flags",
],
},
visibility = ["//visibility:public"],
deps = [
"@intellij//:com.intellij.gradle",
"@intellij//:com.intellij.java",
"@intellij//:org.jetbrains.kotlin",
"@intellij//:org.jetbrains.plugins.gradle",
],
)
studio_plugin(
name = "com.google.targetsdkversionassistant",
directory = "targetsdkversion-upgrade-assistant",
modules = {"targetsdkversion-upgrade-assistant.jar": ["//tools/vendor/google/targetsdkversion-upgrade-assistant:targetsdkversion-upgrade-assistant"]},
visibility = ["//visibility:public"],
deps = [
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:org.jetbrains.kotlin",
],
)
studio_plugin(
name = "com.google.tools.ij.aiplugin",
directory = "gemini",
libs = [
"//prebuilts/tools/common/m2:anthropic-openai-common-deps",
"//prebuilts/tools/common/m2:libgoogle_auth_transitive_deps",
"//prebuilts/tools/common/m2:openai-java-sdk",
"//prebuilts/tools/common/m2:sqlite-jdbc-3.43.0.0",
"//prebuilts/tools/common/m2:wire-runtime-jvm-5.3.1",
"//tools/adt/idea/.idea/libraries:kotlinx-serialization",
"//tools/adt/idea/.idea/libraries:lucene",
"//tools/vendor/google/ml/aiplugin/android/journeys:proto-models-1.0",
"//tools/vendor/google/ml/aiplugin/cloudcode-core:libgoogle_auth_intellij_lib",
"//tools/vendor/google/ml/aiplugin/cloudcode-core:libfeedback_java_proto",
"//tools/vendor/google/ml/aiplugin/cloudcode-core:libv1internal_java_rest",
"//tools/vendor/google/ml/aiplugin/cloudcode-core:libserviceusage_v1_java_lib",
"//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/modelcontextprotocol/kotlin-sdk:mcp-sdk-libraries",
],
modules = {
"aiplugin.jar": [
"//tools/vendor/google/ml/aiplugin/model/api:aiplugin.model.api",
"//tools/vendor/google/ml/aiplugin/core/primitives:aiplugin.core.primitives",
"//tools/vendor/google/ml/aiplugin/core/terminal:aiplugin.core.terminal",
"//tools/vendor/google/ml/aiplugin/core/aicore:aiplugin.core.aicore",
"//tools/vendor/google/ml/aiplugin/agents/agents-core:aiplugin.agents.agents-core",
"//tools/vendor/google/ml/aiplugin/android:aiplugin.android",
"//tools/vendor/google/ml/aiplugin/android/gradle:aiplugin.android.gradle",
"//tools/vendor/google/ml/aiplugin/android/enterprise:aiplugin.android.enterprise",
"//tools/vendor/google/ml/aiplugin/android/journeys:aiplugin.android.journeys",
"//tools/vendor/google/ml/aiplugin/android/journeys/gradle:aiplugin.android.journeys.gradle",
"//tools/vendor/google/ml/aiplugin/android-plugin:aiplugin.android-plugin",
"//tools/vendor/google/ml/aiplugin/android-plugin/descriptor:aiplugin.android-plugin.descriptor",
"//tools/vendor/google/ml/aiplugin/backends/local:aiplugin.backends.local",
"//tools/vendor/google/ml/aiplugin/editor/prediction-services:aiplugin.editor.prediction-services",
"//tools/vendor/google/ml/aiplugin/editor/prediction:aiplugin.editor.prediction",
"//tools/vendor/google/ml/aiplugin/lang/kotlin:aiplugin.lang.kotlin",
"//tools/vendor/google/ml/aiplugin/mcp/client:aiplugin.mcp.client.sdkcompat",
"//tools/vendor/google/ml/aiplugin/rag/indexer:aiplugin.rag.indexer",
"//tools/vendor/google/ml/aiplugin/sdkcompat:aiplugin.sdkcompat",
"//tools/vendor/google/ml/aiplugin/cloudcode-core:aiplugin.cloudcode-core",
"//tools/vendor/google/ml/aiplugin/ij-platform:aiplugin.ij-platform",
"//tools/vendor/google/ml:aiplugin.login.sdkcompat",
"//tools/vendor/modelcontextprotocol/kotlin-sdk:mcp.kotlin-sdk.sdkcompat",
],
},
resources = {
"resources": [
"//tools/vendor/google/uiautomator-recorder:recorder-release-androidTest.apk",
"//tools/vendor/google/ml/aiplugin/android/journeys:journeys-art-resources-bundle",
],
},
visibility = ["//visibility:public"],
deps = [
":com.android.tools.design",
":org.jetbrains.android",
"@intellij//:com.intellij.java",
"@intellij//:intellij.libraries.compose.foundation.desktop",
"@intellij//:intellij.libraries.ktor.client",
"@intellij//:intellij.libraries.ktor.client.cio",
"@intellij//:intellij.libraries.skiko",
"@intellij//:intellij.platform.jewel.foundation",
"@intellij//:intellij.platform.jewel.ideLafBridge",
"@intellij//:intellij.platform.jewel.markdown.core",
"@intellij//:intellij.platform.jewel.markdown.ideLafBridgeStyling",
"@intellij//:intellij.platform.jewel.ui",
"@intellij//:intellij.platform.vcs.impl",
"@intellij//:intellij.platform.vcs.log.impl",
"@intellij//:org.intellij.groovy",
"@intellij//:org.jetbrains.kotlin",
"@intellij//:org.jetbrains.plugins.terminal",
],
)
studio_plugin(
name = "com.android.altlang.soong",
directory = "soong-plugin",
libs = [
"//tools/vendor/google/alt-lang/soong/plugin:libblueprint-lexer-parser",
],
modules = {
"soong-plugin.jar": [
"//tools/vendor/google/alt-lang/soong/parser-prereqs:soong-parser-prereqs",
"//tools/vendor/google/alt-lang/soong/plugin:soong-plugin",
],
},
visibility = ["//visibility:public"],
)
exports_files([
"codesign/entitlements.xml",
"studio.py",
])
android_studio_configuration(
name = "nightly",
application_icon = ":nightly-icon",
enable_debug_flags = True,
flag_level = "NIGHTLY",
mac_app_name = "Android Studio Nightly",
version_suffix = "Nightly __BUILD_DAY__",
version_type = "Nightly",
)
android_studio_configuration(
name = "canary",
application_icon = ":preview-icon",
enable_debug_flags = True,
flag_level = "PREVIEW",
mac_app_name = "Android Studio Preview",
version_suffix = None,
version_type = STUDIO_VERSION,
)
android_studio_configuration(
name = "stable",
application_icon = ":stable-icon",
flag_level = "COMPLETE",
mac_app_name = "Android Studio",
version_suffix = None,
version_type = STUDIO_VERSION,
)
android_studio(
name = "android-studio",
codesign_entitlements = "codesign/entitlements.xml",
configurations = [
":canary",
":nightly",
":stable",
],
generate_package_metadata = True,
jre = "//prebuilts/studio/jdk:jdk-bundle",
legacy_default_configuration = STUDIO_CONFIG,
platform = "@intellij//:intellij-sdk",
plugins = [
":org.jetbrains.android",
":com.android.tools.apk",
":com.android.tools.ndk",
":com.android.tools.design",
":androidx.compose.plugins.idea",
":com.google.services.git4insights",
":com.google.services.firebase",
":com.google.tools.ij.aiplugin",
":com.google.gct.directaccess",
":com.google.gct.testing",
":com.android.tools.idea.smali",
":com.google.gct.test.recorder",
":com.google.urlassistant",
":com.google.targetsdkversionassistant",
":com.android.tools.gradle.dcl",
],
selector = "AndroidStudio",
update_message_template = ":update_message.html",
version_code_name = STUDIO_CODENAME,
version_micro_patch = STUDIO_MICRO_PATCH,
version_release_number = STUDIO_RELEASE_NUMBER,
visibility = ["//visibility:public"],
)
py_test(
name = "test_studio",
srcs = ["tests/test_studio.py"],
data = [
"tests/expected_linux.txt",
"tests/expected_mac.txt",
"tests/expected_mac_arm.txt",
"tests/expected_win.txt",
":android-studio.linux.zip",
":android-studio.mac.zip",
":android-studio.mac_arm.zip",
":android-studio.win.zip",
],
tags = [
"noci:studio-win", # b/234018495
],
)
py_test(
name = "test_updater",
timeout = "long", # b/233245811
srcs = ["tests/test_updater.py"],
data = [
":updater",
":updater.jar",
] + select({
# On macOS, the test converts macOS ↔ Windows
"//tools/base/bazel/platforms:macos-arm64": [
":android-studio.mac_arm.zip",
":android-studio.win.zip",
],
"//tools/base/bazel/platforms:macos-x86_64": [
":android-studio.mac.zip",
":android-studio.win.zip",
],
# On Windows, the test converts Windows ↔ macOS
"@platforms//os:windows": [
":android-studio.mac.zip",
":android-studio.win.zip",
],
# On Linux, the test converts Linux ↔ Windows
"@platforms//os:linux": [
":android-studio.linux.zip",
":android-studio.win.zip",
],
}),
tags = ["noci:studio-win"], # b/233968084
)
filegroup(
name = "update_sdk_files",
srcs = [
"intellij.py",
"mkspec.py",
"update_sdk.py",
],
)
py_test(
name = "test_update_sdk",
srcs = [
"tests/test_update_sdk.py",
"tests/test_utils.py",
],
# Executing the script standalone, pass as data not as unit test library.
data = [":update_sdk_files"],
env = {
"update_sdk_files": "$(locations :update_sdk_files)",
},
tags = [
"noci:studio-win",
],
visibility = ["//visibility:public"],
)
filegroup(
name = "update_sherlock_sdk_files",
srcs = [
"intellij.py",
"mkspec.py",
"update_sdk.py",
"update_sherlock_sdk.py",
],
)
py_test(
name = "test_update_sherlock_sdk",
srcs = [
"tests/test_update_sherlock_sdk.py",
"tests/test_utils.py",
],
data = [":update_sherlock_sdk_files"],
env = {
"update_sherlock_sdk_files": "$(locations :update_sherlock_sdk_files)",
},
tags = [
"noci:studio-win",
],
visibility = ["//visibility:public"],
)
filegroup(
name = "mkspec_files",
srcs = [
"intellij.py",
"mkspec.py",
],
)
# Additional spec tests for downloaded IDEs
py_test(
name = "test_mkspec",
srcs = [
"tests/test_mkspec.py",
"tests/test_utils.py",
],
# Executing the script standalone, pass as data not as unit test library.
data = [":mkspec_files"],
env = {
"mkspec_files": "$(locations :mkspec_files)",
},
visibility = ["//visibility:public"],
)
py_library(
name = "utils",
srcs = ["utils.py"],
visibility = ["//visibility:public"],
)
py_binary(
name = "stamper",
srcs = ["stamper.py"],
visibility = ["//visibility:public"],
deps = [":utils"],
)
py_binary(
name = "generate_build_metadata",
srcs = ["generate_build_metadata.py"],
visibility = ["//visibility:public"],
deps = [":utils"],
)
py_binary(
name = "check_plugin",
srcs = [
"check_plugin.py",
"intellij.py",
],
visibility = ["//visibility:public"],
)
py_test(
name = "tools_test",
srcs = ["tools_test.py"],
tags = [
"noci:studio-win",
],
visibility = ["//visibility:public"],
deps = [":stamper"],
)
py_library(
name = "intellij",
srcs = ["intellij.py"],
visibility = ["//visibility:public"],
)
py_binary(
name = "jvm_args_extractor",
srcs = ["jvm_args_extractor.py"],
)
# Extracts the JVM args used in AS release builds.
# The result is used by Studio dev builds and tests.
genrule(
name = "required_jvm_args",
srcs = ["@intellij//:product-info"],
outs = ["required_jvm_args.txt"],
cmd = "$(location :jvm_args_extractor) $< $@",
tools = [":jvm_args_extractor"],
visibility = ["//visibility:public"],
)
# Extracts the default user-configurable JVM args used in a fresh AS installation.
# The result is used by Studio dev builds and tests.
genrule(
name = "default_user_jvm_args",
srcs = ["@intellij//:vm-options"],
outs = ["default_user_jvm_args.txt"],
cmd = "cp $< $@",
visibility = ["//visibility:public"],
)
java_binary(
name = "updater",
main_class = "com.intellij.updater.Runner",
tags = [
"block_network",
"noci:studio-win",
],
visibility = ["//visibility:public"],
runtime_deps = [
"//tools/adt/idea/.idea/libraries:studio-analytics-proto",
"//tools/adt/idea/studio-updater:intellij.android.updater.studio-updater.jar", # Adds analytics to the updater
"//tools/analytics-library/shared:analytics-shared.jar",
"//tools/analytics-library/tracker:analytics-tracker.jar",
"//tools/base/annotations:studio.android.sdktools.android-annotations.jar",
"//tools/base/common:studio.android.sdktools.common.jar",
"@intellij//:updater",
"@maven//:com.google.code.gson.gson",
"@maven//:com.google.guava.failureaccess",
"@maven//:com.google.guava.guava",
"@maven//:com.google.j2objc.j2objc-annotations",
"@maven//:com.google.protobuf.protobuf-java",
"@maven//:com.nothome.javaxdelta",
"@maven//:it.unimi.dsi.fastutil",
"@maven//:log4j.log4j",
"@maven//:net.java.dev.jna.jna",
"@maven//:net.java.dev.jna.jna-platform",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib-common",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib-jdk7",
"@maven//:org.jetbrains.kotlin.kotlin-stdlib-jdk8",
],
)
# managed by go/iml_to_build
iml_module(
name = "studio",
srcs = ["src"],
iml_files = ["studio.iml"],
visibility = ["//visibility:public"],
# do not sort: must match IML order
deps = [
"//tools/adt/idea/android-plugin:intellij.android.plugin",
"//tools/vendor/google/android-apk",
"//tools/adt/idea/compose-ide-plugin:intellij.android.compose-ide-plugin",
"//tools/adt/idea/design-plugin:intellij.android.design-plugin",
"//tools/vendor/google/android-ndk",
"//tools/vendor/google/git4insights",
"//tools/vendor/google/firebase",
"//tools/studio/google/cloud/testing/directaccess",
"//tools/studio/google/cloud/testing/firebase-testing",
"//tools/vendor/google/login:google-login",
"//tools/adt/idea/smali:intellij.android.smali",
"//tools/studio/google/cloud/testing/test-recorder",
"//tools/vendor/google/url-assistant",
"//tools/vendor/google/targetsdkversion-upgrade-assistant",
"//tools/adt/idea/gmd-code-completion:intellij.android.gmd-code-completion",
"//tools/vendor/google/ml/aiplugin/android-plugin:aiplugin.android-plugin",
"//tools/vendor/google/ml/aiplugin/experimental:aiplugin.experimental",
"//tools/adt/idea/studio:studio-sdk-all-plugins",
"@intellij//:intellij-sdk",
"@intellij//:com.intellij.java",
],
)
# managed by go/iml_to_build
iml_module(
name = "intellij.android.studio.tests",
data = [
# These are to be able to create patches in the test.
":updater",
":updater.jar",
],
iml_files = ["tests/intellij.android.studio.tests.iml"],
tags = [
"noci:studio-win",
],
test_class = "com.android.testutils.JarTestSuite",
test_data = [
":android-studio.linux.zip",
":android-studio.mac.zip",
":android-studio.plugin.lst",
":android-studio.win.zip",
],
# do not sort: must match IML order
test_deps = [
"//tools/adt/idea/.idea/libraries:junit4",
"@intellij//:intellij-sdk",
"//tools/base/perf-logger:studio.perf-logger",
"//tools/base/testutils:studio.android.sdktools.testutils",
],
test_srcs = ["tests/testSrc"],
visibility = ["//visibility:public"],
# do not sort: must match IML order
deps = [
"@intellij//:com.intellij.java",
"//tools/adt/idea/.idea/libraries:studio-grpc",
"//tools/adt/idea/.idea/libraries:studio-proto",
],
)
# managed by go/iml_to_build
iml_module(
name = "intellij.android.studio.integration",
enable_tests = False,
iml_files = ["integration/intellij.android.studio.integration/intellij.android.studio.integration.iml"],
# do not sort: must match IML order
test_deps = [
"//tools/adt/idea/.idea/libraries:junit4",
"//prebuilts/tools/common/m2:junit-4.12",
"//tools/adt/idea/as-driver:as-driver.utils",
"//tools/base/common:studio.android.sdktools.common",
"//tools/base/testutils:studio.android.sdktools.testutils",
"@intellij//:intellij-sdk",
"//tools/adt/idea/.idea/libraries:truth",
],
test_srcs = ["integration/intellij.android.studio.integration/testSrc"],
visibility = ["//visibility:public"],
)
iml_test(
name = "StartUpTest",
module = ":intellij.android.studio.integration",
tags_linux = ["block-network"],
tags_mac = [
"ci:studio-mac",
"ci:studio-mac-arm",
"cpu:4",
],
tags_windows = ["block-network"],
test_class = "com.android.tools.idea.StartUpTest",
)
iml_test(
name = "StartUpCustomJvmTest",
module = ":intellij.android.studio.integration",
tags_linux = ["block-network"],
tags_windows = ["block-network"],
test_class = "com.android.tools.idea.StartUpCustomJvmTest",
)
iml_test(
name = "EssentialPluginsTest",
module = ":intellij.android.studio.integration",
tags_linux = ["block-network"],
tags_windows = ["block-network"],
test_class = "com.android.tools.idea.EssentialPluginsTest",
)
iml_test(
name = "UpdateTest",
data = [
":updater",
":updater.jar",
],
module = ":intellij.android.studio.integration",
tags_linux = ["block-network"],
tags_windows = ["block-network"],
test_class = "com.android.tools.idea.UpdateTest",
)
iml_test(
name = "WebpSupportTest",
module = ":intellij.android.studio.integration",
# TODO(b/302730760) enable test when WebP support is fully fixed
tags = ["manual"],
tags_linux = ["block-network"],
tags_windows = ["block-network"],
test_class = "com.android.tools.idea.WebpSupportTest",
)
exports_files(
["intellij_test.py"],
visibility = ["//visibility:public"],
)
# TODO(b/239839457): Remove this export when a real metadata file is generated.
exports_files(["metadata.textproto.template"])
# managed by go/iml_to_build
iml_module(
name = "studio-sdk-all-plugins",
iml_files = ["studio-sdk-all-plugins.iml"],
visibility = ["//visibility:public"],
# do not sort: must match IML order
runtime_deps = [
"@intellij//:intellij-sdk",
"@intellij//:Coverage",
"@intellij//:Git4Idea",
"@intellij//:HtmlTools",
"@intellij//:JUnit",
"@intellij//:Subversion",
"@intellij//:TestNG-J",
"@intellij//:com.intellij.cidr.base",
"@intellij//:com.intellij.cidr.debugger",
"@intellij//:com.intellij.cidr.lang",
"@intellij//:com.intellij.cidr.lang.clangd",
"@intellij//:com.intellij.cidr.lang.clangdBridge",
"@intellij//:com.intellij.completion.ml.ranking",
"@intellij//:com.intellij.compose",
"@intellij//:com.intellij.configurationScript",
"@intellij//:com.intellij.copyright",
"@intellij//:com.intellij.dev",
"@intellij//:com.intellij.gradle",
"@intellij//:com.intellij.java",
"@intellij//:com.intellij.java-i18n",
"@intellij//:com.intellij.java.ide",
"@intellij//:com.intellij.modules.json",
"@intellij//:com.intellij.platform.images",
"@intellij//:com.intellij.plugins.eclipsekeymap",
"@intellij//:com.intellij.plugins.netbeanskeymap",
"@intellij//:com.intellij.plugins.visualstudiokeymap",
"@intellij//:com.intellij.properties",
"@intellij//:com.intellij.tasks",
"@intellij//:com.intellij.turboComplete",
"@intellij//:com.jetbrains.performancePlugin",
"@intellij//:com.jetbrains.sh",
"@intellij//:hg4idea",
"@intellij//:intellij.compose.ide.plugin.gradleTooling.rt",
"@intellij//:intellij.debugger.streams.core",
"@intellij//:intellij.git.commit.modal",
"@intellij//:intellij.grid",
"@intellij//:intellij.grid.core.impl",
"@intellij//:intellij.grid.csv.core.impl",
"@intellij//:intellij.grid.impl",
"@intellij//:intellij.grid.types",
"@intellij//:intellij.java.featuresTrainer",
"@intellij//:intellij.java.structuralSearch",
"@intellij//:intellij.java.unscramble",
"@intellij//:intellij.java.vcs",
"@intellij//:intellij.json.split",
"@intellij//:intellij.jvm.analysis.impl",
"@intellij//:intellij.libraries.compose.foundation.desktop",
"@intellij//:intellij.libraries.grpc",
"@intellij//:intellij.libraries.grpc.netty.shaded",
"@intellij//:intellij.libraries.ktor.client",
"@intellij//:intellij.libraries.ktor.client.cio",
"@intellij//:intellij.libraries.microba",
"@intellij//:intellij.libraries.skiko",
"@intellij//:intellij.performanceTesting.frontend",
"@intellij//:intellij.platform.bookmarks.backend",
"@intellij//:intellij.platform.bookmarks.frontend",
"@intellij//:intellij.platform.clouds",
"@intellij//:intellij.platform.collaborationTools",
"@intellij//:intellij.platform.compose",
"@intellij//:intellij.platform.compose.markdown",
"@intellij//:intellij.platform.coverage",
"@intellij//:intellij.platform.coverage.agent",
"@intellij//:intellij.platform.debugger.impl.backend",
"@intellij//:intellij.platform.debugger.impl.frontend",
"@intellij//:intellij.platform.diagnostic.freezeAnalyzer",
"@intellij//:intellij.platform.diagnostic.freezes",
"@intellij//:intellij.platform.editor",
"@intellij//:intellij.platform.editor.backend",
"@intellij//:intellij.platform.editor.frontend",
"@intellij//:intellij.platform.execution.dashboard",
"@intellij//:intellij.platform.execution.serviceView",
"@intellij//:intellij.platform.frontend",
"@intellij//:intellij.platform.images.backend.svg",
"@intellij//:intellij.platform.images.copyright",
"@intellij//:intellij.platform.inline.completion",
"@intellij//:intellij.platform.jewel.foundation",
"@intellij//:intellij.platform.jewel.ideLafBridge",
"@intellij//:intellij.platform.jewel.markdown.core",
"@intellij//:intellij.platform.jewel.markdown.extensions.autolink",
"@intellij//:intellij.platform.jewel.markdown.extensions.gfmAlerts",
"@intellij//:intellij.platform.jewel.markdown.extensions.gfmStrikethrough",
"@intellij//:intellij.platform.jewel.markdown.extensions.gfmTables",
"@intellij//:intellij.platform.jewel.markdown.extensions.images",
"@intellij//:intellij.platform.jewel.markdown.ideLafBridgeStyling",
"@intellij//:intellij.platform.jewel.ui",
"@intellij//:intellij.platform.kernel.backend",
"@intellij//:intellij.platform.lvcs.impl",
"@intellij//:intellij.platform.navbar",
"@intellij//:intellij.platform.navbar.backend",
"@intellij//:intellij.platform.navbar.frontend",
"@intellij//:intellij.platform.navbar.monolith",
"@intellij//:intellij.platform.progress.backend",
"@intellij//:intellij.platform.project.backend",
"@intellij//:intellij.platform.recentFiles",
"@intellij//:intellij.platform.recentFiles.backend",
"@intellij//:intellij.platform.recentFiles.frontend",
"@intellij//:intellij.platform.rpc.backend",
"@intellij//:intellij.platform.searchEverywhere",
"@intellij//:intellij.platform.searchEverywhere.backend",
"@intellij//:intellij.platform.searchEverywhere.frontend",
"@intellij//:intellij.platform.settings.local",
"@intellij//:intellij.platform.smRunner.vcs",
"@intellij//:intellij.platform.vcs.dvcs.impl",
"@intellij//:intellij.platform.vcs.dvcs.impl.shared",
"@intellij//:intellij.platform.vcs.impl",
"@intellij//:intellij.platform.vcs.impl.backend",
"@intellij//:intellij.platform.vcs.impl.exec",
"@intellij//:intellij.platform.vcs.impl.frontend",
"@intellij//:intellij.platform.vcs.impl.lang",
"@intellij//:intellij.platform.vcs.impl.lang.actions",
"@intellij//:intellij.platform.vcs.impl.shared",
"@intellij//:intellij.platform.vcs.log.impl",
"@intellij//:intellij.rml.dfa.impl",
"@intellij//:intellij.settingsSync.core",
"@intellij//:intellij.turboComplete.languages.kotlin.k1",
"@intellij//:intellij.webp",
"@intellij//:intellij.yaml.backend",
"@intellij//:org.editorconfig.editorconfigjetbrains",
"@intellij//:org.intellij.groovy",
"@intellij//:org.intellij.intelliLang",
"@intellij//:org.intellij.plugins.markdown",
"@intellij//:org.jetbrains.debugger.streams",
"@intellij//:org.jetbrains.idea.maven.model",
"@intellij//:org.jetbrains.idea.maven.server.api",
"@intellij//:org.jetbrains.idea.reposearch",
"@intellij//:org.jetbrains.java.decompiler",
"@intellij//:org.jetbrains.kotlin",
"@intellij//:org.jetbrains.plugins.clangConfig",
"@intellij//:org.jetbrains.plugins.clangFormat",
"@intellij//:org.jetbrains.plugins.github",
"@intellij//:org.jetbrains.plugins.gitlab",
"@intellij//:org.jetbrains.plugins.gradle",
"@intellij//:org.jetbrains.plugins.terminal",
"@intellij//:org.jetbrains.plugins.textmate",
"@intellij//:org.jetbrains.plugins.yaml",
"@intellij//:org.toml.lang",
],
)
# managed by go/iml_to_build
iml_module(
name = "studio-sdk-all-modules",
iml_files = ["studio-sdk-all-modules.iml"],
visibility = ["//visibility:public"],
# do not sort: must match IML order
runtime_deps = [
"@intellij//:intellij.compose.ide.plugin.gradleTooling.rt",
"@intellij//:intellij.debugger.streams.core",
"@intellij//:intellij.grid",
"@intellij//:intellij.grid.core.impl",
"@intellij//:intellij.grid.csv.core.impl",
"@intellij//:intellij.grid.impl",
"@intellij//:intellij.grid.types",
"@intellij//:intellij.java.featuresTrainer",
"@intellij//:intellij.java.structuralSearch",
"@intellij//:intellij.java.unscramble",
"@intellij//:intellij.java.vcs",
"@intellij//:intellij.json.split",
"@intellij//:intellij.jvm.analysis.impl",
"@intellij//:intellij.libraries.compose.foundation.desktop",
"@intellij//:intellij.libraries.grpc",
"@intellij//:intellij.libraries.grpc.netty.shaded",
"@intellij//:intellij.libraries.ktor.client",
"@intellij//:intellij.libraries.ktor.client.cio",
"@intellij//:intellij.libraries.microba",
"@intellij//:intellij.libraries.skiko",
"@intellij//:intellij.performanceTesting.frontend",
"@intellij//:intellij.platform.bookmarks.backend",
"@intellij//:intellij.platform.bookmarks.frontend",
"@intellij//:intellij.platform.clouds",
"@intellij//:intellij.platform.collaborationTools",
"@intellij//:intellij.platform.compose",
"@intellij//:intellij.platform.compose.markdown",
"@intellij//:intellij.platform.coverage",
"@intellij//:intellij.platform.coverage.agent",
"@intellij//:intellij.platform.debugger.impl.backend",
"@intellij//:intellij.platform.debugger.impl.frontend",
"@intellij//:intellij.platform.diagnostic.freezeAnalyzer",
"@intellij//:intellij.platform.diagnostic.freezes",
"@intellij//:intellij.platform.editor",
"@intellij//:intellij.platform.editor.backend",
"@intellij//:intellij.platform.editor.frontend",
"@intellij//:intellij.platform.execution.dashboard",
"@intellij//:intellij.platform.execution.serviceView",
"@intellij//:intellij.platform.frontend",
"@intellij//:intellij.platform.images.backend.svg",
"@intellij//:intellij.platform.images.copyright",
"@intellij//:intellij.platform.inline.completion",
"@intellij//:intellij.platform.jewel.foundation",
"@intellij//:intellij.platform.jewel.ideLafBridge",
"@intellij//:intellij.platform.jewel.markdown.core",
"@intellij//:intellij.platform.jewel.markdown.extensions.autolink",
"@intellij//:intellij.platform.jewel.markdown.extensions.gfmAlerts",
"@intellij//:intellij.platform.jewel.markdown.extensions.gfmStrikethrough",
"@intellij//:intellij.platform.jewel.markdown.extensions.gfmTables",
"@intellij//:intellij.platform.jewel.markdown.extensions.images",
"@intellij//:intellij.platform.jewel.markdown.ideLafBridgeStyling",
"@intellij//:intellij.platform.jewel.ui",
"@intellij//:intellij.platform.kernel.backend",
"@intellij//:intellij.platform.lvcs.impl",
"@intellij//:intellij.platform.navbar",
"@intellij//:intellij.platform.navbar.backend",
"@intellij//:intellij.platform.navbar.frontend",
"@intellij//:intellij.platform.navbar.monolith",
"@intellij//:intellij.platform.progress.backend",
"@intellij//:intellij.platform.project.backend",
"@intellij//:intellij.platform.recentFiles",
"@intellij//:intellij.platform.recentFiles.backend",
"@intellij//:intellij.platform.recentFiles.frontend",
"@intellij//:intellij.platform.rpc.backend",
"@intellij//:intellij.platform.searchEverywhere",
"@intellij//:intellij.platform.searchEverywhere.backend",
"@intellij//:intellij.platform.searchEverywhere.frontend",
"@intellij//:intellij.platform.settings.local",
"@intellij//:intellij.platform.smRunner.vcs",
"@intellij//:intellij.platform.vcs.dvcs.impl",
"@intellij//:intellij.platform.vcs.dvcs.impl.shared",
"@intellij//:intellij.platform.vcs.impl",
"@intellij//:intellij.platform.vcs.impl.backend",
"@intellij//:intellij.platform.vcs.impl.exec",
"@intellij//:intellij.platform.vcs.impl.frontend",
"@intellij//:intellij.platform.vcs.impl.lang",
"@intellij//:intellij.platform.vcs.impl.lang.actions",
"@intellij//:intellij.platform.vcs.impl.shared",
"@intellij//:intellij.platform.vcs.log.impl",
"@intellij//:intellij.rml.dfa.impl",
"@intellij//:intellij.settingsSync.core",
"@intellij//:intellij.turboComplete.languages.kotlin.k1",
"@intellij//:intellij.yaml.backend",
],
)