load(
    "@com_googlesource_gerrit_bazlets//:gerrit_plugin.bzl",
    "gerrit_plugin",
    "gerrit_plugin_tests",
)
load(
    "@com_googlesource_gerrit_bazlets//tools:in_gerrit_tree.bzl",
    "in_gerrit_tree_enabled",
)
load(
    "@com_googlesource_gerrit_bazlets//tools:runtime_jars_allowlist.bzl",
    "runtime_jars_allowlist_test",
)
load(
    "@com_googlesource_gerrit_bazlets//tools:runtime_jars_overlap.bzl",
    "runtime_jars_overlap_test",
)
load("@rules_java//java:defs.bzl", "java_library")

gerrit_plugin(
    name = "spanner-refdb",
    srcs = glob(["src/main/java/**/*.java"]),
    manifest_entries = [
        "Gerrit-PluginName: spanner-refdb",
        "Gerrit-Module: com.googlesource.gerrit.plugins.spannerrefdb.Module",
        "Implementation-Title: Google Cloud Spanner shared ref-database implementation",
        "Implementation-URL: https://gerrit.googlesource.com/plugins/spanner-refdb",
    ],
    resources = glob(["src/main/resources/**/*"]),
    deps = [
        ":global-refdb-neverlink",
        "@spanner-refdb_plugin_deps//:com_google_cloud_google_cloud_spanner_jdbc_single_jar_with_dependencies",
    ],
)

gerrit_plugin_tests(
    name = "spanner-refdb_tests",
    srcs = glob(["src/test/java/**/*Test.java"]),
    resources = glob(["src/main/resources/**/*"]),
    tags = ["spanner-refdb"],
    deps = [
        ":spanner-refdb__plugin_test_deps",
        ":spanner-refdb_test_util",
    ],
)

java_library(
    name = "spanner-refdb_test_util",
    testonly = True,
    srcs = glob(
        ["src/test/java/**/*.java"],
        exclude = ["src/test/java/**/*Test.java"],
    ),
    deps = [
        ":spanner-refdb__plugin_test_deps",
        "//plugins:plugin-lib-neverlink",
    ],
)

java_library(
    name = "spanner-refdb__plugin_test_deps",
    testonly = 1,
    visibility = ["//visibility:public"],
    exports = [
        ":spanner-refdb__plugin",
        "//plugins/global-refdb",
        "@spanner-refdb_plugin_deps//:com_google_cloud_google_cloud_spanner_jdbc_single_jar_with_dependencies",
        "@spanner-refdb_plugin_deps//:org_testcontainers_gcloud",
        "@spanner-refdb_plugin_deps//:org_testcontainers_testcontainers",
    ],
)

java_library(
    name = "global-refdb-neverlink",
    neverlink = 1,
    exports = ["//plugins/global-refdb"],
)

runtime_jars_allowlist_test(
    name = "check_spanner-refdb_third_party_runtime_jars",
    allowlist = ":spanner-refdb_third_party_runtime_jars.allowlist.txt",
    hint = "plugins/spanner-refdb:check_spanner-refdb_third_party_runtime_jars_manifest",
    target = ":spanner-refdb__plugin",
)

runtime_jars_overlap_test(
    name = "spanner-refdb_no_overlap_with_gerrit",
    against = "//:headless.war.jars.txt",
    hint = "Exclude overlaps via maven.install(excluded_artifacts=[...]) and re-run this test.",
    target = ":spanner-refdb__plugin",
    target_compatible_with = in_gerrit_tree_enabled(),
)
