문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
gradle:groovy [2012/10/06 19:00] kwon37xi |
gradle:groovy [2014/09/11 03:17] (현재) kwon37xi |
||
---|---|---|---|
줄 31: | 줄 31: | ||
| '' | | '' | ||
| '' | | '' | ||
- | | '' | + | | '' |
====== 프로젝트 레이아웃 변경 ====== | ====== 프로젝트 레이아웃 변경 ====== | ||
줄 38: | 줄 38: | ||
main { | main { | ||
groovy { | groovy { | ||
- | srcDir ' | + | srcDir ' |
} | } | ||
} | } | ||
} | } | ||
</ | </ | ||
+ | |||
+ | '' | ||
====== 의존성 관리 ====== | ====== 의존성 관리 ====== | ||
+ | '' | ||
+ | * Gradle과는 무관하게 원하는 Groovy 버전을 선택할 수 있다. | ||
+ | * Gradle이 컴파일/ | ||
+ | * Groovy 버전 지정 '' | ||
+ | repositories { | ||
+ | mavenCentral() | ||
+ | } | ||
+ | dependencies { | ||
+ | groovy group: ' | ||
+ | } | ||
+ | </ | ||
+ | * '' | ||
+ | repositories { | ||
+ | flatDir { dirs ' | ||
+ | } | ||
+ | |||
+ | dependencies { | ||
+ | groovy module(': | ||
+ | dependency(' | ||
+ | dependency(' | ||
+ | dependency(' | ||
+ | module(': | ||
+ | dependencies(': | ||
+ | } | ||
+ | } | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== 소스셋 프라퍼티 ===== | ||
+ | Groovy 플러그인은 소스셋에 다음 프라퍼티들을 추가한다. | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | ^프라퍼티 이름 ^타입 ^기본값 ^설명 ^ | ||
+ | | groovy | [[http:// | ||
+ | |groovy.srcDirs | Set< | ||
+ | | allGroovy | [[http:// | ||
+ | |||
+ | Groovy 플러그인은 몇몇 소스셋 프라퍼티들을 수정한다. | ||
+ | |||
+ | ^프라퍼티 이름 ^변경사항 ^ | ||
+ | | allJava | Groovy 소스 디렉토리의 모든 *.java 파일을 이 프라퍼티에 추가시킨다. | | ||
+ | | allSource | Groovy 소스 디렉토리의 모든 소스 파일을 이 프라퍼티에 추가시킨다. | | ||
+ | |||
+ | ===== CompileGroovy ===== | ||
+ | Groovy 플러그인은 프로젝트의 각 소스셋에 [[http:// | ||
+ | |||
+ | CompileGroovy의 프라퍼티들은 다음과 같다. | ||
+ | |||
+ | ^태스크 프라퍼티 ^타입 ^기본값 ^ | ||
+ | | classpath | [[http:// | ||
+ | | source | [[http:// | ||
+ | | destinationDir | File | // | ||
+ | | groovyClasspath | [[http:// | ||
+ | |||
+ | ===== 컴파일 옵션들 ===== | ||
+ | * http:// | ||
+ | * Groovy 소스 인코딩 지정 <code groovy> | ||
+ | // / | ||
+ | [compileGroovy, | ||
+ | // / | ||
+ | [compileGroovy, | ||
+ | |||
+ | // 길게 풀어쓰면 | ||
+ | compileGroovy { | ||
+ | groovyOptions.encoding = defaultEncoding | ||
+ | options.encoding = defaultEncoding | ||
+ | } | ||
+ | </ | ||
+ | * [[http:// | ||
+ | tasks.withType(GroovyCompile) { | ||
+ | groovyOptions.optimizationOptions.indy = true | ||
+ | } | ||
+ | </ | ||
+ | * you should use **JDK 7u60** or above to avoid any potential invokedynamic related bugs. |