В нескольких местах указано, что ключевое слово «directory» может использоваться как сокращенная версия. По-видимому, он может быть указан как зависимость, так что он будет создан, если он еще не присутствует.rake - как работает ключевое слово «directory»?
http://onestepback.org/articles/buildingwithrake/directorydependencies.html
Идея заключается в том, чтобы указать папку назначения, как зависимость, а не пытаться создать его вручную каждый раз, что может быть достигнуто с помощью mkdir_p
. Недостатком использования mkdir_p
является то, что он отображает выходные данные независимо от того, была ли эта директория уже присутствующей. Альтернативное решение состоит в том, чтобы отключить эту команду - и даже лучше, если вывод будет отображаться только при создании каталога.
Я попытался с помощью "каталога" ключевое слово следующим образом:
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