2011-12-22 7 views
1

いくつかの場所では、 "directory"キーワードを省略形として使用することができます。どうやら、それは依存関係として表示される可能性があるため、まだ存在していなければ作成されます。rake - "directory"キーワードはどのように機能しますか?

http://onestepback.org/articles/buildingwithrake/directorydependencies.html

アイデアは、依存関係として先のディレクトリを指定することなく、手動mkdir_pを使用することによって達成することができるたびに、それを作成しようとすることです。 mkdir_pを使用することの欠点は、ディレクトリがすでに存在しているかどうかに関係なく出力を表示することです。別の解決策は、このコマンドを無音にすることです。ディレクトリが作成されたときにだけ出力が表示されるようにするとさらに優れています。次のように私は、 "ディレクトリ" キーワードを使用してみました

directory "myOutputDir" 
file "myOutputDir/destFile" => ["srcFile", "myOutputDir"] do 
    FileUtils.cp "srcFile" "myOutputDir/destFile" 
end 
file "destFile" => ["srcFile"] + [directory "myOutputDir"] do 
    FileUtils.cp "srcFile" "myOutputDir/destFile" 
end 

file "destFile" => ["srcFile"] do 
    directory "myOutputDir" 
    FileUtils.cp "srcFile" "myOutputDir/destFile" 
end 

答えて

1

これはどう


file "destFile" => ["srcFile", directory "myOutputDir"] do 
    FileUtils.cp "srcFile" "myOutputDir/destFile" 
end 

私はそれが別のタスクとして使用され、他のタスクと同様に依存関係として指定されていると思います。基本的にmkdirを実行するfileタスクを指定するのと同じですが、アクションは暗黙的です。それ以外の構文は同じです。

directoryサブディレクトリのすべてのレイヤーも同様です。http://onestepback.org/articles/buildingwithrake/directorydependencies.html

関連する問題