2017-09-14 22 views
0

Groovy에서 전체 패키지에 대한 정적 링크를 적용하고 싶습니다. 정적 연결은 use of CompileStatic이 필요합니다. 나는 모든 반에 이것을 다시 쓰는 것을 피하고자한다. 이것을 패키지 레벨 주석으로 어떻게 적용 할 수 있습니까? Groovy에서 패키지 레벨 주석에 대한 참조를 찾지 못했습니다.groovy에서 @CompileStatic 주석을 패키지 범위에 추가하는 방법

주석을 패키지 a.b.c에 적용하는 방법을 보여주는 코드를 제공 할 수 있습니까?

+0

당신이 읽고있는이 언급 주석이 패키지에 적용 할 수 있음을 어디에서? 따라서 게시 된 질문은 무엇입니까? – Rao

답변

0

이것은 테스트되지 않았지만 configurationScript, 소스 인식 사용자 지정자 및 dsl docs에 설명 된 AST 변환 사용자 지정자의 좋은 조합을 만드는 것이 가능해야한다고 생각합니다. 같은

뭔가 :

withConfig(configuration) { 
    source(unitValidator: { unit -> unit.AST.classes.any { it.packageName== 'a.b.c' } }) { 
     ast(CompileStatic) 
    } 
} 
+0

하하, 테스트 해봤는데 효과가있었습니다! :) 물론 packageName.startsWith ('a.b.c')를 사용하여 하위 패키지를 포함하십시오. – andi