2010-01-17 23 views
5

varsayalım Ben iki üst düzey görevler: internalBuild görev içinRake Görev Sipariş

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

, ben kaynak kodunu zip istemiyorum - Sadece özel anahtarı istiyorum. Ama bir publicBuild için ikisini de yapmak istiyorum. Ancak, publicBuild için zipSourceCode görevinin copyPrivateKey görevinden önce çalıştığını garanti etmeliyim (kaynak kodunu ZIP'in ortak anahtarı içermesini istemiyorum).

copyPrivateKey => zipSourceCode gibi bir bağımlılık işe yaramaz; çünkü bu, internalBuild için, istemediğim zipSourceCode'u çağırır.

Tırmığa söylemek istediğim, "eğer bu iki görev yürütülecekse, önce bunu yapmanız gerekir, ancak her ikisi de isteğe bağlıdır". Mümkün mü?

+3

Onları dizide belirttiğiniz sırada çalıştırmıyor musunuz? Bu şaşırtıcıdır, çünkü diziler Ruby'de sipariş edildiğinden ... ve bu kadar net olan şaşırtıcı bir şey olmadığı için ağda bu gibi soruları bulamıyorum, çünkü hiç kimsenin bu konuya kimsenin girmemesi tamamen mantıksız görünüyor ... – tfwright

+0

Onları sırayla çalıştırıyor - Ben sadece bu sıraya güvenebileceğimi beklemiyordum. Belki de belgeleri daha detaylı okumalıydım. Teşekkürler! –

cevap

4

Floyd'in dediği gibi ... görevler bağımlılık dizisinde göründükleri sıraya göre yapılmalıdır.

+1

... ': zipSourceCode' işlevi, ': copyPrivateKey' öğesine bağlı olan bir göreve bağlı olmadığı sürece. Bu, Rake bağımlılıkları çözdüğü zaman yanlış sırada çalıştırılmasına neden olur. –

+0

ah evet. doğru. teşekkürler James :) –