사용자 도구

사이트 도구


gradle:buildlifecycle

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gradle:buildlifecycle [2012/10/08 17:57]
kwon37xi [태스크 실행 그래프가 정해진 뒤에]
gradle:buildlifecycle [2014/08/29 14:40]
kwon37xi [프로젝트 평가]
줄 146: 줄 146:
 [[http://www.gradle.org/docs/current/dsl/org.gradle.api.invocation.Gradle.html|Gradle]] 객체에 [[http://www.gradle.org/docs/current/javadoc/org/gradle/api/ProjectEvaluationListener.html|ProjectEvaluationListener]] 를 추가해도 된다. [[http://www.gradle.org/docs/current/dsl/org.gradle.api.invocation.Gradle.html|Gradle]] 객체에 [[http://www.gradle.org/docs/current/javadoc/org/gradle/api/ProjectEvaluationListener.html|ProjectEvaluationListener]] 를 추가해도 된다.
  
 +  * 최상위 ''build.gradle''에서 특정 하위 프로젝트를 콕 집어서 지정<code groovy>
 +project(':sub-project').afterEvaluate {
 +   // ....
 +}
 +</code>
 ==== 태스크 생성 ==== ==== 태스크 생성 ====
   * 프로젝트에 태스크가 추가된 직후에 알림을 받을 수 있다. 기본값을 설정하거나 태스크가 빌드에 노출되기전에 행위를 추가하고자 할 때 사용한다.   * 프로젝트에 태스크가 추가된 직후에 알림을 받을 수 있다. 기본값을 설정하거나 태스크가 빌드에 노출되기전에 행위를 추가하고자 할 때 사용한다.
줄 186: 줄 191:
  
 ==== 태스크 실행 ==== ==== 태스크 실행 ====
 +어떤 태스크이든 실행 직전과 직후에 알림을 받을 수 있다.
 +
 +  * 태스크 실행과 종료를 로그로 남기는 ''build.gradle'' <code groovy>
 +task ok
 +
 +task broken(dependsOn: ok) << {
 +    throw new RuntimeException('broken')
 +}
 +
 +gradle.taskGraph.beforeTask { Task task ->
 +    println "executing $task ..."
 +}
 +
 +gradle.taskGraph.afterTask { Task task, TaskState state ->
 +    if (state.failure) {
 +        println "FAILED"
 +    }
 +    else {
 +        println "done"
 +    }
 +}
 +</code>
 +  * 실행하면 <code>
 +> gradle -q broken
 +executing task ':ok' ...
 +done
 +executing task ':broken' ...
 +FAILED
 +</code>
  
 +[[http://www.gradle.org/docs/current/javadoc/org/gradle/api/execution/TaskExecutionGraph.html|TaskExecutionGraph]]에 [[http://www.gradle.org/docs/current/javadoc/org/gradle/api/execution/TaskExecutionListener.html|TaskExecutionListener]]를 추가해도 된다.
  
gradle/buildlifecycle.txt · 마지막으로 수정됨: 2014/08/29 14:40 저자 kwon37xi