Bazel registry for WFA projects. See https://bazel.build/external/registry
This can be partially automated using the add_module.py
tool from the Bazel Central Registry.
If doing updates manually, the calc_integrity.py
tool can be used to calculate
integrity values.
MODULE.bazel
files from module repositories typically do not specify the
correct module version. The common practice is to modify this file to add the
version when adding it to the registry, adding a patch file for the
modification.
- Make a copy of the
MODULE.bazel
file from the module source, editing it to specify the correct version. - Run the tool, following the input prompts.
- Specify the same module name and version as your
MODULE.bazel
copy from (1). - If your source archive has a prefix (e.g. release archives from GitHub), make sure to specify the appropriate strip_prefix value.
- Choose No for all Yes/No prompts except where specified below.
- Choose Yes at the prompt for specifying a MODULE.bazel file, specifying the file path of the copy from (1).
- When asked for build targets, enter any string as the WFA registry does not use this.
- Warnings related to BCR maintainer review and use of GitHub source archives can be ignored.
- You should only be prompted to add a homepage URL for modules that are new to this registry.
- Specify the same module name and version as your
- Create a pull request for the generated files, excluding files that are
ignored by
.gitignore
.
If you get an error related to presubmit.yml
not being found, you can add an
empty file to the specified location and re-run the tool specifying the
generated .json
file using the --input
option.
Update a project that depends on the module to use the newly-added version.
Build the project with Bazel, using the --registry
option to specify the local
clone of the registry using the file://
scheme. For example,
bazel build --registry="file://$HOME/git/bazel-registry" //...