blob: 706b28b97f14d3b83756787e6e6dbd150389c1cc [file] [log] [blame]
load("//:bouncycastle.bzl", "bouncycastle_repos")
load("//:gerrit_api_version.bzl", "gerrit_api_version")
load("//:rules_python.bzl", "rules_python_repos")
load("//tools:maven_jar.bzl", "MAVEN_LOCAL", "MAVEN_CENTRAL", "maven_jar")
"""Bazel rule for building [Gerrit Code Review](https://www.gerritcodereview.com/)
gerrit_api is rule for fetching Gerrit plugin API using Bazel.
"""
def gerrit_api(version = "3.0.16",
plugin_api_sha1 = "cf9d69e626981e8da094f3e63e4c1e34fc941ea2",
acceptance_framework_sha1 = "86c27e44ab657db543e35fa283395cbe1fe2f048"):
gerrit_api_version(
name = "gerrit_api_version",
version = version,
)
bouncycastle_repos()
rules_python_repos()
local_repository = version.endswith("-SNAPSHOT")
maven_jar(
name = "gerrit_plugin_api",
artifact = "com.google.gerrit:gerrit-plugin-api:" + version,
sha1 = "" if local_repository else plugin_api_sha1,
repository = MAVEN_LOCAL if local_repository else MAVEN_CENTRAL,
)
maven_jar(
name = "gerrit_acceptance_framework",
artifact = "com.google.gerrit:gerrit-acceptance-framework:" + version,
sha1 = "" if local_repository else acceptance_framework_sha1,
repository = MAVEN_LOCAL if local_repository else MAVEN_CENTRAL,
)
native.bind(
name = "gerrit-plugin-api",
actual = "@gerrit_plugin_api//jar",
)
native.bind(
name = "gerrit-acceptance-framework",
actual = "@gerrit_acceptance_framework//jar",
)
native.bind(
name = "gerrit-plugin-api-neverlink",
actual = "@gerrit_plugin_api//jar:neverlink",
)
native.bind(
name = "gerrit-acceptance-framework-neverlink",
actual = "@gerrit_acceptance_framework//jar:neverlink",
)