blob: a6ddf9ea01dc7e8c251213dc594a20f5503edb25 [file]
module(name = "gerrit-saml")
bazel_dep(name = "rules_java", version = "8.16.1")
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")
PAC4J_VERSION = "3.8.3"
maven.install(
name = "saml_plugin_deps",
artifacts = [
"org.pac4j:pac4j-saml:" + PAC4J_VERSION,
"org.pac4j:pac4j-core:" + PAC4J_VERSION,
],
excluded_artifacts = [
# Provided by Gerrit at runtime, and must not be bundled into the plugin JAR.
"com.google.code.findbugs:jsr305",
"com.google.guava:guava",
"com.google.j2objc:j2objc-annotations",
"commons-codec:commons-codec",
"commons-io:commons-io",
"io.dropwizard.metrics:metrics-core",
"org.apache.httpcomponents:httpclient",
"org.apache.httpcomponents:httpcore",
"org.slf4j:jcl-over-slf4j",
"org.slf4j:slf4j-api",
# Transitive dependencies not used by the plugin, which should not be
# bundled into the plugin JAR.
"antlr:antlr",
"com.beust:jcommander",
"com.sun.istack:istack-commons-runtime",
"com.sun.xml.fastinfoset:FastInfoset",
"dom4j:dom4j",
"jakarta.activation:jakarta.activation-api",
"jakarta.xml.bind:jakarta.xml.bind-api",
"javax.annotation:javax.annotation-api",
"javax.json:javax.json-api",
"net.spy:spymemcached",
"org.bouncycastle:bcprov-jdk15on",
"org.glassfish.jaxb:jaxb-runtime",
"org.glassfish.jaxb:txw2",
"org.glassfish:javax.json",
"org.hibernate.common:hibernate-commons-annotations",
"org.hibernate.javax.persistence:hibernate-jpa-2.1-api",
"org.hibernate:hibernate-core",
"org.hibernate:hibernate-entitymanager",
"org.javassist:javassist",
"org.jboss.logging:jboss-logging",
"org.jboss.logging:jboss-logging-annotations",
"org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec",
"org.jboss:jandex",
"org.jvnet.staxex:stax-ex",
"org.ldaptive:ldaptive",
"org.springframework:spring-beans",
"org.springframework:spring-jcl",
"org.springframework:spring-jdbc",
"org.springframework:spring-orm",
"org.springframework:spring-tx",
"xalan:serializer",
"xalan:xalan",
"xml-apis:xml-apis"
],
duplicate_version_warning = "error",
fail_if_repin_required = True,
fail_on_missing_checksum = True,
fetch_sources = True,
lock_file = "//:saml_plugin_deps.lock.json",
repositories = [
"https://repo1.maven.org/maven2",
"https://build.shibboleth.net/nexus/content/repositories/releases/",
],
version_conflict_policy = "pinned",
)
use_repo(maven, "saml_plugin_deps")