load("@rules_jvm_external//:defs.bzl", "artifact")
load("@rules_java//java:java_library.bzl", "java_library")
load("@rules_java//java:java_binary.bzl", "java_binary")

java_library(
    name = "api",
    srcs = glob(["api/main/**/*.java"]),
    visibility = ["//visibility:public"],
    deps = [
        "//core-lib:core",
        artifact("io.papermc.paper:paper-api"),
        artifact("de.kentoj.scrow:kencommandapi-bukkit"),
    ],
    exports = [
        "//core-lib:core",
        artifact("de.kentoj.scrow:kencommandapi-bukkit"),
        artifact("org.mongodb:bson"),
    ],
)

java_binary(
    name = "_plugin",
    srcs = glob(["plugin/main/**/*.java"]),
    create_executable = False,
    resources = glob(["plugin/main/resources/**"]),
    resource_strip_prefix = "core-bukkit/plugin/main/resources",
    deps = [
        ":api",
        artifact("net.luckperms:api"),
        artifact("io.papermc.paper:paper-api"),
        artifact("io.nats:jnats"),
        artifact("net.kyori:adventure-key:5.2.0"),
        artifact("org.postgresql:postgresql"),
    ],
)

genrule(
    name = "plugin",
    srcs = [":_plugin_deploy.jar"],
    outs = ["plugin.jar"],
    cmd = "cp $< $@",
    visibility = ["//visibility:public"],
)