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",
        "Gerrit-InitStep: com.googlesource.gerrit.plugins.pubsub.InitConfig",
        "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 = [
        "@api-common//jar",
        "@events-broker//jar:neverlink",
        "@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",
        "@api-common//jar",
        "@events-broker//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",
        "@jackson-annotations//jar",
        "@testcontainers//jar",
        "@docker-java-api//jar",
        "@docker-java-transport//jar",
        "@duct-tape//jar",
        "@visible-assertions//jar",
        "@jna//jar",
        "@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",
    ],
)
