load("//tools/build_defs:fb_native_wrapper.bzl", "fb_native")
load("//tools/build_defs/oss:rn_defs.bzl", "rn_android_library", "rn_prebuilt_jar")

rn_android_library(
    name = "kotlin-stdlib",
    language = "JAVA",
    visibility = ["PUBLIC"],
    exported_deps = [
        ":jetbrains-annotations",
        ":kotlin-stdlib-binary",
        ":kotlin-stdlib-common",
    ],
)

rn_android_library(
    name = "kotlin-stdlib-jdk7",
    language = "JAVA",
    visibility = ["PUBLIC"],
    exported_deps = [
        ":kotlin-stdlib",
        ":kotlin-stdlib-jdk7-binary",
    ],
)

rn_android_library(
    name = "kotlin-stdlib-jdk8",
    language = "JAVA",
    visibility = ["PUBLIC"],
    exported_deps = [
        ":kotlin-stdlib",
        ":kotlin-stdlib-jdk7",
        ":kotlin-stdlib-jdk8-binary",
    ],
)

rn_prebuilt_jar(
    name = "jetbrains-annotations",
    binary_jar = ":annotations-13.0.jar",
    visibility = ["//packages/react-native/ReactAndroid/..."],
)

rn_prebuilt_jar(
    name = "kotlin-stdlib-binary",
    binary_jar = ":kotlin-stdlib.jar",
    visibility = ["//packages/react-native/ReactAndroid/..."],
)

rn_prebuilt_jar(
    name = "kotlin-stdlib-common",
    binary_jar = ":kotlin-stdlib-common.jar",
    visibility = ["//packages/react-native/ReactAndroid/..."],
)

fb_native.remote_file(
    name = "kotlin-stdlib-common.jar",
    sha1 = "0c118700e3a33c8a0d9adc920e9dec0831171925",
    url = "mvn:org.jetbrains.kotlin:kotlin-stdlib-common:jar:1.6.10",
)

rn_prebuilt_jar(
    name = "kotlin-stdlib-jdk7-binary",
    binary_jar = ":kotlin-stdlib-jdk7.jar",
    visibility = ["//packages/react-native/ReactAndroid/..."],
)

fb_native.remote_file(
    name = "kotlin-stdlib-jdk7.jar",
    sha1 = "e1c380673654a089c4f0c9f83d0ddfdc1efdb498",
    url = "mvn:org.jetbrains.kotlin:kotlin-stdlib-jdk7:jar:1.6.10",
)

rn_prebuilt_jar(
    name = "kotlin-stdlib-jdk8-binary",
    binary_jar = ":kotlin-stdlib-jdk8.jar",
    visibility = ["//packages/react-native/ReactAndroid/..."],
)

fb_native.remote_file(
    name = "kotlin-stdlib-jdk8.jar",
    sha1 = "e80fe6ac3c3573a80305f5ec43f86b829e8ab53d",
    url = "mvn:org.jetbrains.kotlin:kotlin-stdlib-jdk8:jar:1.6.10",
)

fb_native.genrule(
    name = "kotlin-compiler-download",
    srcs = [
        ":annotations-13.0.jar",
        ":kotlin-annotation-processing.jar",
        ":kotlin-compiler.jar",
        ":kotlin-compiler-embeddable.jar",
        ":kotlin-reflect.jar",
        ":kotlin-script-runtime.jar",
        ":kotlin-stdlib.jar",
        ":trove4j.jar",
    ],
    out = "kotlin-compiler-out",
    cmd = "mkdir ${OUT} && cp ${SRCS} ${OUT}",
    cmd_exe = "@powershell -Command Copy-Item '${SRCS}' '${OUT}'",
    type = "copy",
)

fb_native.remote_file(
    name = "kotlin-compiler-embeddable.jar",
    sha1 = "88f2073f4020cdb83132cfe940ceb9a60aba54ea",
    url = "mvn:org.jetbrains.kotlin:kotlin-compiler-embeddable:jar:1.6.10",
)

fb_native.remote_file(
    name = "kotlin-compiler.jar",
    sha1 = "d3e2482aae0dfd96eb51054c8845963b9cbcf49f",
    url = "mvn:org.jetbrains.kotlin:kotlin-compiler:jar:1.6.10",
)

fb_native.remote_file(
    name = "kotlin-annotation-processing.jar",
    sha1 = "bdc1313091f9bd04c1d965c9fda16c214f9f27fc",
    url = "mvn:org.jetbrains.kotlin:kotlin-annotation-processing:jar:1.6.10",
)

fb_native.remote_file(
    name = "kotlin-reflect.jar",
    sha1 = "1cbe9c92c12a94eea200d23c2bbaedaf3daf5132",
    url = "mvn:org.jetbrains.kotlin:kotlin-reflect:jar:1.6.10",
)

fb_native.remote_file(
    name = "kotlin-script-runtime.jar",
    sha1 = "d0a7ff2e2500ef497ed0214ae40ad3c8387a6164",
    url = "mvn:org.jetbrains.kotlin:kotlin-script-runtime:jar:1.6.10",
)

fb_native.remote_file(
    name = "kotlin-stdlib.jar",
    sha1 = "b8af3fe6f1ca88526914929add63cf5e7c5049af",
    url = "mvn:org.jetbrains.kotlin:kotlin-stdlib:jar:1.6.10",
)

fb_native.remote_file(
    name = "trove4j.jar",
    sha1 = "3afb14d5f9ceb459d724e907a21145e8ff394f02",
    url = "mvn:org.jetbrains.intellij.deps:trove4j:jar:1.0.20200330",
)

fb_native.remote_file(
    name = "annotations-13.0.jar",
    sha1 = "919f0dfe192fb4e063e7dacadee7f8bb9a2672a9",
    url = "mvn:org.jetbrains:annotations:jar:13.0",
)
