workspace: bump bazel_gazelle to v0.37.0

Change-Id: I45a7769d80781075fdfb1c438240a75629dd572a
Reviewed-on: https://review.monogon.dev/c/monogon/+/3220
Tested-by: Jenkins CI
Reviewed-by: Lorenz Brun <lorenz@monogon.tech>
diff --git a/WORKSPACE b/WORKSPACE
index 3bdba33..1bd876e 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -35,14 +35,14 @@
 
 http_archive(
     name = "bazel_gazelle",
-    integrity = "sha256-MpOL2hbmcABjA1R5Bj2dJMYO2o15/Uc5Vj9Q0zHLMgk=",
+    integrity = "sha256-12v3pg/YsFBEQJDfooN6Tq+YKeEWVhjuNdzspcvfWNU=",
     patch_args = ["-p1"],
     patches = [
         "//third_party/gazelle:add-prepatching.patch",
     ],
     urls = [
-        "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz",
-        "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz",
+        "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.37.0/bazel-gazelle-v0.37.0.tar.gz",
+        "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.37.0/bazel-gazelle-v0.37.0.tar.gz",
     ],
 )
 
diff --git a/cloud/agent/BUILD.bazel b/cloud/agent/BUILD.bazel
index e228ca4..8f96663 100644
--- a/cloud/agent/BUILD.bazel
+++ b/cloud/agent/BUILD.bazel
@@ -32,7 +32,7 @@
         "@com_github_cenkalti_backoff_v4//:backoff",
         "@com_github_mdlayher_ethtool//:ethtool",
         "@com_github_vishvananda_netlink//:netlink",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials",
         "@org_golang_google_protobuf//proto",
         "@org_golang_x_sys//unix",
diff --git a/cloud/agent/e2e/BUILD.bazel b/cloud/agent/e2e/BUILD.bazel
index f903386..0fbc1ba 100644
--- a/cloud/agent/e2e/BUILD.bazel
+++ b/cloud/agent/e2e/BUILD.bazel
@@ -17,7 +17,7 @@
         "@com_github_cavaliergopher_cpio//:cpio",
         "@com_github_klauspost_compress//zstd",
         "@io_bazel_rules_go//go/runfiles:go_default_library",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials",
         "@org_golang_google_protobuf//proto",
         "@org_golang_x_sys//unix",
diff --git a/cloud/apigw/server/BUILD.bazel b/cloud/apigw/server/BUILD.bazel
index 246efff..a15ff6d 100644
--- a/cloud/apigw/server/BUILD.bazel
+++ b/cloud/apigw/server/BUILD.bazel
@@ -11,7 +11,7 @@
         "//cloud/lib/component",
         "@com_github_improbable_eng_grpc_web//go/grpcweb",
         "@io_k8s_klog_v2//:klog",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//credentials/insecure",
         "@org_golang_google_grpc//reflection",
diff --git a/cloud/bmaas/server/BUILD.bazel b/cloud/bmaas/server/BUILD.bazel
index 344e673..d23f56b 100644
--- a/cloud/bmaas/server/BUILD.bazel
+++ b/cloud/bmaas/server/BUILD.bazel
@@ -19,7 +19,7 @@
         "@com_github_cenkalti_backoff_v4//:backoff",
         "@com_github_google_uuid//:uuid",
         "@io_k8s_klog_v2//:klog",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//reflection",
         "@org_golang_google_grpc//status",
@@ -41,7 +41,7 @@
         "//cloud/lib/component",
         "//metropolis/node/core/rpc",
         "@com_github_google_uuid//:uuid",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_protobuf//proto",
     ],
 )
diff --git a/cloud/lib/component/BUILD.bazel b/cloud/lib/component/BUILD.bazel
index 2714ef3..5f85b83 100644
--- a/cloud/lib/component/BUILD.bazel
+++ b/cloud/lib/component/BUILD.bazel
@@ -22,7 +22,7 @@
         "@com_github_prometheus_client_golang//prometheus/promhttp",
         "@io_bazel_rules_go//go/runfiles:go_default_library",
         "@io_k8s_klog_v2//:klog",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials",
     ],
 )
