문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
gradle:task [2013/11/22 14:27] kwon37xi |
gradle:task [2018/05/31 13:45] (현재) kwon37xi |
||
---|---|---|---|
줄 26: | 줄 26: | ||
// tasks 에 추가 | // tasks 에 추가 | ||
- | tasks.add(name: | + | tasks.add(name: |
+ | // task 설정 | ||
println " | println " | ||
+ | } | ||
+ | |||
+ | // with create | ||
+ | |||
+ | tasks.create(name: | ||
+ | // task 설정 | ||
} | } | ||
</ | </ | ||
줄 33: | 줄 40: | ||
===== 태스크 정보 설정 ===== | ===== 태스크 정보 설정 ===== | ||
* Task의 description과 group을 지정하면 '' | * Task의 description과 group을 지정하면 '' | ||
- | * group은 마음대로 정할 수 있지만, 기본적으로 '' | + | * group은 마음대로 정할 수 있지만, 기본적으로 '' |
- | <code groovy> | + | |
dist { | dist { | ||
description = ' | description = ' | ||
줄 42: | 줄 48: | ||
dist.description = ' | dist.description = ' | ||
dist.group = ' | dist.group = ' | ||
+ | </ | ||
+ | * 동적 프라퍼티 설정< | ||
+ | task something { | ||
+ | ext.prop1 = ' | ||
+ | ext.prop2 = ' | ||
+ | } | ||
+ | // 외부에서 something.prop1 으로 접근 가능 | ||
</ | </ | ||
===== task에 접근하기 ===== | ===== task에 접근하기 ===== | ||
줄 218: | 줄 231: | ||
===== 태스크의 실행 순서 ===== | ===== 태스크의 실행 순서 ===== | ||
- | 태스크에 '' | + | * 태스크에 '' |
- | 이 때, 다음과 같은 방식으로 순서를 명확히 하는 것도 가능하다. | + | * 기존방법 : 다음과 같은 방식으로 순서를 명확히 하는 것도 가능하다.< |
- | <code groovy> | + | |
task somethingLastTask << { | task somethingLastTask << { | ||
tasks.somethingFirstTask.execute() | tasks.somethingFirstTask.execute() | ||
줄 228: | 줄 240: | ||
} | } | ||
</ | </ | ||
+ | * 새로운 방법(2015년 1월 현재 incubating) : <code groovy> | ||
+ | // 보통은 task1 -> task2 순서로 실행하지만 특정 상황에서는 이를 무시한다. | ||
+ | task2.shouldRunAfter task1 | ||
+ | // 무조건 task1 -> task2 순서를 지킨다. | ||
+ | task2.mustRunAfter task1 | ||
+ | </ | ||
===== tasks ===== | ===== tasks ===== | ||
* '' | * '' | ||
* [[http:// | * [[http:// | ||
- | ===== UP-TO-Date upToDate | + | ===== UP-TO-Date upToDate |
- | * 태스크를 무조건 실행하게 만들고자 한다면 Up to date 검사를 안하게 만들면 된다. | + | * [[http:// |
- | * [[http:// | + | |
- | // 태스크 | + | |
- | outputs.upToDateWhen { false } | + | // 태스크 선언부에서 아래와 같은 형태를 띄게 된다. |
+ | |||
+ | task someTask { | ||
+ | | ||
+ | |||
+ | doLast { | ||
+ | ... | ||
+ | } | ||
+ | } | ||
</ | </ | ||
+ | |||
+ | ===== --rerun-tasks ===== | ||
+ | * '' | ||
+ | |||
+ | ===== Task 실행에서 제외 ===== | ||
+ | * " | ||
+ | |||
+ | <code groovy> | ||
+ | gradle.taskGraph.whenReady { taskGraph -> | ||
+ | def tasks = taskGraph.allTasks | ||
+ | |||
+ | // 태스크 실행 그래프에 ' | ||
+ | if (tasks.find { it.name.toLowerCase() == ' | ||
+ | bbb.enabled = false // bbb 태스크를 skip 한다. 로그상에 SKIP으로 뜸 | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== 참조 ===== | ||
+ | * [[http:// | ||