2010-12-13 70 views
0

我用耙子0.8.7簡單的rake文件操作

我希望運行解壓名爲pma.zip

此文件一個簡單的rake任務是我的任務

task :unzip_pma do 
    file "pma.txt" => "pma.zip" do 
    sh "unzip pma.zip" 
    end 
end 

PMA .txt應該是將pma.zip解壓縮到「文件」中的文件。即,創建pma.txt取決於pma.zip的存在。然而,當我運行rake unzip_pma時,沒有解壓縮發生,所以我的猜測是我的語法不正確。

rake unzip_pma -t -v 
(in /Users/abdfadf/Desktop) 
** Invoke unzip_pma (first_time) 
** Execute unzip_pma 

問題1.我在做什麼錯。
問題2.有什麼方法可以獲得比我在我的耙式命令上運行軌跡時看到的更有意義的輸出?

謝謝!

回答

2

生成的文件名稱的任務名稱。然後,您可以將該任務名稱作爲依賴項提供給另一個任務。嘗試定義你這樣的rake任務:

file "pma.txt" => "pma.zip" do 
    sh "unzip pma.zip" 
end 

task :unzip_pma => "pma.txt" do 
    # Other actions can go here... 
end 

通過以上在你的Rakefile,你也可以只運行:

rake pma.txt 

如果要強制一個任務內另一個運行(而不是使用依賴規則),使用Rake::Task[:the_other_task].invoke