문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 다음 판 | 이전 판 | ||
|
gradle:groovy [2012/10/02 19:45] kwon37xi 새로 만듦 |
gradle:groovy [2014/09/11 03:17] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Gradle Groovy Plugin ====== | ====== Gradle Groovy Plugin ====== | ||
| + | * [[http:// | ||
| + | Groovy 플러그인은 [[gradle: | ||
| + | |||
| + | * '' | ||
| + | apply plugin: ' | ||
| + | </ | ||
| + | |||
| + | ====== 태스크 ====== | ||
| + | |||
| + | ^태스크 이름 ^의존성 ^타입 ^설명 ^ | ||
| + | | compileGroovy | compileJava | [[http:// | ||
| + | | compileTestGroovy | compileTestJava | [[http:// | ||
| + | | compile// | ||
| + | | groovydoc | - | [[http:// | ||
| + | |||
| + | Groovy 플러그인은 기존 Java 플러그인의 태스크에 다른 의존성을 추가한다. | ||
| + | |||
| + | ^태스크 이름 ^ 의존성 ^ | ||
| + | | classes | compileGroovy | | ||
| + | | testClasses | compileTestGroovy | | ||
| + | | // | ||
| + | |||
| + | ====== 프로젝트 레이아웃 ====== | ||
| + | Groovy 소스 디렉토리에는 groovy와 java 소스코드가 올 수 있다. Java 소스 디렉토리에는 java 소스 코드만 올 수 있다. 아래 목록의 디렉토리가 꼭 있을 필요는 없다. | ||
| + | |||
| + | Java 플러그인의 디렉토리는 생략한다. | ||
| + | |||
| + | ^디렉토리 ^의미 ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | ====== 프로젝트 레이아웃 변경 ====== | ||
| + | <code groovy> | ||
| + | sourceSets { | ||
| + | main { | ||
| + | groovy { | ||
| + | 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. | ||