잊지 않겠습니다.

gradle 정리 - single project

Java 2013. 10. 25. 23:54
ava project에 대한 build tool의 최종 완성본

build tool의 역사

1. no build tool
2. ant
3. maven
4. gradle

Gradle을 이용한 java sample project의 개발

gradle setupBuild 를 이용한 초기 project build.gradle 파일 생성
기본적으로 maven way와 동일한 file path를 갖고 있다. 

src/main/java
src/main/resources
src/text/java
src/test/resources

1. targetCompatibility, sourceCompatibility의 설정
: 사용된 java version을 설정한다. 기본값은 1.5다

2. repositories의 설정
: repository를 설정한다. repository는 Maven에서 사용되던 것과 동일하며 Local PC에 maven이 설치된 경우, LocalPC에 대한 maven repository를 먼저 찾아보도록 설정하는 것이 가능하다. 
maven 설정은 다음과 같이 구성한다. 

repositories {
    mavenLocal()              //Local PC maven repository
    mavenCentral()           //mavenrepository site를 참조   
}

3. dependencies의 설정
: dependency를 설정한다. dependency의 경우에는 maven에 비하여 간결한 format을 지원한다.

 dependencies {

     compile 'org.slf4j:slf4j-api:1.7.5'
     testCompile "junit:junit:4.11"
     providedCompile 'javax.servlet:servlet-api:3.1'
     providedRuntime 'webcontainer:logging:1.0'
}


* compile : compile시에 필요한 dependency를 설정한다.

* testCompile : test 시에 필아한 dependency를 설정한다. 

* providedCompile : compile시에는 필요하지만, 배포시에는 제외될 dependency를 설정한다. (war plugin이 설정된 경우에만 사용 가능하다)

* providedRuntime : runtime시에만 필요하고, 실행환경에서 제공되는 dependency를 설정한다. (war plugin이 설정된 경우에만 사용 가능하다)

 

4. gradle build sequence

* compileJava : java compile

* processResources : resources로 지정된 file 처리 - jar를 만들기 위해 build folder로 copy등의 절차를 취한다

* classes : classes directory를 구성한다. compileJava를 통해 compile된 class객체와 resource들을 취합한다.

* jar : 모인 파일들을 이용해서 jar를 구성한다.

* compileTestJava : test code를 구성한다.

* processTestResources : test resources를 구성한다.

* testClasses : 앞 두과정을 통해서 모여진 파일들을 처리한다.

* test : testClass를 실행해서 JUnit/TextNG 결과를 도출시킨다.


Posted by Y2K
,