Gradle | 테스크 생성 | 매개 변수 전달
태스크는 수행할 때 필요한 값을 매개 변수로 전달할 수 있다. 단순히 작업 처리 중 변수를 사용하면 된다. 예를 들어, 다음과 같다.
task msg {
println("you typed: " + x)
}
여기에서는 println으로 변수 x의 값을 표시하고 있다. 이 변수 x에 값을 설정하려면 gradle 명령을 실행시에 다음과 같이 입력한다.
$ gradle msg -Px=값
이렇게 -P
후에 변수명을 지정하고 그 뒤에 등호로 값을 지정한다. 변수 hoge에 123 값을 전달 싶다면 -Phoge=123
식으로 기술하면 된다.
사용 예제를 아래에 올려 두었다. 이는 숫자를 전달하여 그 숫자까지를 더하는 예제이다.
task hello {
doLast {
def n = max.toInteger()
for(def i in 1..n){
println("No," + i + " count.")
}
println("--end.")
}
}
테스크는 “max"라는 변수를 사용하여 최대 값을 지정한다. 예를 들어,
$ gradle hello -Pmax=5
이렇게 실행하면, 다음과 같이 메시지가 출력된다.
> Task :hello
No,1 count.
No,2 count.
No,3 count.
No,4 count.
No,5 count.
--end.
여기에서는 def n = max.toInteger()
와 같이 하여 변수 max를 정수 값으로 변환한 것을 변수 n에 대입하고 있다. 그리고 이 n 값을 이용하여 for으로 반복 계산을 실시하고 있다. 이런 상태로 매개 변수를 사용하여 쉽게 값을 변수로 전달할 수 있다.