bazel-contrib / bazel-contrib/rules_python
Add a new python comment annotation that adds targets to `data`
- Ngôn ngữ chính
- Starlark
- Star
- 688
- Fork
- 721
- Merge trung bình
- 15 giờ 7 phút
- Pull request đã merge (30 ngày)
- 76
Mô tả
# 🚀 feature request
### Relevant Rules
+ gazelle
### Description
This is the same as #1862, but for the `data` attribute on generated targets.
### Describe the solution you'd like
```python
# foo/bar/baz_test.py
import pathlib
# gazelle:include_data //foo/bar:test_data
TEST_DATA_DIR = pathlib.Path(__file__).parent / "test_data"
def test_main():
assert TEST_DATA_DIR.exists()
```
Running Gazelle generates:
```starlark
py_test(
name = "baz_test",
srcs = ["baz_test.py"],
data = ["//foo/bar:test_data"],
)
```
Note that Gazelle does _**not**_ generate the `test_data` target - it's still on the user to do that themselves.
### Describe alternatives you've considered
The current method is to manually add `data` attributes.
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu bằng cách đọc issue liên quan #1862 và phần triển khai Gazelle cho các chú thích hiện có trong comment Python. Theo dõi cách các chú thích ảnh hưởng đến các target được tạo, sau đó thêm xử lý tương ứng cho `# gazelle:include_data` để thuộc tính `data` chứa label được yêu cầu mà không tạo target. Công việc hoàn tất khi ví dụ tạo ra output `py_test` được hiển thị và hành vi hiện có vẫn được giữ nguyên.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- python
- Lĩnh vực
- build-system, tooling
- Loại issue
- Tính năng
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Khá rõ ràng
- Mức phù hợp với người mới
- 35/100