2010-02-26 60 views

回答

9

Rake文件和ruby文件沒有什麼不同。 因此,只需在文件B中加載包含其他任務的文件A,並且在執行B時它們將可用。

舉例來說,如果你把下面的代碼在你的Rakefile

Dir['tasks/*.rake'].each { |file| load(file) } 

,那麼你可以在tasks子文件夾中創建許多.rake文件,並從主Rakefile給他們打電話。

+0

是。我總是這樣做,a)爲每個文件保留一個域('gem.rake'中所有與gem相關的任務,'test.rake'中所有與測試相關的任務,'doc.rake'中所有與文檔相關的任務)和b )在不同的項目之間共享共同的任務(調用RDoc,RSpec,RubyGems真的是一樣的,獨立於特定的項目)。 – 2010-02-26 16:57:19

2

我剛剛完成與以下類似的東西:

task :master do 
    `rake slave` 
end 

task :slave do 
    puts "Hello World" 
end 

也許有點簡陋,但它的工作。

+2

我相信這個策略雖然可能有效,但並不理想。相反,試試:'Rake :: Task [:'slave']。invoke'爲主任務。 – 2014-12-14 21:48:14

相關問題