2012-10-17 8 views
0

나는Gant가 양의 정수 반환 목표에서 실패하지 않는 이유는 무엇입니까?

target(example: 'example target') { 
    echo(message: "name : ${it.name}, description: ${it.description}") 
} 

target(alwaysFails: 'never succeed') { 
    27 
} 

내가 gant alwaysFails 실행하면 build.gant 다음 한 빌드에 실패했습니다. 그러나 gant alwaysFails example을 실행하면 빌드가 성공했습니다.

실제로 빌드가 실패하고 '예제'대상이 실행되지 않을 것으로 예상됩니다.

목표 실패시 어떻게 중지 할 수 있습니까?

답변

1

난 당신이 대상이 서로에 의존 할 필요가 믿는, 그래서

target(alwaysFails: 'never succeed') { 
    27 
} 

target(example: 'example target') { 
    depends(alwaysFails) 
    echo(message: "name : ${it.name}, description: ${it.description}") 
} 

그런 다음 실행 :

gant example 

alwaysFails를 실행하고 성공하면 다음은하지 않을있는 (example를 실행). 이렇게하면 원하는 기능을 얻을 수 있다고 생각합니다.

+0

감사합니다.하지만 문제는 'alwaysFailes'가 선택 사항입니다. 나는'alwaysFails'에 의존하는'example'을 만들어서는 안됩니다. 그것은 '깨끗한'목표와 '컴파일'대상과 같습니다. 때때로 우리는'gant clean compile '이라고 부를 필요가 있지만'compile'은'clean '에 의존하지 말아야한다. – KwonNam

0

항상 실패 할 때 대상을 예외로 설정합니다. 그것은 작동합니다.

throw new RuntimeException('error message..')