Convert to bzlmod

Convert the project bzlmod using the latest
Gerrit master definition template.

Co-Authored-By: Daniele Sassoli <danielesassoli@gmail.com>
Change-Id: I9670fa722b838fb2b9e912d76d6628c35a4e58f7
diff --git a/BUILD b/BUILD
index c9be8f6..a468ec5 100644
--- a/BUILD
+++ b/BUILD
@@ -1,6 +1,14 @@
-load("//tools/bzl:plugin.bzl", "PLUGIN_DEPS", "PLUGIN_DEPS_NEVERLINK", "PLUGIN_TEST_DEPS", "gerrit_plugin")
+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")
-load("//tools/bzl:junit.bzl", "junit_tests")
 
 PROLOG_PREDICATES = glob(["src/main/java/gerrit_owners/**/*.java"]) + [
     "src/main/java/com/googlesource/gerrit/owners/OwnersMetrics.java",
@@ -11,15 +19,27 @@
     name = "gerrit-owners-predicates",
     srcs = PROLOG_PREDICATES,
     deps = [
-        ":owners-common-api-neverlink",
-        "@external_deps//:com_googlecode_prolog_cafe_prolog_runtime",
-    ] + PLUGIN_DEPS_NEVERLINK,
+        ":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 = PLUGIN_DEPS_NEVERLINK + [
+    deps = gerrit_api_neverlink("gerrit-owners-prolog-rules") + [
         ":gerrit-owners-predicates",
     ],
 )
@@ -48,13 +68,7 @@
     ],
 )
 
-java_library(
-    name = "owners-common-api-neverlink",
-    neverlink = 1,
-    exports = [
-        "//plugins/owners-common-api",
-    ],
-)
+gerrit_plugin_dependency_tests(plugin = "owners")
 
 java_library(
     name = "owners__plugin_test_deps",
@@ -67,29 +81,27 @@
         ],
     ),
     visibility = ["//visibility:public"],
-    exports = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
+    exports = gerrit_api() + gerrit_acceptance_framework() + [
         ":owners",
-        "//plugins/owners-common-api",
     ],
-    deps = PLUGIN_DEPS + PLUGIN_TEST_DEPS + [
+    deps = gerrit_api() + gerrit_acceptance_framework() + [
         ":owners",
-        "//plugins/owners-common-api",
     ],
 )
 
-junit_tests(
+gerrit_plugin_tests(
     name = "owners_tests",
     srcs = glob(["src/test/java/**/*Test.java"]),
-    tags = ["owners"],
+    plugin = "owners",
     deps = [
         ":owners__plugin_test_deps",
     ],
 )
 
-[junit_tests(
+[gerrit_plugin_tests(
     name = f[:f.index(".")].replace("/", "_"),
     srcs = [f],
-    tags = ["owners"],
+    plugin = "owners",
     visibility = ["//visibility:public"],
     deps = [
         ":owners__plugin_test_deps",
diff --git a/README.md b/README.md
index 77f4982..722206d 100644
--- a/README.md
+++ b/README.md
@@ -51,7 +51,7 @@
   cd gerrit/plugins
   ln -s ../../owners .
   ln -s ../../owners-common-api .
-  ln -sf owners-common-api/external_plugin_deps.bzl .
+  ln -sf owners-common-api/external_plugin_deps.bzl.MODULE.bazel .
   cd ..
   bazel build plugins/owners
 ```
diff --git a/owners_third_party_runtime_jars.allowlist.txt b/owners_third_party_runtime_jars.allowlist.txt
new file mode 100755
index 0000000..95b9f40
--- /dev/null
+++ b/owners_third_party_runtime_jars.allowlist.txt
@@ -0,0 +1,3 @@
+libgerrit-owners-predicates
+libgerrit-owners-prolog-rules
+owners-common-api
diff --git a/web/BUILD b/web/BUILD
index 6d9430a..01b126f 100644
--- a/web/BUILD
+++ b/web/BUILD
@@ -1,4 +1,4 @@
-load("@npm//@bazel/typescript:index.bzl", "ts_config", "ts_project")
+load("@aspect_rules_ts//ts:defs.bzl", "ts_config", "ts_project")
 load("//tools/bzl:js.bzl", "gerrit_js_bundle", "web_test_runner")
 load("//tools/js:eslint.bzl", "plugin_eslint")
 
@@ -13,7 +13,7 @@
     name = "tsconfig",
     src = "tsconfig.json",
     deps = [
-        "//plugins:tsconfig-plugins-base.json",
+        "//plugins:tsconfig-plugins-base",
     ],
 )
 
@@ -28,12 +28,9 @@
     ),
     incremental = True,
     out_dir = "_bazel_ts_out",
-    tsc = "//tools/node_tools:tsc-bin",
     tsconfig = ":tsconfig",
     deps = [
-        "@plugins_npm//@gerritcodereview/typescript-api",
-        "@plugins_npm//lit",
-        "@plugins_npm//rxjs",
+        "//plugins:node_modules",
     ],
 )
 
@@ -45,11 +42,10 @@
     ]),
     incremental = True,
     out_dir = "_bazel_ts_out_tests",
-    tsc = "//tools/node_tools:tsc-bin",
     tsconfig = ":tsconfig",
     deps = [
-        "@plugins_npm//:node_modules",
-        "@ui_dev_npm//:node_modules",
+        "//plugins:node_modules",
+        "//polygerrit-ui:node_modules",
     ],
 )
 
@@ -63,10 +59,10 @@
     name = "web_test_runner",
     srcs = ["web_test_runner.sh"],
     data = [
-        ":tsconfig",
         ":owners-ts-tests",
-        "@plugins_npm//:node_modules",
-        "@ui_dev_npm//:node_modules",
+        ":tsconfig",
+        "//plugins:node_modules",
+        "//polygerrit-ui:node_modules",
     ],
 )