В нескольких местах было указано, что ключевое слово "directory" может использоваться как сокращение. По-видимому, его можно указать как зависимость, так что он будет создан, если его еще нет.
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