diff --git a/metropolis/cli/dbg/BUILD.bazel b/metropolis/cli/dbg/BUILD.bazel
index 39f19a3..7daa761 100644
--- a/metropolis/cli/dbg/BUILD.bazel
+++ b/metropolis/cli/dbg/BUILD.bazel
@@ -14,7 +14,7 @@
         "@io_k8s_kubectl//pkg/cmd",
         "@io_k8s_kubectl//pkg/cmd/plugin",
         "@io_k8s_kubectl//pkg/cmd/util",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials/insecure",
     ],
 )
diff --git a/metropolis/cli/metroctl/BUILD.bazel b/metropolis/cli/metroctl/BUILD.bazel
index e390ff8..7b36452 100644
--- a/metropolis/cli/metroctl/BUILD.bazel
+++ b/metropolis/cli/metroctl/BUILD.bazel
@@ -58,7 +58,7 @@
         "@io_bazel_rules_go//go/runfiles:go_default_library",
         "@io_k8s_apimachinery//pkg/apis/meta/v1:meta",
         "@io_k8s_client_go//pkg/apis/clientauthentication/v1:clientauthentication",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_x_sync//semaphore",
     ],
 )
diff --git a/metropolis/cli/metroctl/core/BUILD.bazel b/metropolis/cli/metroctl/core/BUILD.bazel
index 36f02c3..e65a8a7 100644
--- a/metropolis/cli/metroctl/core/BUILD.bazel
+++ b/metropolis/cli/metroctl/core/BUILD.bazel
@@ -23,7 +23,7 @@
         "@io_k8s_client_go//pkg/apis/clientauthentication/v1:clientauthentication",
         "@io_k8s_client_go//tools/clientcmd",
         "@io_k8s_client_go//tools/clientcmd/api",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials",
         "@org_golang_google_protobuf//proto",
         "@org_golang_x_net//proxy",
diff --git a/metropolis/node/core/BUILD.bazel b/metropolis/node/core/BUILD.bazel
index 9c80741..47ee2c1 100644
--- a/metropolis/node/core/BUILD.bazel
+++ b/metropolis/node/core/BUILD.bazel
@@ -46,7 +46,7 @@
         "@com_github_containerd_containerd//:containerd",
         "@com_github_containerd_containerd//namespaces",
         "@com_github_opencontainers_runc//libcontainer/cgroups",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//status",
         "@org_golang_google_protobuf//proto",
diff --git a/metropolis/node/core/cluster/BUILD.bazel b/metropolis/node/core/cluster/BUILD.bazel
index 665f94d..713e10c 100644
--- a/metropolis/node/core/cluster/BUILD.bazel
+++ b/metropolis/node/core/cluster/BUILD.bazel
@@ -26,7 +26,7 @@
         "//metropolis/proto/private",
         "//osbase/supervisor",
         "@com_github_cenkalti_backoff_v4//:backoff",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_protobuf//proto",
         "@org_golang_x_sys//unix",
     ],
diff --git a/metropolis/node/core/curator/BUILD.bazel b/metropolis/node/core/curator/BUILD.bazel
index f619d4b..fb8336a 100644
--- a/metropolis/node/core/curator/BUILD.bazel
+++ b/metropolis/node/core/curator/BUILD.bazel
@@ -45,7 +45,7 @@
         "@io_etcd_go_etcd_client_v3//:client",
         "@io_etcd_go_etcd_client_v3//concurrency",
         "@org_golang_google_genproto_googleapis_api//expr/v1alpha1",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//keepalive",
         "@org_golang_google_grpc//status",
@@ -83,7 +83,7 @@
         "@com_github_google_go_cmp//cmp",
         "@io_etcd_go_etcd_client_v3//:client",
         "@io_etcd_go_etcd_tests_v3//integration",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//grpclog",
         "@org_golang_google_grpc//test/bufconn",
         "@org_golang_google_protobuf//proto",
