load("@rules_java//java:defs.bzl", "java_binary")
load("//tools/base/bazel:bazel.bzl", "iml_module", "iml_test")
load("//tools/base/bazel:jvm_import.bzl", "jvm_import")
load("//tools/base/bazel:kotlin.bzl", "kotlin_library")
load("//tools/base/intellij-bazel:intellij.bzl", "intellij_plugin")

java_binary(
    name = "deploy_env",
    main_class = "NoMain",
    runtime_deps = [
        "@intellij//:intellij-sdk",
    ],
)

kotlin_library(
    name = "wrapper_class_file",
    srcs = glob(["plugin/src/com/android/tools/asdriver/plugin/*.kt"]),
)

intellij_plugin(
    name = "asdriver.plugin",
    directory = "asdriver.plugin",
    libs = [
        "wrapper_class_file",
        "//tools/adt/idea/.idea/libraries:studio-proto",
        "//tools/adt/idea/as-driver:asdriver_proto",
        "//tools/adt/idea/.idea/libraries:studio-grpc",
    ],
    modules = {
        "asdriver-plugin.jar": [
            "//tools/adt/idea/bleak-config:intellij.android.bleak-config",
            "//tools/adt/idea/bleak:intellij.android.bleak",
            ":as-driver.plugin",
        ],
    },
    platforms = [
        "studio-sdk",
    ],
    plugin_id = "com.android.tools.asdriver",
    deps = [
        "@intellij//:com.jetbrains.performancePlugin",
    ],
)

alias(
    name = "studio_zips",
    actual = select({
        "@platforms//os:linux": "//tools/adt/idea/studio:android-studio.linux.zip",
        "//tools/base/bazel/platforms:macos-x86_64": "//tools/adt/idea/studio:android-studio.mac.zip",
        "//tools/base/bazel/platforms:macos-arm64": "//tools/adt/idea/studio:android-studio.mac_arm.zip",
        "@platforms//os:windows": "//tools/adt/idea/studio:android-studio.win.zip",
    }),
)

# managed by go/iml_to_build
iml_module(
    name = "as-driver.utils",
    data = [
        "//prebuilts/studio/sdk:platforms/android-33",
        "//tools/adt/idea/as-driver:asdriver.plugin",
        "//tools/base/threading-agent:threading_agent.jar",
    ] + select({
        "@intellij//:studio-sdk": [":studio_zips"],
        "//conditions:default": ["@intellij//:distribution-zip"],
    }),
    iml_files = ["utils/as-driver.utils.iml"],
    # do not sort: must match IML order
    test_deps = [
        "//tools/adt/idea/.idea/libraries:junit4",
        "//tools/base/testutils:studio.android.sdktools.testutils",
        "//tools/base/repository:studio.android.sdktools.repository",
        "//tools/adt/idea/.idea/libraries:studio-grpc",
        "//tools/adt/idea/.idea/libraries:studio-proto",
        "@intellij//:intellij-sdk",
        "//tools/base/common:studio.android.sdktools.common",
        "//tools/base/perf-logger:studio.perf-logger",
        "//tools/adt/idea/.idea/libraries:studio-analytics-proto",
        "//tools/adt/idea/as-driver:librunfiles",
        "//tools/emulator/testlib:android.sdktools.testlib",
    ],
    test_srcs = ["utils/testSrc"],
    visibility = ["//visibility:public"],
    exports = ["//tools/emulator/testlib:android.sdktools.testlib"],
    # do not sort: must match IML order
    deps = [
        "//prebuilts/tools/common/m2:junit-4.12",
        "//tools/adt/idea/as-driver:asdriver_proto",
    ],
)

# managed by go/iml_to_build
jvm_import(
    name = "asdriver_proto",
    jars = ["//tools/adt/idea/as-driver/proto:asdriver_proto.jar"],
    visibility = ["//visibility:public"],
)

# managed by go/iml_to_build
iml_module(
    name = "as-driver.integration",
    enable_tests = False,
    iml_files = ["integration/as-driver.integration.iml"],
    # do not sort: must match IML order
    test_deps = [
        "//tools/adt/idea/.idea/libraries:junit4",
        "//tools/adt/idea/as-driver:as-driver.utils",
        "@intellij//:intellij-sdk",
        "//tools/emulator/testlib:android.sdktools.testlib",
    ],
    test_srcs = ["integration/testSrc"],
    visibility = ["//visibility:public"],
    # do not sort: must match IML order
    deps = ["//prebuilts/tools/common/m2:junit-4.12"],
)

iml_test(
    name = "ThreadingCheckerTest",
    module = ":as-driver.integration",
    test_class = "com.android.tools.asdriver.tests.integration.ThreadingCheckerTest",
)

# managed by go/iml_to_build
iml_module(
    name = "as-driver.plugin",
    srcs = ["plugin/src"],
    iml_files = ["plugin/as-driver.plugin.iml"],
    resources = ["plugin/resources"],
    visibility = ["//visibility:public"],
    # do not sort: must match IML order
    deps = [
        "//tools/adt/idea/.idea/libraries:studio-proto",
        "@intellij//:intellij-sdk",
        "//tools/adt/idea/as-driver:asdriver_proto",
        "//tools/adt/idea/.idea/libraries:studio-grpc",
        "//tools/adt/idea/bleak:intellij.android.bleak",
        "//tools/adt/idea/bleak-config:intellij.android.bleak-config",
        "@intellij//:com.jetbrains.performancePlugin",
    ],
)

# managed by go/iml_to_build
jvm_import(
    name = "librunfiles",
    jars = ["//tools/base/bazel:librunfiles.jar"],
    visibility = ["//visibility:public"],
)
