2013-06-19 2 views
1

Я новичок в грабли, поэтому есть, вероятно, простое объяснение. Я хотел создать несколько каталогов и скопировать в некоторых файлах простой сценарий установки, например.Команда команды rake молча отключается?

task :default => ['mktd1', 'mktd2' ] do 
end 

task :mktd1 do 
    mkdir "testdata" 
    cp "x.tmp", "testdata/x.tmp" 
end 

task :mktd2 do 
    directory "testdata1" 
    cp "x.tmp", "testdata1/x.tmp" 
end 

MkDir работает до тех пор, как каталог TestData оленья кожа уже существует, но «каталог» молча выходит из строя (то есть ничего не делает), что приводит к граблям прервать, поскольку каталог не существует для команды ср.

Я не понял, какую директиву каталога должен делать?

ответ

1

Таким образом, я ответил, что неправильно понял, как должен работать грабли. Для достижения того, что я хотел, мне нужно было объявить задачу, зависящую от каталога testdata1. например

task :default => [ 'testdata1/x.tmp' ] do 
end 

directory "testdata1" 

file "testdata1/x.tmp" => ["testdata1"] do 
    cp "x.tmp", "testdata1/x.tmp" 
end 

Это, конечно, создает x.tmp задачи file_creation, которая зависит от каталога testdata1 и задачи по умолчанию, зависит от задачи создания x.tmp файла. Я чувствую себя глупым.

Смежные вопросы