load("//tools/bzl:junit.bzl", "junit_tests")
load(
    "//tools/bzl:plugin.bzl",
    "PLUGIN_DEPS",
    "PLUGIN_TEST_DEPS",
    "gerrit_plugin",
)

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 = [
        "@animal-sniffer-annotations//jar",
        "@auto-value-annotations//jar",
        "@auto-value//jar",
        "@checker-qual//jar",
        "@commons-codec//jar",
        "@commons-logging//jar",
        "@conscrypt-openjdk-uber//jar",
        "@error_prone_annotations//jar",
        "@failureaccess//jar",
        "@gax-grpc//jar",
        "@gax-httpjson//jar",
        "@gax//jar",
        "@global-refdb//jar",
        "@google-api-common//jar",
        "@google-auth-library-credentials//jar",
        "@google-auth-library-oauth2-http//jar",
        "@google-cloud-core-grpc//jar",
        "@google-cloud-core//jar",
        "@google-cloud-spanner//jar",
        "@google-cloud-storage//jar",
        "@google-code-gson//jar",
        "@google-http-client-gson//jar",
        "@google-http-client-jackson//jar",
        "@google-http-client//jar",
        "@google-oauth-client-jetty//jar",
        "@grpc-alts//jar",
        "@grpc-api//jar",
        "@grpc-auth//jar",
        "@grpc-context//jar",
        "@grpc-core//jar",
        "@grpc-gcp//jar",
        "@grpc-google-cloud-spanner-admin-database-v1//jar",
        "@grpc-google-cloud-spanner-admin-instance-v1//jar",
        "@grpc-google-cloud-spanner-v1//jar",
        "@grpc-google-common-protos//jar",
        "@grpc-googleapis//jar",
        "@grpc-grpclb//jar",
        "@grpc-netty//jar",
        "@grpc-protobuf-lite//jar",
        "@grpc-protobuf//jar",
        "@grpc-rls//jar",
        "@grpc-services//jar",
        "@grpc-stub//jar",
        "@grpc-xds//jar",
        "@guava//jar",
        "@httpclient//jar",
        "@httpcore//jar",
        "@j2objc-annotations//jar",
        "@jackson-annotations//jar",
        "@jackson-core//jar",
        "@jackson-databind//jar",
        "@jackson-dataformat-cbor//jar",
        "@javax-annotation-api//jar",
        "@joda-time//jar",
        "@listenablefuture//jar",
        "@netty-buffer//jar",
        "@netty-codec-http//jar",
        "@netty-codec-http2//jar",
        "@netty-codec//jar",
        "@netty-common//jar",
        "@netty-handler-proxy//jar",
        "@netty-handler//jar",
        "@netty-resolver//jar",
        "@netty-transport-native-unix-common//jar",
        "@netty-transport//jar",
        "@opencensus-api//jar",
        "@opencensus-contrib-grpc-util//jar",
        "@opencensus-contrib-http-util//jar",
        "@opencensus-proto//jar",
        "@perfmark-api//jar",
        "@proto-google-cloud-spanner-admin-database-v1//jar",
        "@proto-google-cloud-spanner-admin-instance-v1//jar",
        "@proto-google-cloud-spanner-v1//jar",
        "@proto-google-common-protos//jar",
        "@proto-google-iam-v1//jar",
        "@protobuf-java-util//jar",
        "@protobuf-java//jar",
        "@re2j//jar",
        "@threetenbp//jar",
    ],
)

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

java_library(
    name = "spanner-refdb__plugin_test_deps",
    testonly = 1,
    visibility = ["//visibility:public"],
    exports = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
        ":spanner-refdb__plugin",
        "@docker-java-api//jar",
        "@docker-java-transport-zerodep//jar",
        "@docker-java-transport//jar",
        "@duct-tape//jar",
        "@global-refdb//jar",
        "@google-auth-library-oauth2-http//jar",
        "@google-cloud-core//jar",
        "@google-cloud-spanner//jar",
        "@testcontainer-gcloud//jar",
        "@testcontainers//jar",
    ],
)
