2010-01-17 29 views
5

Giả sử tôi có hai nhiệm vụ cấp cao nhất:Rake công tác đặt hàng

task :publicBuild => [:zipSourceCode, :copyPrivateKey] 
task :internalBuild => [:copyPrivateKey] 

Đối với nhiệm vụ internalBuild, tôi không muốn nén mã nguồn - Tôi chỉ muốn khóa riêng. Nhưng đối với một số publicBuild, tôi muốn làm cả hai. Nhưng tôi cần đảm bảo rằng đối với publicBuild, tác vụ zipSourceCode được thực hiện trước tác vụ copyPrivateKey (Tôi không muốn mã ZIP nguồn chứa khóa công cộng).

Phụ thuộc như copyPrivateKey => zipSourceCode sẽ không hoạt động vì điều đó có nghĩa là đối với internalBuild, nó sẽ gọi số zipSourceCode mà tôi không muốn.

Điều tôi muốn nói với cào là "nếu hai nhiệm vụ này được thực thi, bạn nên làm điều này trước, nhưng cả hai đều là tùy chọn". Điều này có thể không?

+3

Nó không chạy chúng theo thứ tự bạn chỉ định chúng trong mảng? Điều đó thật đáng ngạc nhiên, vì các mảng được đặt hàng trong Ruby ... và tôi không thể tìm thấy bất kỳ câu hỏi nào như thế này trên mạng, điều này cũng không kém phần ngạc nhiên, vì dường như hoàn toàn không thể tin được rằng không ai khác có thể gặp phải vấn đề này ... – tfwright

+0

Nó chạy theo thứ tự - tôi không ngờ tôi có thể dựa vào thứ tự đó. Có lẽ tôi nên đọc tài liệu kỹ lưỡng hơn. Cảm ơn! –

Trả lời

4

Như floyd đã nói ... các tác vụ sẽ được thực hiện theo thứ tự xuất hiện trong mảng phụ thuộc.

+1

... miễn là ': zipSourceCode' không phụ thuộc vào tác vụ mà lần lượt phụ thuộc vào': copyPrivateKey'. Điều đó sẽ khiến chúng chạy theo thứ tự sai khi Rake giải quyết các phụ thuộc. –

+0

ah có. thật. cảm ơn James :) –

Các vấn đề liên quan