1

「ディレクトリ」キーワードは省略形として使用できるといくつかの場所で述べられています。どうやら、それは依存関係として示すことができるので、まだ存在していない場合は作成されます。

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

宛先ディレクトリを依存関係として指定するという考え方であり、毎回手動で作成しようとするのではなく、を使用して実現できますmkdir_p。使用の欠点はmkdir_p、ディレクトリがすでに存在しているかどうかに関係なく、出力が表示されることです。別の解決策は、このコマンドを無音にすることです。ディレクトリが作成されたときにのみ出力が表示される場合は、さらに効果的です。

次のように「directory」キーワードを使用してみました。


file "destFile" => ["srcFile", directory "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
4

1 に答える 1

1

これはどう:

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

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

directoryまた、次のようにサブディレクトリのすべてのレイヤーを作成します:http: //onestepback.org/articles/buildingwithrake/directorydependencies.html

于 2011-12-23T04:21:37.757 に答える