diff --git a/.bazelrc b/.bazelrc index 7ad5041736..dc05291620 100644 --- a/.bazelrc +++ b/.bazelrc @@ -3,7 +3,10 @@ try-import %workspace%/user.bazelrc common --noenable_bzlmod -build --incompatible_disallow_empty_glob=1 # Bazel 8 prep +# Make bazel 8 work for us. +common --enable_workspace +build --experimental_cc_static_library +build --experimental_cc_shared_library build --java_language_version=17 build --java_runtime_version=roboriojdk_17 diff --git a/.bazelversion b/.bazelversion index 643916c03f..2b0aa21219 100644 --- a/.bazelversion +++ b/.bazelversion @@ -1 +1 @@ -7.3.1 +8.2.1 diff --git a/WORKSPACE b/WORKSPACE index fd05c435f9..7234f80f11 100644 --- a/WORKSPACE +++ b/WORKSPACE @@ -1,11 +1,41 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive", "http_file") +http_archive( + name = "rules_cc", + sha256 = "712d77868b3152dd618c4d64faaddefcc5965f90f5de6e6dd1d5ddcd0be82d42", + strip_prefix = "rules_cc-0.1.1", + url = "https://github.com/bazelbuild/rules_cc/releases/download/0.1.1/rules_cc-0.1.1.tar.gz", +) + +http_archive( + name = "rules_java", + sha256 = "d31b6c69e479ffa45460b64dc9c7792a431cac721ef8d5219fc9f603fa2ff877", + urls = [ + "https://github.com/bazelbuild/rules_java/releases/download/8.11.0/rules_java-8.11.0.tar.gz", + ], +) + +load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies") + +rules_java_dependencies() + +# note that the following line is what is minimally required from protobuf for the java rules +# consider using the protobuf_deps() public API from @com_google_protobuf//:protobuf_deps.bzl +load("@com_google_protobuf//bazel/private:proto_bazel_features.bzl", "proto_bazel_features") # buildifier: disable=bzl-visibility + +proto_bazel_features(name = "proto_bazel_features") + +# register toolchains +load("@rules_java//java:repositories.bzl", "rules_java_toolchains") + +rules_java_toolchains() + # Rules Python http_archive( name = "rules_python", - sha256 = "c68bdc4fbec25de5b5493b8819cfc877c4ea299c0dcb15c244c5a00208cde311", - strip_prefix = "rules_python-0.31.0", - url = "https://github.com/bazelbuild/rules_python/releases/download/0.31.0/rules_python-0.31.0.tar.gz", + sha256 = "9f9f3b300a9264e4c77999312ce663be5dee9a56e361a1f6fe7ec60e1beef9a3", + strip_prefix = "rules_python-1.4.1", + url = "https://github.com/bazel-contrib/rules_python/releases/download/1.4.1/rules_python-1.4.1.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") @@ -142,10 +172,12 @@ http_archive( url = "https://github.com/aspect-build/bazel-lib/releases/download/v2.7.2/bazel-lib-v2.7.2.tar.gz", ) -load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies") +load("@aspect_bazel_lib//lib:repositories.bzl", "aspect_bazel_lib_dependencies", "aspect_bazel_lib_register_toolchains") aspect_bazel_lib_dependencies() +aspect_bazel_lib_register_toolchains() + # Download toolchains http_archive( name = "rules_bzlmodrio_toolchains",