bazel-contrib / bazel-contrib/rules_python
A utility to generate "runfiles tree" for build actions
- 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
### Description
I'm wondering if there's a way to generate python runfiles in an action. This is probably a Bazel request but so far I've only really felt this pain for python as I try to write aspects that run on `py_library` targets but otherwise require a full runfiles tree.
The only issue I struggle to find a clean solution for is how to deal with generated files. Any library that contains generated files results in files being "missing" in the action bit in reality it hasn't been collapsed into a runfiles tree so other sources fail to import, for example.
### Describe the solution you'd like
I think if there's gonna be a `rules_python` specific implementation then it'd be natural to want to put this logic in python so it can run in the action and avoid impacting the analysis phase too much. Though I'm not sure how to handle environments like windows which do not run in a sandbox and would potentially litter the execroot or conflict with other running actions. Some utility in `rules_python` would be fantastic.
Hướng dẫn đóng góp
Hướng nghiên cứu
Issue không nêu file, test hay entry point của việc triển khai. Hãy bắt đầu bằng cách lần theo cách Python runfiles, các file được tạo và các aspect của py_library được xử lý trong các build action, sau đó điều tra các ràng buộc của Windows execroot và sandbox. Công việc được xem là hoàn tất khi có một thiết kế utility được xác định, giúp các file được tạo trở nên khả dụng mà không gây tác động không cần thiết đến analysis phase hoặc xung đột giữa các action.
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
- Loại issue
- Tính năng
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức độ hoạt động
- Đình trệ
- Độ rõ ràng
- Cần làm rõ
- Mức phù hợp với người mới
- 25/100