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

gerrit_plugin(
    name = "events-gcloud-pubsub",
    srcs = glob(["src/main/java/**/*.java"]),
    manifest_entries = [
        "Gerrit-PluginName: events-gcloud-pubsub",
        "Gerrit-Module: com.googlesource.gerrit.plugins.pubsub.Module",
        "Implementation-Title: Gerrit events listener to send events to an external GCloud PubSub broker",
        "Implementation-URL: https://gerrit.googlesource.com/plugins/events-gcloud-pubsub",
    ],
    resources = glob(["src/main/resources/**/*"]),
    deps = [
        ":events-broker-neverlink",
        "@api-common//jar",
        "@gax-grpc//jar",
        "@gax//jar",
        "@google-auth-library-credentials//jar",
        "@google-auth-library-oauth2-http//jar",
        "@google-cloud-pubsub-proto//jar",
        "@google-cloud-pubsub//jar",
        "@google-http-client-gson//jar",
        "@google-http-client//jar",
        "@grpc-alts//jar",
        "@grpc-api//jar",
        "@grpc-auth//jar",
        "@grpc-context//jar",
        "@grpc-core//jar",
        "@grpc-netty-shaded//jar",
        "@grpc-protobuf-lite//jar",
        "@grpc-protobuf//jar",
        "@grpc-stub//jar",
        "@opencensus-api//jar",
        "@opencensus-contrib-http-util//jar",
        "@perfmark-api//jar",
        "@proto-google-common-protos//jar",
        "@proto-google-iam-v1//jar",
        "@threetenbp//jar",
    ],
)

junit_tests(
    name = "events-gcloud-pubsub_tests",
    srcs = glob(["src/test/java/**/*.java"]),
    tags = ["events-gcloud-pubsub"],
    deps = [
        ":events-gcloud-pubsub__plugin_test_deps",
        "//lib/testcontainers",
        "//plugins/events-broker",
        "@api-common//jar",
        "@gax-grpc//jar",
        "@gax//jar",
        "@google-auth-library-credentials//jar",
        "@google-auth-library-oauth2-http//jar",
        "@google-cloud-pubsub-proto//jar",
        "@google-cloud-pubsub//jar",
        "@google-http-client-gson//jar",
        "@google-http-client//jar",
        "@grpc-alts//jar",
        "@grpc-api//jar",
        "@grpc-context//jar",
        "@grpc-core//jar",
        "@grpc-netty-shaded//jar",
        "@grpc-protobuf-lite//jar",
        "@grpc-protobuf//jar",
        "@grpc-stub//jar",
        "@opencensus-api//jar",
        "@opencensus-contrib-http-util//jar",
        "@perfmark-api//jar",
        "@proto-google-common-protos//jar",
        "@proto-google-iam-v1//jar",
        "@testcontainers-gcloud//jar",
        "@threetenbp//jar",
    ],
)

java_library(
    name = "events-gcloud-pubsub__plugin_test_deps",
    testonly = 1,
    visibility = ["//visibility:public"],
    exports = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
        ":events-gcloud-pubsub__plugin",
        "//lib/jackson:jackson-annotations",
        "//lib/testcontainers",
        "//lib/testcontainers:docker-java-api",
        "//lib/testcontainers:docker-java-transport",
        "@testcontainers-gcloud//jar",
        "@grpc-api//jar",
        "@gax-grpc//jar",
        "@grpc-netty-shaded//jar",
        "@grpc-core//jar",
        "@threetenbp//jar",
        "@grpc-alts//jar",
        "@grpc-protobuf//jar",
        "@grpc-protobuf-lite//jar",
        "@proto-google-iam-v1//jar",
        "@proto-google-common-protos//jar",
        "@google-http-client//jar",
        "@grpc-context//jar",
        "@grpc-stub//jar",
        "@perfmark-api//jar",
        "@google-http-client-gson//jar",
        "@opencensus-api//jar",
        "@opencensus-contrib-http-util//jar",
    ],
)

java_library(
    name = "events-broker-neverlink",
    neverlink = 1,
    exports = ["//plugins/events-broker"],
)
