Page 416 - 완) I MDP 프로젝트 작품 보고서(전체과 1학년)1.6
P. 416
정보통신기기 프로젝트
Gradle Task = Ant의 자유도
gradle task
Gradle의 모든 빌드 단위는 task로 정의한다. task는 Ant의 target과 같은 개념이다.
Gradle에서는 개발자가 추가하고 싶은 빌드 단위가 있으면 새로운 task를 추가할 수 있다.
build.gradle
task hello {
doLast {
println 'Hello world!'
}
}
위와 같이 task를 추가하고 "gradle hello"를 실행할 수 있다.
위 task는 다음과 같이 간소화해서 정의할 수도 있다.
task hello << {
println 'Hello world!'
}
Gradle은 groovy 언어를 사용하고 있기 때문에 다음과 같이 빌드 스크립트에서 groovy 언어 문법을
직접 사용할 수 있다. groovy 언어 자체는 jvm 위에서 동작하기 때문에 자바 API를 그대로 사용할 수
있다.
task upper << {
String someString = 'mY_nAmE'
println "Original: " + someString
println "Upper case: " + someString.toUpperCase()
}
task dependencies
Gradle은 Ant의 target이 서로 간에 의존관계를 가질 수 있었던 것처럼 task 간에 의존 관계를 가질
수 있다.
task hello << {
println 'Hello world!'
}
task intro(dependsOn: hello) << {
println "I'm Gradle"
}
위 빌드 스크립트를 실행하면 다음과 같은 결과를 얻을 수 있다.
정보통신기기과
- 409 -