bazel-contrib / bazel-contrib/rules_python
Allow overriding the build rule gazelle uses for libraries/tests/binaries
- Dominant language
- Starlark
- Stars
- 688
- Forks
- 721
- Avg merge
- 15h 7m
- Merged PRs (30d)
- 76
Description
# 🚀 feature request
### Relevant Rules
Gazelle Plugin
### Description
There are two issues I'm running into:
1) Some of my binaries need to use `py_image` rather than `py_binary` but gazelle can't manage deps for `py_image`.
2) I have a custom macro called `pytest_test` that I use for my tests that use pytest but Gazelle generates a `py_test` target for those files. I have to manually ignore all of those files and then manually manage the target since the `py_test` rule can properly run them.
### Describe the solution you'd like
It would be great if there was a Gazelle annotation where, for the current scope, Gazelle could be configured to use a different rule for particular target types.
### Describe alternatives you've considered
The only workaround I know of is to instruct Gazelle to ignore the files and then manage the build targets manually.
Contributor guide
Research direction
Start by reading the Gazelle Plugin and the relevant rules named in the issue, focusing on how it selects rules for libraries, tests, and binaries. The work is done when a scope-specific annotation can select alternatives such as py_image and pytest_test while Gazelle still manages dependencies for those targets.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- build-system
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100