If you are using devcontainers and/or codespaces then you can start contributing immediately and skip the next step.
Starlark files should be formatted by buildifier. We suggest using a pre-commit hook to automate this. First install pre-commit, then run
pre-commit install
Otherwise later tooling on CI will yell at you about formatting/linting violations.
Some targets are generated from sources. Currently this is just the bzl_library
targets. Run bazel run //:gazelle
to keep them up-to-date.
You'll commonly find that you develop in another WORKSPACE, such as some other ruleset that depends on toolchains_protoc, or in a nested WORKSPACE in the integration_tests folder.
To always tell Bazel to use this directory rather than some release artifact or a version fetched from the internet, run this from this directory:
OVERRIDE="--override_repository=toolchains_protoc=$(pwd)/toolchains_protoc" echo "common $OVERRIDE" >> ~/.bazelrc
This means that any usage of @toolchains_protoc
on your system will point to this folder.