2010-12-13 2 views
0

내가 사용 레이크 0.8.7간단한 레이크 파일 조작

내가

여기

pma.zip라는 파일 압축을 풀고 간단한 레이크 작업을 실행하려면 내 작업

task :unzip_pma do 
    file "pma.txt" => "pma.zip" do 
    sh "unzip pma.zip" 
    end 
end 

PMA의 .txt는 pma.zip이 압축 해제 된 "in"파일이어야합니다. 즉, pma.txt의 작성은 pma.zip의 존재 여부에 달려 있습니다.

그러나 rake unzip_pma를 실행하면 압축이 풀리지 않으므로 내 구문이 올바르지 않습니다.

rake unzip_pma -t -v 
(in /Users/abdfadf/Desktop) 
** Invoke unzip_pma (first_time) 
** Execute unzip_pma 

질문 1. 나는 뭘 잘못하고있다.
2. 레이크 명령에서 추적을 실행할 때보다 의미있는 출력을 얻을 수있는 방법이 있습니까?

고맙습니다!

답변

2

생성 된 파일의 이름 은 작업 이름이입니다. 그런 다음 해당 작업 이름을 종속성으로 다른 작업에 공급할 수 있습니다. 이처럼 레이크 작업을 정의하십시오 : 다른 내에서 실행 한 작업을 강제 할 경우

rake pma.txt 

(대신 사용 : 위의와

file "pma.txt" => "pma.zip" do 
    sh "unzip pma.zip" 
end 

task :unzip_pma => "pma.txt" do 
    # Other actions can go here... 
end 

당신의 rakefile에, 당신은 또한 바로 실행할 수 있습니다 종속성 규칙), 사용 Rake::Task[:the_other_task].invoke