Rake fails to re-run file task if file content changes but has timestamp older than target
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- ruby
- Lĩnh vực
- build-system
Hướng nghiên cứu
Không có tệp hoặc bài kiểm thử nào được nêu tên. Hãy bắt đầu bằng cách xem xét logic xác định tính mới của các điều kiện tiên quyết trong các tác vụ file-task của Rake và cách nó sử dụng dấu thời gian; xác định hành vi dựa trên nội dung được dự kiến và cách hành vi đó cần tương tác với các đầu vào XML được lưu trong bộ nhớ đệm cùng các tệp mã nguồn được tạo. Được xem là hoàn tất khi hành vi đã được đặc tả và được bao phủ bởi các bài kiểm thử phù hợp.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
I am not sure if this has been debated before.
Most of the modern build tools these days (Bazel, Buck etc.) rely on file content changing rather than timestamps. That makes them suitable for use in caching schemes to make builds incremental and reduce build times.
Rake on the other hand, relies solely on timestamps and does not fit in well with caching schemes.
For example, say an XML file is a prerequisite/input to generate source files. If the XML file changes but still has an older timestamp than the source files (entirely possible in caching schemes), the source files are not re-generated. This causes builds to fail / or (dangerously) incorrectly pass.
Is there any plan to make Rake on par with the more modern build tools of today?
- Ngôn ngữ chính
- Ruby
- Star
- 2.5k
- Fork
- 650
- Merge trung bình
- 6 phút
- Pull request đã merge (30 ngày)
- 3
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của ruby/rake
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
-
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 48/100
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 28/100
-
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 45/100
-
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 38/100
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
TheOdinProject/curriculum#31417 · 2 bình luận ·
-
Allow faraday-http-cache 3.x Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
glossarist/glossarist-ruby#238 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
palladius/rails8-app-on-gcp#145 ·