blob: a468ec588528b92d0398fbd6306032b3526d799b [file] [edit]
load(
"@com_googlesource_gerrit_bazlets//:gerrit_plugin.bzl",
"gerrit_acceptance_framework",
"gerrit_api",
"gerrit_api_neverlink",
"gerrit_plugin",
"gerrit_plugin_dependency_tests",
"gerrit_plugin_tests",
)
load("@rules_java//java:defs.bzl", "java_library")
load("//lib/prolog:prolog.bzl", "prolog_cafe_library")
PROLOG_PREDICATES = glob(["src/main/java/gerrit_owners/**/*.java"]) + [
"src/main/java/com/googlesource/gerrit/owners/OwnersMetrics.java",
"src/main/java/com/googlesource/gerrit/owners/OwnersStoredValues.java",
]
java_library(
name = "gerrit-owners-predicates",
srcs = PROLOG_PREDICATES,
deps = [
":prolog-runtime-neverlink",
"//plugins/owners-common-api",
] + gerrit_api_neverlink("gerrit-owners-predicates"),
)
java_library(
name = "prolog-runtime-neverlink",
neverlink = 1,
exports = ["@external_deps//:com_googlecode_prolog_cafe_prolog_runtime"],
)
java_library(
name = "owners-common-api-neverlink",
neverlink = 1,
exports = ["//plugins/owners-common-api"],
)
prolog_cafe_library(
name = "gerrit-owners-prolog-rules",
srcs = glob(["src/main/prolog/*.pl"]),
deps = gerrit_api_neverlink("gerrit-owners-prolog-rules") + [
":gerrit-owners-predicates",
],
)
gerrit_plugin(
name = "owners",
srcs = glob(
[
"src/main/java/**/*.java",
],
exclude = PROLOG_PREDICATES,
),
manifest_entries = [
"Implementation-Title: Gerrit OWNERS plugin",
"Implementation-URL: https://gerrit.googlesource.com/plugins/owners",
"Gerrit-PluginName: owners",
"Gerrit-Module: com.googlesource.gerrit.owners.OwnersModule",
"Gerrit-HttpModule: com.googlesource.gerrit.owners.HttpModule",
],
resource_jars = ["//plugins/owners/web:gr-owners"],
resources = glob(["src/main/resources/**/*"]),
deps = [
":gerrit-owners-predicates",
":gerrit-owners-prolog-rules",
":owners-common-api-neverlink",
],
)
gerrit_plugin_dependency_tests(plugin = "owners")
java_library(
name = "owners__plugin_test_deps",
testonly = 1,
srcs = glob(
["src/test/java/**/*.java"],
exclude = [
"src/test/java/**/*Test.java",
"src/test/java/**/*IT.java",
],
),
visibility = ["//visibility:public"],
exports = gerrit_api() + gerrit_acceptance_framework() + [
":owners",
],
deps = gerrit_api() + gerrit_acceptance_framework() + [
":owners",
],
)
gerrit_plugin_tests(
name = "owners_tests",
srcs = glob(["src/test/java/**/*Test.java"]),
plugin = "owners",
deps = [
":owners__plugin_test_deps",
],
)
[gerrit_plugin_tests(
name = f[:f.index(".")].replace("/", "_"),
srcs = [f],
plugin = "owners",
visibility = ["//visibility:public"],
deps = [
":owners__plugin_test_deps",
],
) for f in glob(["src/test/java/**/*IT.java"])]