| module(name = "gerrit-high-availability-gcp") | |
| bazel_dep(name = "rules_jvm_external", version = "6.10") | |
| bazel_dep(name = "com_googlesource_gerrit_bazlets") | |
| git_override( | |
| module_name = "com_googlesource_gerrit_bazlets", | |
| commit = "fe7c19542f8dc0a5720be3a93dbbdd05551003ec", | |
| remote = "https://gerrit.googlesource.com/bazlets", | |
| ) | |
| GERRIT_API_VERS = "3.13.5" | |
| gerrit_api_version = use_repo_rule("@com_googlesource_gerrit_bazlets//:gerrit_api_version.bzl", "gerrit_api_version") | |
| gerrit_api_version( | |
| name = "gerrit_api_version", | |
| version = GERRIT_API_VERS, | |
| visibility = ["//visibility:public"], | |
| ) | |
| maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") | |
| maven.install( | |
| name = "external_plugin_deps", | |
| artifacts = [ | |
| "com.google.gerrit:gerrit-plugin-api:" + GERRIT_API_VERS, | |
| "com.google.gerrit:gerrit-acceptance-framework:" + GERRIT_API_VERS, | |
| ], | |
| # IMPORTANT: | |
| # Do NOT set lock_file here. | |
| # | |
| # This repository is intentionally shared across plugins and contains | |
| # only Gerrit-provided APIs (gerrit-plugin-api and acceptance framework) | |
| # that are provided by Gerrit at runtime and must not be bundled into | |
| # the plugin JAR. | |
| # | |
| # When built in-tree, rules_jvm_external merges maven.install() tags | |
| # with the same name across all modules. Defining a lock_file for this | |
| # shared repository in more than one plugin causes multiple lock files | |
| # to be contributed for the same repository name, which is rejected by | |
| # rules_jvm_external during module extension evaluation. | |
| # | |
| # Plugin runtime dependencies must instead be declared in a | |
| # plugin-specific repository (e.g. oauth_plugin_deps) that owns | |
| # its own lock file. | |
| ) | |
| use_repo(maven, "external_plugin_deps") | |
| maven.install( | |
| name = "high-availability-gcp_plugin_deps", | |
| artifacts = [ | |
| "com.google.cloud:google-cloud-pubsub:1.141.2", | |
| "io.grpc:grpc-netty-shaded:1.74.0", | |
| "org.testcontainers:gcloud:1.21.4", | |
| "org.testcontainers:testcontainers:1.21.4", | |
| ], | |
| duplicate_version_warning = "error", | |
| excluded_artifacts = [ | |
| "org.slf4j:slf4j-api", | |
| "commons-codec:commons-codec", | |
| "com.google.guava:failureaccess", | |
| "com.google.code.gson:gson", | |
| "org.apache.httpcomponents:httpclient", | |
| "org.apache.httpcomponents:httpcore", | |
| "com.google.j2objc:j2objc-annotations", | |
| "com.google.code.findbugs:jsr305", | |
| "com.google.protobuf:protobuf-java", | |
| ], | |
| fail_if_repin_required = True, | |
| fail_on_missing_checksum = True, | |
| fetch_sources = True, | |
| lock_file = "//:high-availability-gcp_plugin_deps.lock.json", | |
| repositories = [ | |
| "https://repo1.maven.org/maven2", | |
| ], | |
| version_conflict_policy = "pinned", | |
| ) | |
| use_repo(maven, "high-availability-gcp_plugin_deps") |