diff --git a/metropolis/node/core/mgmt/BUILD.bazel b/metropolis/node/core/mgmt/BUILD.bazel
index 65a54a6..a75dff9 100644
--- a/metropolis/node/core/mgmt/BUILD.bazel
+++ b/metropolis/node/core/mgmt/BUILD.bazel
@@ -20,7 +20,7 @@
         "//osbase/logtree/proto",
         "//osbase/supervisor",
         "@com_github_vishvananda_netlink//:netlink",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//status",
         "@org_golang_x_sys//unix",
@@ -37,7 +37,7 @@
         "//osbase/logtree",
         "//osbase/logtree/proto",
         "@com_github_google_go_cmp//cmp",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials/insecure",
         "@org_golang_google_grpc//test/bufconn",
         "@org_golang_google_protobuf//testing/protocmp",
diff --git a/metropolis/node/core/network/hostsfile/BUILD.bazel b/metropolis/node/core/network/hostsfile/BUILD.bazel
index 2490493..c315c56 100644
--- a/metropolis/node/core/network/hostsfile/BUILD.bazel
+++ b/metropolis/node/core/network/hostsfile/BUILD.bazel
@@ -13,7 +13,7 @@
         "//metropolis/proto/common",
         "//osbase/event",
         "//osbase/supervisor",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_protobuf//proto",
         "@org_golang_x_sys//unix",
     ],
diff --git a/metropolis/node/core/roleserve/BUILD.bazel b/metropolis/node/core/roleserve/BUILD.bazel
index 5d72c70..9d9bdcd 100644
--- a/metropolis/node/core/roleserve/BUILD.bazel
+++ b/metropolis/node/core/roleserve/BUILD.bazel
@@ -43,7 +43,7 @@
         "//osbase/logtree",
         "//osbase/pki",
         "//osbase/supervisor",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_protobuf//encoding/prototext",
         "@org_golang_google_protobuf//proto",
     ],
@@ -66,7 +66,7 @@
         "//osbase/supervisor",
         "@com_github_cenkalti_backoff_v4//:backoff",
         "@com_github_google_go_cmp//cmp",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials/insecure",
         "@org_golang_google_grpc//test/bufconn",
         "@org_golang_google_protobuf//testing/protocmp",
diff --git a/metropolis/node/core/rpc/BUILD.bazel b/metropolis/node/core/rpc/BUILD.bazel
index b1b4bfc..e80ded4 100644
--- a/metropolis/node/core/rpc/BUILD.bazel
+++ b/metropolis/node/core/rpc/BUILD.bazel
@@ -17,7 +17,7 @@
         "//metropolis/proto/api",
         "//metropolis/proto/ext",
         "//osbase/logtree",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//credentials",
         "@org_golang_google_grpc//peer",
@@ -42,7 +42,7 @@
         "//metropolis/proto/ext",
         "//metropolis/test/util",
         "//osbase/logtree",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//status",
         "@org_golang_google_grpc//test/bufconn",
diff --git a/metropolis/node/core/rpc/resolver/BUILD.bazel b/metropolis/node/core/rpc/resolver/BUILD.bazel
index 4acf31e..4ba9c9f 100644
--- a/metropolis/node/core/rpc/resolver/BUILD.bazel
+++ b/metropolis/node/core/rpc/resolver/BUILD.bazel
@@ -15,7 +15,7 @@
         "//metropolis/node/core/curator/watcher",
         "//metropolis/proto/common",
         "@com_github_cenkalti_backoff_v4//:backoff",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//keepalive",
         "@org_golang_google_grpc//resolver",
     ],
@@ -32,7 +32,7 @@
         "//metropolis/proto/common",
         "//metropolis/test/util",
         "@com_github_cenkalti_backoff_v4//:backoff",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials",
     ],
 )
diff --git a/metropolis/node/kubernetes/BUILD.bazel b/metropolis/node/kubernetes/BUILD.bazel
index 08666ab..bb4e00f 100644
--- a/metropolis/node/kubernetes/BUILD.bazel
+++ b/metropolis/node/kubernetes/BUILD.bazel
@@ -64,7 +64,7 @@
         "@io_k8s_kubelet//pkg/apis/pluginregistration/v1:pluginregistration",
         "@io_k8s_kubernetes//plugin/pkg/admission/security/podsecurity",
         "@io_k8s_pod_security_admission//admission/api/v1:api",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//status",
         "@org_golang_google_protobuf//types/known/wrapperspb",
