| 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"])] |