본문 바로가기

Gradle

[gradle] lucene-korean-analyzer build.gradle sample

속성(?)으로 오며가며 gradle을 공부하고, 개인프로젝트인 lucene-korean-analyzer를 maven에서 gradle로 변경해보았습니다. 



1. dependencies 설정에서 runtime은 compile 단계를 포함한다고 되어있다.

(The dependencies required by the production classes at runtime. By default, also includes the compile time dependencies.) 그런데, 내가 잘못이해한건지.. runtime으로 설정을 해놓으면 compile단계에서 에러가 발생한다. testRuntime 역시 마찬가지...


2. 인코딩 설정은 아래와 같이

[compileJava, compileTestJava]*.options*.encoding = 'UTF-8']



3. test시 옵션을 줄 수 있다.


4. compileJava task에서 properties나 txt등의 파일이 build/classes로 들어가지 않아 계속 test 실패가 발생했었다.

processResources task를 이용하면 처리가 가능할것 같기는한데 잘 되지 않았고 아래와 같이 compileJava task에

copy 작업을 추가하였다.

compileJava << {
copy {
from 'src/main/java'
into 'build/classes/main'
include '**/*.properties'
include '**/*.dic'
include '**/*.jflex'
include '**/*.txt'
 
includeEmptyDirs = false
}
}


5. eclipse 프로젝트로의 변환을 위한 설정도 들어가있는데, project의 인코딩을 변경하기 위해서 아래와 같이 설정을 하였다.
eclipse {
classpath {
downloadSources=true
}
 
jdt {
file {
withProperties {
properties -> properties.setProperty("encoding//src/main/java", "utf-8")
properties.setProperty("encoding//src/main/resources", "utf-8")
properties.setProperty("encoding//src/test/java", "utf-8")
properties.setProperty("encoding//src/test/resources", "utf-8")
}
}
}
}


6. lucene-korean-analyzer.jar는 github에 만들어놓은 maven repository로 들어가야하므로, 일단 local repository에 deploy하기 위한 설정이 아래와 같이 들어갔다.
uploadArchives {
repositories.mavenDeployer {
repository(url: "file:///Users/need4spd/Programming/Java/test-repo")
}
}