build: Upgrade Gazelle to v0.31.0 (#1240)

Gazelle v0.31.0 comes with a lifecycle manager for extension, allowing
the Python extension to properly shut down external Python processes
without relying on timer.

Upgrading Gazelle in this PR. Using the lifecycle manager will come
next.
diff --git a/gazelle/MODULE.bazel b/gazelle/MODULE.bazel
index bd63402..ae94a5f 100644
--- a/gazelle/MODULE.bazel
+++ b/gazelle/MODULE.bazel
@@ -6,7 +6,7 @@
 
 bazel_dep(name = "rules_python", version = "0.18.0")
 bazel_dep(name = "rules_go", version = "0.38.1", repo_name = "io_bazel_rules_go")
-bazel_dep(name = "gazelle", version = "0.29.0", repo_name = "bazel_gazelle")
+bazel_dep(name = "gazelle", version = "0.31.0", repo_name = "bazel_gazelle")
 
 go_deps = use_extension("@bazel_gazelle//:extensions.bzl", "go_deps")
 go_deps.from_file(go_mod = "//:go.mod")
diff --git a/gazelle/README.md b/gazelle/README.md
index e36f3a3..ba8520d 100644
--- a/gazelle/README.md
+++ b/gazelle/README.md
@@ -35,14 +35,14 @@
 
 ```starlark
 # The following stanza defines the dependency rules_python.
-bazel_dep(name = "rules_python", version = "0.20.0")
+bazel_dep(name = "rules_python", version = "0.22.0")
 
-# The following stanza defines the dependency rules_python.
+# The following stanza defines the dependency rules_python_gazelle_plugin.
 # For typical setups you set the version.
-bazel_dep(name = "rules_python_gazelle_plugin", version = "0.20.0")
+bazel_dep(name = "rules_python_gazelle_plugin", version = "0.22.0")
 
-# The following stanza defines the dependency rules_python.
-bazel_dep(name = "gazelle", version = "0.30.0", repo_name = "bazel_gazelle")
+# The following stanza defines the dependency gazelle.
+bazel_dep(name = "gazelle", version = "0.31.0", repo_name = "bazel_gazelle")
 
 # Import the python repositories generated by the given module extension into the scope of the current module.
 use_repo(python, "python3_9")
diff --git a/gazelle/WORKSPACE b/gazelle/WORKSPACE
index 55cf1b0..eef16e9 100644
--- a/gazelle/WORKSPACE
+++ b/gazelle/WORKSPACE
@@ -13,10 +13,10 @@
 
 http_archive(
     name = "bazel_gazelle",
-    sha256 = "448e37e0dbf61d6fa8f00aaa12d191745e14f07c31cabfa731f0c8e8a4f41b97",
+    sha256 = "29d5dafc2a5582995488c6735115d1d366fcd6a0fc2e2a153f02988706349825",
     urls = [
-        "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.28.0/bazel-gazelle-v0.28.0.tar.gz",
-        "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.28.0/bazel-gazelle-v0.28.0.tar.gz",
+        "https://mirror.bazel.build/github.com/bazelbuild/bazel-gazelle/releases/download/v0.31.0/bazel-gazelle-v0.31.0.tar.gz",
+        "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.31.0/bazel-gazelle-v0.31.0.tar.gz",
     ],
 )