bzlmod: Add support for WORKSPACE.bzlmod
When enabling Bzlmod, if a WORKSPACE.bzlmod file is presented at the
source root, it will replace the content of the WORKSPACE file.
In contrast to the WORKSPACE file, no prefix or suffix are added to the WORKSPACE.bzlmod file.
This file is for migration purpose in case some of the dependencies
still need to be introduced via the WORKSPACE mechanism, eventually
it should be removed.
RELNOTES: None
PiperOrigin-RevId: 407802717
diff --git a/WORKSPACE.bzlmod b/WORKSPACE.bzlmod
index 5bfcf18..aca699f 100644
--- a/WORKSPACE.bzlmod
+++ b/WORKSPACE.bzlmod
@@ -1,31 +1,424 @@
-# Replace the original WORKSPACE file with this file to build Bazel with bzlmod.
-# We still need the bind rules to make protobuf work.
+# When using the WORKSPACE.bzlmod, no WORKSPACE prefix or suffix are added.
+# Therefore, we need to keep some legacy content to make the build work, eventually this
+# file should be empty after fully migrating to Bzlmod.
workspace(name = "io_bazel")
# Required by @com_google_protobuf//java/util:util in protobuf 3.19.0
# TODO(pcloudy): Remove those bind rules, when com_google_protobuf can
# fetch jar dependencies via rules_jvm_external with module extension.
bind(
- name = "error_prone_annotations",
- actual = "//third_party:error_prone_annotations",
+ name = "error_prone_annotations",
+ actual = "//third_party:error_prone_annotations",
)
bind(
- name = "j2objc_annotations",
- actual = "//third_party/java/j2objc-annotations:j2objc-annotations",
+ name = "j2objc_annotations",
+ actual = "//third_party/java/j2objc-annotations:j2objc-annotations",
)
bind(
- name = "gson",
- actual = "//third_party:gson",
+ name = "gson",
+ actual = "//third_party:gson",
)
bind(
- name = "jsr305",
- actual = "//third_party:jsr305",
+ name = "jsr305",
+ actual = "//third_party:jsr305",
)
bind(
- name = "guava",
- actual = "//third_party:guava",
+ name = "guava",
+ actual = "//third_party:guava",
)
+
+########### Required by cc rules, should be moved to rules_cc. ###########
+// Copied from cc_configure.WORKSPACE
+load("@bazel_tools//tools/cpp:cc_configure.bzl", "cc_configure")
+cc_configure()
+
+########### Required on cc rules on macos, should be moved to rules_cc? ###########
+// Copied from xcode_configure.WORKSPACE
+load("@bazel_tools//tools/osx:xcode_configure.bzl", "xcode_configure")
+xcode_configure("@bazel_tools//tools/osx:xcode_locator.m")
+
+########### Required by python rules, should be moved to rules_python. ############
+// Copied from python.WORKSPACE
+register_toolchains("@bazel_tools//tools/python:autodetecting_toolchain")
+
+############ Required by java rules, should be moved to rules_java. ############
+// Copied from jdk.WORKSPACE
+load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
+load("@bazel_tools//tools/build_defs/repo:utils.bzl", "maybe")
+load("@bazel_tools//tools/jdk:local_java_repository.bzl", "local_java_repository")
+load("@bazel_tools//tools/jdk:remote_java_repository.bzl", "remote_java_repository")
+
+maybe(
+ local_java_repository,
+ name = "local_jdk",
+ java_home = DEFAULT_SYSTEM_JAVABASE,
+ build_file = "@bazel_tools//tools/jdk:jdk.BUILD",
+)
+
+# OpenJDK distributions that should only be downloaded on demand (e.g. when
+# building a java_library or a genrule that uses java make variables).
+# This will allow us to stop bundling the full JDK with Bazel.
+# Note that while these are currently the same as the openjdk_* rules in
+# Bazel's WORKSPACE file, but they don't have to be the same.
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk11_linux",
+ exec_compatible_with = [
+ "@platforms//os:linux",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "b8e8a63b79bc312aa90f3558edbea59e71495ef1a9c340e38900dd28a1c579f3",
+ strip_prefix = "zulu11.50.19-ca-jdk11.0.12-linux_x64",
+ urls = [
+ "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_x64.tar.gz",
+ ],
+ version = "11",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk11_linux_aarch64",
+ exec_compatible_with = [
+ "@platforms//os:linux",
+ "@platforms//cpu:aarch64",
+ ],
+ sha256 = "61254688067454d3ccf0ef25993b5dcab7b56c8129e53b73566c28a8dd4d48fb",
+ strip_prefix = "zulu11.50.19-ca-jdk11.0.12-linux_aarch64",
+ urls = [
+ "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-linux_aarch64.tar.gz",
+ ],
+ version = "11",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk11_linux_ppc64le",
+ exec_compatible_with = [
+ "@platforms//os:linux",
+ "@platforms//cpu:ppc",
+ ],
+ sha256 = "a417db0295b1f4b538ecbaf7c774f3a177fab9657a665940170936c0eca4e71a",
+ strip_prefix = "jdk-11.0.7+10",
+ urls = [
+ "https://mirror.bazel.build/openjdk/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+ "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_ppc64le_linux_hotspot_11.0.7_10.tar.gz",
+ ],
+ version = "11",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk11_linux_s390x",
+ exec_compatible_with = [
+ "@platforms//os:linux",
+ "@platforms//cpu:s390x",
+ ],
+ sha256 = "d9b72e87a1d3ebc0c9552f72ae5eb150fffc0298a7cb841f1ce7bfc70dcd1059",
+ strip_prefix = "jdk-11.0.7+10",
+ urls = [
+ "https://mirror.bazel.build/github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+ "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk-11.0.7+10/OpenJDK11U-jdk_s390x_linux_hotspot_11.0.7_10.tar.gz",
+ ],
+ version = "11",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk11_macos",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "0b8c8b7cf89c7c55b7e2239b47201d704e8d2170884875b00f3103cf0662d6d7",
+ strip_prefix = "zulu11.50.19-ca-jdk11.0.12-macosx_x64",
+ urls = [
+ "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_x64.tar.gz",
+ ],
+ version = "11",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk11_macos_aarch64",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:aarch64",
+ ],
+ sha256 = "e908a0b4c0da08d41c3e19230f819b364ff2e5f1dafd62d2cf991a85a34d3a17",
+ strip_prefix = "zulu11.50.19-ca-jdk11.0.12-macosx_aarch64",
+ urls = [
+ "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu11.50.19-ca-jdk11.0.12-macosx_aarch64.tar.gz",
+ ],
+ version = "11",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk11_win",
+ exec_compatible_with = [
+ "@platforms//os:windows",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "42ae65e75d615a3f06a674978e1fa85fdf078cad94e553fee3e779b2b42bb015",
+ strip_prefix = "zulu11.50.19-ca-jdk11.0.12-win_x64",
+ urls = [
+ "https://mirror.bazel.build/openjdk/azul-zulu11.50.19-ca-jdk11.0.12/zulu11.50.19-ca-jdk11.0.12-win_x64.zip",
+ ],
+ version = "11",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk15_linux",
+ exec_compatible_with = [
+ "@platforms//os:linux",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "0a38f1138c15a4f243b75eb82f8ef40855afcc402e3c2a6de97ce8235011b1ad",
+ strip_prefix = "zulu15.27.17-ca-jdk15.0.0-linux_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-linux_x64.tar.gz",
+ ],
+ version = "15",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk15_macos",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "f80b2e0512d9d8a92be24497334c974bfecc8c898fc215ce0e76594f00437482",
+ strip_prefix = "zulu15.27.17-ca-jdk15.0.0-macosx_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-macosx_x64.tar.gz",
+ ],
+ version = "15",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk15_macos_aarch64",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:aarch64",
+ ],
+ sha256 = "2613c3f15eef6b6ecd0fd102da92282b985e4573905dc902f1783d8059c1efc5",
+ strip_prefix = "zulu15.29.15-ca-jdk15.0.2-macosx_aarch64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu15.29.15-ca-jdk15.0.2-macosx_aarch64.tar.gz",
+ ],
+ version = "15",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk15_win",
+ exec_compatible_with = [
+ "@platforms//os:windows",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "f535a530151e6c20de8a3078057e332b08887cb3ba1a4735717357e72765cad6",
+ strip_prefix = "zulu15.27.17-ca-jdk15.0.0-win_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip",
+ "https://cdn.azul.com/zulu/bin/zulu15.27.17-ca-jdk15.0.0-win_x64.zip",
+ ],
+ version = "15",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk16_linux",
+ exec_compatible_with = [
+ "@platforms//os:linux",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "236b5ea97aff3cb312e743848d7efa77faf305170e41371a732ca93c1b797665",
+ strip_prefix = "zulu16.28.11-ca-jdk16.0.0-linux_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-linux_x64.tar.gz",
+ ],
+ version = "16",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk16_macos",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "6d47ef22dc56ce1f5a102ed39e21d9a97320f0bb786818e2c686393109d79bc5",
+ strip_prefix = "zulu16.28.11-ca-jdk16.0.0-macosx_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_x64.tar.gz",
+ ],
+ version = "16",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk16_macos_aarch64",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:aarch64",
+ ],
+ sha256 = "c92131e83bc71474850e667bc4e05fca33662b8feb009a0547aa14e76b40e890",
+ strip_prefix = "zulu16.28.11-ca-jdk16.0.0-macosx_aarch64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-macosx_aarch64.tar.gz",
+ ],
+ version = "16",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk16_win",
+ exec_compatible_with = [
+ "@platforms//os:windows",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "6cbf98ada27476526a5f6dff79fd5f2c15e2f671818e503bdf741eb6c8fed3d4",
+ strip_prefix = "zulu16.28.11-ca-jdk16.0.0-win_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip",
+ "https://cdn.azul.com/zulu/bin/zulu16.28.11-ca-jdk16.0.0-win_x64.zip",
+ ],
+ version = "16",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk17_linux",
+ exec_compatible_with = [
+ "@platforms//os:linux",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "37c4f8e48536cceae8c6c20250d6c385e176972532fd35759fa7d6015c965f56",
+ strip_prefix = "zulu17.28.13-ca-jdk17.0.0-linux_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-linux_x64.tar.gz",
+ ],
+ version = "17",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk17_macos",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "6029b1fe6853cecad22ab99ac0b3bb4fb8c903dd2edefa91c3abc89755bbd47d",
+ strip_prefix = "zulu17.28.13-ca-jdk17.0.0-macosx_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_x64.tar.gz",
+ ],
+ version = "17",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk17_macos_aarch64",
+ exec_compatible_with = [
+ "@platforms//os:macos",
+ "@platforms//cpu:aarch64",
+ ],
+ sha256 = "6b17f01f767ee7abf4704149ca4d86423aab9b16b68697b7d36e9b616846a8b0",
+ strip_prefix = "zulu17.28.13-ca-jdk17.0.0-macosx_aarch64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz",
+ "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-macosx_aarch64.tar.gz",
+ ],
+ version = "17",
+)
+
+# This must be kept in sync with the top-level WORKSPACE file.
+maybe(
+ remote_java_repository,
+ name = "remotejdk17_win",
+ exec_compatible_with = [
+ "@platforms//os:windows",
+ "@platforms//cpu:x86_64",
+ ],
+ sha256 = "f4437011239f3f0031c794bb91c02a6350bc941d4196bdd19c9f157b491815a3",
+ strip_prefix = "zulu17.28.13-ca-jdk17.0.0-win_x64",
+ urls = [
+ "https://mirror.bazel.build/cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip",
+ "https://cdn.azul.com/zulu/bin/zulu17.28.13-ca-jdk17.0.0-win_x64.zip",
+ ],
+ version = "17",
+)
+
+http_archive(
+ name = "remote_java_tools",
+ sha256 = "b763ee80e5754e593fd6d5be6d7343f905bc8b73d661d36d842b024ca11b6793",
+ urls = [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.5/java_tools-v11.5.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.5/java_tools-v11.5.zip",
+ ],
+)
+
+http_archive(
+ name = "remote_java_tools_linux",
+ sha256 = "ae1eca4546eac6487c6e565f9b409536609c273207220c51e5c94f2a058a5a56",
+ urls = [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.5/java_tools_linux-v11.5.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.5/java_tools_linux-v11.5.zip",
+ ],
+)
+
+
+http_archive(
+ name = "remote_java_tools_windows",
+ sha256 = "36766802f7ec684cecb1a14c122428de6be9784e88419e2ab5912ad4b59a8c7d",
+ urls = [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.5/java_tools_windows-v11.5.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.5/java_tools_windows-v11.5.zip",
+ ],
+)
+
+http_archive(
+ name = "remote_java_tools_darwin",
+ sha256 = "792bc1352e736073b152528175ed424687f86a9f6f5f461f07d8b26806762738",
+ urls = [
+ "https://mirror.bazel.build/bazel_java_tools/releases/java/v11.5/java_tools_darwin-v11.5.zip",
+ "https://github.com/bazelbuild/java_tools/releases/download/java_v11.5/java_tools_darwin-v11.5.zip",
+ ],
+)
+
+register_toolchains("@bazel_tools//tools/jdk:all")