2014-09-03 3 views
0

사실 더 일반적인 질문입니다. 새로운 작업을 소개하는 내 gradle 프로젝트 용 사용자 정의 플러그인을 작성 중입니다. 매우 간단한 작업이므로 새 작업 클래스를 작성하고 싶지 않습니다. 그 때문에 나는 그것을 만들기 위해 프로젝트에서 방법 "작업"을 사용 작업 방법에 대한 gradle 매개 변수 순서

project.task('myTask', dependsOn: 'build') << { 
    println 'Here I come!' 
} 

지금 나는이 메소드 호출의 구체적인 매개 변수 목록의 모습을 매우 혼란 스러워요. 창자 나는 그것들이 task(String, Map, Closure) 일 것이다. 그러나 실제로이 서명으로 오버로드 된 메소드가 없습니다. 유일한 방법은 task(Map, String, Closure)입니다.

groovy가 실제 매개 변수를 실제로 재정렬합니까? 아니면 여기에 놓친 부분이 있습니까?

답변

1

과부하는 task(Map, String)입니다. (<<Task의 오버로드 된 연산자이며 Task#doLast의 약자로 사용됩니다.) 명명 된 인수는 Groovy 컴파일러가 첫 번째 인수 맵으로 전달합니다.

관련 문제