2010-12-13 8 views
0

私はここに私の仕事シンプルなすくいファイル操作

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

PMAだ

pma.zipと呼ばれるファイルを解凍、単純なrakeタスクを実行したいレーキ0.8.7

を使用しています.txtは、pma.zipが "into"に解凍されたファイルであると考えられます。すなわち、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私のrakeコマンドでトレースを実行したときよりも意味のある出力を得る方法はありますか?

感謝!

答えて

2

生成されるファイルの名前は、タスク名がです。そのタスク名を依存関係として別のタスクに供給することができます。このようなあなたのすくいタスクを定義してみてください:あなたは別の内部で実行するために、1つのタスクを強制したい場合は

rake pma.txt 

(代わりに使用して:上記で

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::Task[:the_other_task].invoke