* Use bazel 7 and bzlmod
Many of our dependencies are now using bazel 7 and the new bzlmod module
system. This has been breaking our autoroll; this PR should fix the
issues we've been having with that.
It may or may not be worthwhile to update effcee to use bzlmod as well;
this would let us get rid of WORKSPACE entirely.
* Try to force cla check to rerun
This commit changes the way bazel chooses which version to build.
Before, we had a COPT set to -std=c++17, which is analogous to the cmake
way.
However, googletest decided to follow abseil, meaning this is *not*
recommended at all, and causes a mixed-standard build.
From https://github.com/abseil/abseil-cpp/blob/master/FAQ.md#how-to-i-set-the-c-dialect-used-to-build-abseil
we have 3 options to define the standard. Using a bazelrc is what I
believe to be the simplest, as it "fixes" the repo standard.
Signed-off-by: Nathan Gauër <brioche@google.com>
* Enforce layering_check in Bazel build rules.
Enforcing layering_check ensures that the Build targets do not rely on
transitive dependencies. See
https://github.com/bazelbuild/bazel/pull/11440 for a detailed
description of the feature.
We also do a style pass on the build files, ensuring that common linters
are happy with it.
* Add .bazelversion file and fix build_defs.bzl.
We fix build_defs.bzl to work on Bazel 5.0.0.