문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 마지막 판 양쪽 다음 판 | ||
gradle:buildlifecycle [2012/10/08 17:55] kwon37xi [프로젝트 평가] |
gradle:buildlifecycle [2012/10/08 18:02] kwon37xi [태스크 실행] |
||
---|---|---|---|
줄 165: | 줄 165: | ||
==== 태스크 실행 그래프가 정해진 뒤에 ==== | ==== 태스크 실행 그래프가 정해진 뒤에 ==== | ||
+ | * 실행할 태스크에 '' | ||
+ | task distribution << { | ||
+ | println "We build the zip with version=$version" | ||
+ | } | ||
+ | task release(dependsOn: | ||
+ | println 'We release now' | ||
+ | } | ||
+ | |||
+ | gradle.taskGraph.whenReady {taskGraph -> | ||
+ | if (taskGraph.hasTask(release)) { | ||
+ | version = ' | ||
+ | } else { | ||
+ | version = ' | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | '' | ||
+ | |||
+ | ==== 태스크 실행 ==== | ||
+ | 어떤 태스크이든 실행 직전과 직후에 알림을 받을 수 있다. | ||
+ | |||
+ | * 태스크 실행과 종료를 로그로 남기는 '' | ||
+ | task ok | ||
+ | |||
+ | task broken(dependsOn: | ||
+ | throw new RuntimeException(' | ||
+ | } | ||
+ | |||
+ | gradle.taskGraph.beforeTask { Task task -> | ||
+ | println " | ||
+ | } | ||
+ | |||
+ | gradle.taskGraph.afterTask { Task task, TaskState state -> | ||
+ | if (state.failure) { | ||
+ | println " | ||
+ | } | ||
+ | else { | ||
+ | println " | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | * 실행하면 < | ||
+ | > gradle -q broken | ||
+ | executing task ': | ||
+ | done | ||
+ | executing task ': | ||
+ | FAILED | ||
+ | </ | ||
+ | |||
+ | [[http:// | ||