blob: 30067b4c234e3a70408c8aeb7318cf3fcb018596 [file] [log] [blame] [view]
# Python Gazelle plugin
:::{note}
The gazelle plugin docs are being migrated to our primary documentation on
ReadTheDocs. Please see https://rules-python.readthedocs.io/gazelle/docs/index.html.
:::
## Developer Notes
Gazelle extensions are written in Go.
See the gazelle documentation https://github.com/bazelbuild/bazel-gazelle/blob/master/extend.md
for more information on extending Gazelle.
If you add new Go dependencies to the plugin source code, you need to "tidy" the go.mod file.
After changing that file, run `go mod tidy` or `bazel run @go_sdk//:bin/go -- mod tidy`
to update the go.mod and go.sum files. Then run `bazel run //:gazelle_update_repos` to have gazelle
add the new dependenies to the deps.bzl file. The deps.bzl file is used as defined in our /WORKSPACE
to include the external repos Bazel loads Go dependencies from.
Then after editing Go code, run `bazel run //:gazelle` to generate/update the rules in the
BUILD.bazel files in our repo.