blob: da3b83a11a538fb341929b03de5661e8cc488782 [file] [log] [blame]
diff --git a/MODULE.bazel b/MODULE.bazel
index 2d43e46df..b50917142 100644
--- a/MODULE.bazel
+++ b/MODULE.bazel
@@ -1,2 +1,23 @@
-# TODO: migrate all dependencies from WORKSPACE to MODULE.bazel
-# https://github.com/protocolbuffers/protobuf/issues/14313
+module(
+ name = "protobuf",
+ version = "26.0",
+ compatibility_level = 1,
+)
+
+# LOWER BOUND dependency versions.
+# Bzlmod follows MVS:
+# https://bazel.build/versions/6.0.0/build/bzlmod#version-resolution
+# Thus the highest version in their module graph is resolved.
+bazel_dep(name = "abseil-cpp", version = "20230802.0.bcr.1", repo_name = "com_google_absl")
+bazel_dep(name = "bazel_skylib", version = "1.4.1")
+bazel_dep(name = "jsoncpp", version = "1.9.5")
+bazel_dep(name = "rules_cc", version = "0.0.9")
+bazel_dep(name = "rules_java", version = "4.0.0")
+bazel_dep(name = "rules_jvm_external", version = "5.1")
+bazel_dep(name = "rules_pkg", version = "0.7.0")
+bazel_dep(name = "rules_python", version = "0.10.2")
+bazel_dep(name = "platforms", version = "0.0.8")
+bazel_dep(name = "zlib", version = "1.2.11")
+
+# TODO: remove after toolchain types are moved to protobuf
+bazel_dep(name = "rules_proto", version = "4.0.0")
diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod
new file mode 100644
index 000000000..e7bc5752e
--- /dev/null
+++ b/WORKSPACE.bzlmod
@@ -0,0 +1 @@
+# Disables default WORKSPACE for bzlmod
diff --git a/examples/MODULE.bazel b/examples/MODULE.bazel
new file mode 100644
index 000000000..6bd5977c0
--- /dev/null
+++ b/examples/MODULE.bazel
@@ -0,0 +1,16 @@
+"""Bazel module dependencies"""
+
+module(name = "com_google_protobuf_examples")
+
+bazel_dep(name = "protobuf", version = "0.0.0", dev_dependency = True, repo_name = "com_google_protobuf")
+local_path_override(
+ module_name = "protobuf",
+ path = "..",
+)
+
+bazel_dep(name = "bazel_skylib", version = "1.0.3")
+bazel_dep(name = "rules_cc", version = "0.0.1")
+bazel_dep(name = "rules_java", version = "7.3.0")
+bazel_dep(name = "rules_pkg", version = "0.7.0")
+bazel_dep(name = "rules_python", version = "0.25.0")
+bazel_dep(name = "rules_proto", version = "4.0.0")
diff --git a/examples/WORKSPACE.bzlmod b/examples/WORKSPACE.bzlmod
new file mode 100644
index 000000000..e7bc5752e
--- /dev/null
+++ b/examples/WORKSPACE.bzlmod
@@ -0,0 +1 @@
+# Disables default WORKSPACE for bzlmod