package(default_visibility = ["//visibility:public"])

load("@bazel_skylib//rules:common_settings.bzl", "string_flag")

filegroup(
    name = "jdk_1_8",
    srcs = ["BUILD"] + select({
        "@platforms//os:macos": glob(["mac/**"]),
        "@platforms//os:windows": glob(["win64/**"]),
        "@platforms//os:linux": glob(["linux/**"]),
    }),
)

filegroup(
    name = "langtools",
    srcs = select({
        "@platforms//os:macos": [
            "mac/Contents/Home/jre/lib/jce.jar",
            "mac/Contents/Home/lib/tools.jar",
        ],
        "@platforms//os:windows": [
            "win64/jre/lib/jce.jar",
            "win64/lib/tools.jar",
        ],
        "@platforms//os:linux": [
            "linux/jre/lib/jce.jar",
            "linux/lib/tools.jar",
        ],
    }),
)

filegroup(
    name = "bootclasspath",
    srcs = select({
        "@platforms//os:macos": glob([
            "mac/Contents/Home/jre/lib/*.jar",
            "mac/Contents/Home/jre/lib/ext/*.jar",
        ]),
        "@platforms//os:windows": glob([
            "win32/jre/lib/*.jar",
            "win32/jre/lib/ext/*.jar",
        ]),
        "@platforms//os:linux": glob([
            "linux/jre/lib/*.jar",
            "linux/jre/lib/ext/*.jar",
        ]),
    }),
)

cc_library(
    name = "jni_headers",
    srcs = [],
    hdrs = select({
        "@platforms//os:macos": glob(["mac/Contents/Home/include/**/*.h"]),
        "@platforms//os:windows": glob(["win64/include/**/*.h"]),
        "//tools/base/bazel:android_cpu_x86": [],
        "//tools/base/bazel:android_cpu_x86_64": [],
        "//tools/base/bazel:android_cpu_arm": [],
        "//tools/base/bazel:android_cpu_arm_64": [],
        "@platforms//os:linux": glob(["linux/include/**/*.h"]),
    }),
    includes = select({
        "@platforms//os:macos": [
            "mac/Contents/Home/include",
            "mac/Contents/Home/include/darwin",
        ],
        "@platforms//os:windows": [
            "win64/include",
            "win64/include/win32",
            "win64/include/win32/bridge",
        ],
        "//tools/base/bazel:android_cpu_x86": [],
        "//tools/base/bazel:android_cpu_x86_64": [],
        "//tools/base/bazel:android_cpu_arm": [],
        "//tools/base/bazel:android_cpu_arm_64": [],
        "@platforms//os:linux": [
            "linux/include",
            "linux/include/linux",
        ],
    }),
    deps = select({
        "//tools/base/bazel:android_cpu_x86": ["//tools/vendor/google/android-ndk:jvmti"],
        "//tools/base/bazel:android_cpu_x86_64": ["//tools/vendor/google/android-ndk:jvmti"],
        "//tools/base/bazel:android_cpu_arm": ["//tools/vendor/google/android-ndk:jvmti"],
        "//tools/base/bazel:android_cpu_arm_64": ["//tools/vendor/google/android-ndk:jvmti"],
        "//conditions:default": [],
    }),
)

java_runtime(
    name = "jdk_runtime",
    srcs = select({
        "@platforms//os:macos": glob(["mac/**"]),
        "@platforms//os:windows": glob(["win64/**"]),
        "@platforms//os:linux": glob(["linux/**"]),
    }),
    java_home = select({
        "@platforms//os:macos": "mac/Contents/Home",
        "@platforms//os:windows": "win64",
        "@platforms//os:linux": "linux",
    }),
)

# managed by go/iml_to_build
java_import(
    name = "linux/jre/lib/rt",
    jars = ["linux/jre/lib/rt.jar"],
    visibility = ["//tools/idea/plugins/xslt-debugger:__subpackages__"],
)

filegroup(
    name = "mock-jdk17",
    srcs = [
        "mock-jdk17/jre/lib/annotations.jar",
        "mock-jdk17/jre/lib/rt.jar",
        "mock-jdk17/src.zip",
    ],
    visibility = ["//visibility:public"],
)

string_flag(
    name = "embedded_jdk_version",
    build_setting_default = "11",
    visibility = ["//visibility:private"],
)

config_setting(
    name = "embedded_jdk11_config",
    flag_values = {
        ":embedded_jdk_version": "11",
    },
    visibility = ["//visibility:private"],
)

config_setting(
    name = "embedded_jdk17_config",
    flag_values = {
        ":embedded_jdk_version": "17",
    },
    visibility = ["//visibility:private"],
)

alias(
    name = "jdk-bundle",
    actual = select({
        ":embedded_jdk11_config": "//prebuilts/studio/jdk/jdk11-runtime:jdk-bundle",
        ":embedded_jdk17_config": "//prebuilts/studio/jdk/jdk17-runtime:jdk-bundle",
    }),
)

# Aliases to targets moved to ./jdk11/BUILD for backward compatibility
# TODO replace alias references to direct

alias(
    name = "jdk11",
    actual = "//prebuilts/studio/jdk/jdk11:jdk11",
)

alias(
    name = "jdk11_runtime",
    actual = "//prebuilts/studio/jdk/jdk11:jdk11_runtime",
)

alias(
    name = "jdk11_runtime_linux_files",
    actual = "//prebuilts/studio/jdk/jdk11:jdk11_runtime_linux_files",
)

alias(
    name = "jdk11_toolchain_java11",
    actual = "//prebuilts/studio/jdk/jdk11:jdk11_toolchain_java11",
)

alias(
    name = "jdk11_toolchain_java11_definition",
    actual = "//prebuilts/studio/jdk/jdk11:jdk11_toolchain_java11_definition",
)

alias(
    name = "jdk11_toolchain_java8",
    actual = "//prebuilts/studio/jdk/jdk11:jdk11_toolchain_java8",
)

alias(
    name = "jdk11_toolchain_java8_definition",
    actual = "//prebuilts/studio/jdk/jdk11:jdk11_toolchain_java8_definition",
)
