헤르메스 LIFE

[Gradle] Gradle의 소개 본문

Build

[Gradle] Gradle의 소개

헤르메스의날개 2014. 3. 8. 07:50
728x90


* gradle 소개

gradle은 진화된 빌드툴로 빌드, 테스트, 배포, 개발 등을 자동화 할수 있다.
gradle은 Ant의 유연성과 효과적인 빌드툴인 maven의 편리성의 조합하여 많은 오픈소스 프로젝트의 빌드 시스템으로 빠르게 채택되었다.
현재 스프링 오픈소스 프로젝트도 gradle로 빌드시스템을 변경했다.


* gradle특징

1. Groovy 기반의 DSL(Domain Specific Language)을 사용
2. 의존성을 기반 프로그래밍을 위한 언어
3. 빌드의 구조화
4. API 제공
5. Multi 프로젝트 빌드
6. dependencies 관리의 다양한 방법 제공(의존성을 관리하는 다양한 방법을 제공)
7. migration의 편이성
8. build script는 xml이 아닌 grooby로 작성
8. 오픈소스로 제공


Gradle Plugin 정리

* java plugin
java plugin을 설정하는 경우 프로젝트의 기본 디렉토리 구조는 다음과 같다.
src/main/java : 실제 서비스를 담당하는 자바 소스 코드를 관리하는 디렉토리.
src/test/java : 테스트 소스를 관리하기 위한 디렉토리. 메이븐 빌드 툴은 서비스 소스 코드와 테스트 소스 코드를 분리해서 관리하며, 배포 시 테스트 소스 코드가 같이 배포되지 않게 한다.
src/main/resources : 서비스에 사용되는 자원을 관리하는 디렉토리.
src/test/resources : 테스트 시에 필요한 자원을 관리하기 위한 디렉토리.

* war plugin
프로젝트에서 war plugin을 사용하려면 build.gradle 파일에 다음과 같이 설정하면 된다.
war plugin은 java plugin과 의존관계에 있다. 따라서 빌드 스크립트에 war plugin을 추가하면 java plugin은 별도로 추가하지 않아도 된다.

* eclipse-wtp plugin
웹프로젝트는 eclipse-wtp 플러그인으로 분리되었다.
따라서, WTP 프로젝트를 생성하려면 eclipse-wtp 플러그인도 적용해야 한다.
eclipse-wtp를 적용하면 eclipse 플러그인은 명시하지 않아도 자동 적용된다.


728x90

'Build' 카테고리의 다른 글

[Maven] 수동으로 jar파일 다운받는 방법은?  (0) 2020.11.12
[Maven] 최신버젼 실행 시 오류  (0) 2020.11.12
[Gradle] Gradle task 실행  (0) 2014.03.08
[Gradle] 개발환경 설정  (0) 2014.03.08
[Gradle] build.gradle 설정방법  (0) 2014.03.08