2013-06-19 3 views
1

나는 레이크에 초보자이므로 간단한 설명이있을 것입니다. 예를 들어 간단한 설치 스크립트를 위해 일부 디렉토리를 만들고 일부 파일에 복사하고 싶었습니다.레이크 디렉토리 명령이 자동으로 실패합니까?

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로 디렉토리 나던 이미 존재 작동하지만 (즉 않습니다 아무것도) 디렉토리 cp 명령에 대한이 없기 때문에 갈퀴로 이어지는 중단.

디렉토리 지침에서해야 할 일을 오해 한 적이 있습니까?

답변

1

그래서 나는 갈퀴가 어떻게 작동해야하는지에 대해 오해하고있었습니다. 내가 원하는 것을 얻기 위해 testdata1 디렉토리에 의존하는 작업을 선언해야했습니다. 예 : 물론

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

directory "testdata1" 

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

이것은 testdata1 디렉토리에 의존하는 file_creation 작업 x.tmp 및 x.tmp 파일 생성 작업에 따라 기본 작업을 만듭니다. 나는 바보 같아.

관련 문제