diff --git a/metropolis/node/kubernetes/plugins/kvmdevice/BUILD.bazel b/metropolis/node/kubernetes/plugins/kvmdevice/BUILD.bazel
index c8b4ca4..d6afb23 100644
--- a/metropolis/node/kubernetes/plugins/kvmdevice/BUILD.bazel
+++ b/metropolis/node/kubernetes/plugins/kvmdevice/BUILD.bazel
@@ -12,7 +12,7 @@
         "@io_k8s_api//core/v1:core",
         "@io_k8s_kubelet//pkg/apis/deviceplugin/v1beta1",
         "@io_k8s_kubelet//pkg/apis/pluginregistration/v1:pluginregistration",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_x_sys//unix",
     ],
 )
diff --git a/metropolis/test/e2e/suites/core/BUILD.bazel b/metropolis/test/e2e/suites/core/BUILD.bazel
index 223d7c7..e3ccc59 100644
--- a/metropolis/test/e2e/suites/core/BUILD.bazel
+++ b/metropolis/test/e2e/suites/core/BUILD.bazel
@@ -24,6 +24,6 @@
         "//metropolis/test/util",
         "//osbase/test/launch",
         "@io_bazel_rules_go//go/runfiles:go_default_library",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
     ],
 )
diff --git a/metropolis/test/launch/BUILD.bazel b/metropolis/test/launch/BUILD.bazel
index 24296d1..1b7ee4d 100644
--- a/metropolis/test/launch/BUILD.bazel
+++ b/metropolis/test/launch/BUILD.bazel
@@ -41,7 +41,7 @@
         "@io_bazel_rules_go//go/runfiles:go_default_library",
         "@io_k8s_client_go//kubernetes",
         "@io_k8s_client_go//rest",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//codes",
         "@org_golang_google_grpc//status",
         "@org_golang_google_protobuf//proto",
diff --git a/metropolis/test/util/BUILD.bazel b/metropolis/test/util/BUILD.bazel
index 3603daf..84a9c3b 100644
--- a/metropolis/test/util/BUILD.bazel
+++ b/metropolis/test/util/BUILD.bazel
@@ -17,7 +17,7 @@
         "//osbase/pki",
         "//osbase/test/launch",
         "@com_zx2c4_golang_wireguard_wgctrl//wgtypes",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
         "@org_golang_google_grpc//credentials/insecure",
         "@org_golang_google_grpc//test/bufconn",
     ],
diff --git a/osbase/supervisor/BUILD.bazel b/osbase/supervisor/BUILD.bazel
index 12263ff..252b3b7 100644
--- a/osbase/supervisor/BUILD.bazel
+++ b/osbase/supervisor/BUILD.bazel
@@ -15,7 +15,7 @@
     deps = [
         "//osbase/logtree",
         "@com_github_cenkalti_backoff_v4//:backoff",
-        "@org_golang_google_grpc//:go_default_library",
+        "@org_golang_google_grpc//:grpc",
     ],
 )
 
diff --git a/third_party/gazelle/add-prepatching.patch b/third_party/gazelle/add-prepatching.patch
index 1049e8e..fc409a1 100644
--- a/third_party/gazelle/add-prepatching.patch
+++ b/third_party/gazelle/add-prepatching.patch
@@ -1,20 +1,61 @@
-From cdcf80bafba0ff61527a710899002936e2b117d6 Mon Sep 17 00:00:00 2001
+From f784d39b50b36ca06fbe844e2b09cbd996747577 Mon Sep 17 00:00:00 2001
 From: Lorenz Brun <lorenz@monogon.tech>
 Date: Thu, 31 Aug 2023 15:52:06 +0200
 Subject: [PATCH] Add support for prepatching
 
 ---
