Status: This repository is still in alpha test phase, the content may not be accurate and can change without any notice.
A registry of Bazel modules for the Bzlmod external dependency system. It is the recommended Bazel registry to publish your Bazel open source projects for downstream users.
For more information, see the Bazel Central Registry Policies and Procedures.
A person who contributes a Bazel module entry to this registry is a module contributor.
To contribute a Bazel module, you can start with the interactive helper script:
python3 ./tools/add_module.py
A person who maintains a specific module entry in this registry is a module maintainer. The name and contact information of the module maintainers are recorded in the metadata.json file for each module.
Note that, a module maintainer doesn't have to be the project owner. Ideally, we prefer the project owner to maintain the module entry, as they know the project the best. But if the project owner is not maintaining the entry, a Bazel user who is interested in making the project available in this registry could also take on the responsibility.
Being a module maintainer means:
- You will be asked to review future changes of this module entry. For example, a PR for adding a new version for this module.
- You will be asked for help when a new version of the module is required by users.
- You should maintain the compatibility for this module when necessary.
To become a module maintainer, send a PR to add yourself as a maintainer in the metadata.json file of the module you want to maintain.
Currently, the Bazel team is the registry maintainer, who are responsible for:
- Review and merge PRs for this repository.
- Maintain testing and serving infrastructures for the Bazel Central Registry.
We require every module version to have a presubmit.yml
file for configuring the presubmit tests to verify the integrity of the module.
In the presubmit.yml
file:
- You should specify the list of build targets that you want to expose to downstream users.
- It's highly recommended to have a test module in your source archive.
- In general, you should NOT specify unit tests or test suites focusing on implementation details in this file.
The presubmit.yml file will be used for:
- Presubmit test when checking in the module version
- Downstream test for dependencies of this module
- Bazel compatiblity test