- internal/go_repository.bzl | 10 ++++++++++
- 1 file changed, 10 insertions(+)
+ internal/bzlmod/go_deps.bzl |  8 ++++++++
+ internal/go_repository.bzl  | 10 ++++++++++
+ 2 files changed, 18 insertions(+)
 
+diff --git a/internal/bzlmod/go_deps.bzl b/internal/bzlmod/go_deps.bzl
+index e304ec5..7684243 100644
+--- a/internal/bzlmod/go_deps.bzl
++++ b/internal/bzlmod/go_deps.bzl
+@@ -156,6 +156,9 @@ def _get_build_extra_args(path, gazelle_overrides, gazelle_default_attributes):
+ def _get_patches(path, module_overrides):
+     return _get_override_or_default(module_overrides, struct(), {}, path, [], "patches")
+
++def _get_pre_patches(path, module_overrides):
++    return _get_override_or_default(module_overrides, struct(), {}, path, [], "pre_patches")
++
+ def _get_patch_args(path, module_overrides):
+     override = _get_override_or_default(module_overrides, struct(), {}, path, None, "patch_strip")
+     return ["-p{}".format(override)] if override else []
+@@ -605,6 +608,7 @@ def _go_deps_impl(module_ctx):
+             "build_directives": _get_directives(path, gazelle_overrides, gazelle_default_attributes),
+             "build_file_generation": _get_build_file_generation(path, gazelle_overrides, gazelle_default_attributes),
+             "build_extra_args": _get_build_extra_args(path, gazelle_overrides, gazelle_default_attributes),
++            "pre_patches": _get_pre_patches(path, module_overrides),
+             "patches": _get_patches(path, module_overrides),
+             "patch_args": _get_patch_args(path, module_overrides),
+             "debug_mode": debug_mode,
+@@ -616,6 +620,7 @@ def _go_deps_impl(module_ctx):
+                 "urls": archive_override.urls,
+                 "strip_prefix": archive_override.strip_prefix,
+                 "sha256": archive_override.sha256,
++                "pre_patches": _get_pre_patches(path, archive_overrides),
+                 "patches": _get_patches(path, archive_overrides),
+                 "patch_args": _get_patch_args(path, archive_overrides),
+             })
+@@ -799,6 +804,9 @@ _module_override_tag = tag_class(
+             extension within this Bazel module.""",
+             mandatory = True,
+         ),
++        "pre_patches": attr.label_list(
++            doc = "A list of patches to apply to the repository before gazelle runs.",
++        ),
+         "patches": attr.label_list(
+             doc = "A list of patches to apply to the repository *after* gazelle runs.",
+         ),
 diff --git a/internal/go_repository.bzl b/internal/go_repository.bzl
-index cb0ac74..5a2a9e2 100644
+index 627a1f9..4da270f 100644
 --- a/internal/go_repository.bzl
 +++ b/internal/go_repository.bzl
-@@ -257,6 +257,11 @@ def _go_repository_impl(ctx):
-         if ctx.attr.debug_mode and result.stderr:
-             print("fetch_repo: " + result.stderr)
- 
+@@ -296,6 +296,11 @@ def _go_repository_impl(ctx):
+         if result.return_code:
+             fail("%s: %s" % (ctx.name, result.stderr))
+
 +    # TODO(lorenz): Replace this with patch() once the patches argument no longer gets merged with
 +    # the attribute pulled from ctx.
 +    for p in ctx.attr.pre_patches:
@@ -23,10 +64,10 @@
      # Repositories are fetched. Determine if build file generation is needed.
      build_file_names = ctx.attr.build_file_name.split(",")
      existing_build_file = ""
-@@ -538,6 +543,11 @@ go_repository = repository_rule(
+@@ -583,6 +588,11 @@ go_repository = repository_rule(
              Gazelle directives.""",
          ),
- 
+
 +        # Patches to apply before running gazelle.
 +        "pre_patches": attr.label_list(
 +            doc = "A list of patches to apply to the repository before gazelle runs.",
@@ -35,6 +76,6 @@
          # Patches to apply after running gazelle.
          "patches": attr.label_list(
              doc = "A list of patches to apply to the repository after gazelle runs.",
--- 
-2.41.0
+--
+2.44.1