반응형

Gradle은 무엇인가?

그래들(이하 Gradle)은 그루비(Groovy)를 기반으로 한 빌드 도구이다. Ant와 Maven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 오픈소스로 공개된 빌드도구이다.

 (참고링크 : github.com/gradle/gradle)

 

Ant

  • XML 기반으로 빌드 스크립트를 작성한다.
  • 자유롭게 빌드 단위를 지정할 수 잇다.
  • 간단하고 사용하기 쉽다.
  • 유연하지만 프로젝트가 방대해지는 경우 스크립트 관리나 빌드 과정이 복잡해진다.
  • 생명주기(Lifecycle)을 갖지 않아 각각의 결과물에 대한 의존관계 등을 정의해야 한다.

Maven

  • XML 기반으로 작성한다.
  • 생명주기 (Lifecycle)와 프로젝트 객체 모델(POM, Project Object Model)이란 개념이 도입됐다.
  • Ant의 장황한 빌드 스크립트를 개선했다.
  • pom.xml에 필요한 라이브러리를 선언하면 자동으로 해당 프로젝트로 불러와 편리하다.
  • 상대적으로 학습 장벽이 높다.
  • 라이브러리가 서로 의존하는 경우 복잡해질 수 있다.

Gradle의 특징

 Gradle은 앞서 살펴본 Ant와 Maven이 가진 장점을 모아 만들었다. 의존성 관리를 위한 다양한 방법을 제공하고 빌드 스크립트를 XML언어가 아닌 JVM에서 동작하는 스크립트 언어 '그루비'기반의 DSL(Domail Specific Language)를 사용한다.

 그루비(Groovy)는 자바 문법과 유사하여 자바 개발자가 쉽게 익힐 수 있는 장점이 있으며 Gradle Wrapper를 이용하면 Gradle이 설치되지 않은 시스템에서도 프로젝트를 빌드할 수 있다.

 심지어 메이븐(Maven)의 pom.xml을 Gradle 용으로 변환할 수도 있으며 Maven의 중앙 저장소도 지원하기 때문에 라이브러리를 모두 그대로 가져다 사용할 수 있다.

 

Gradle 사용해보기

사실 Gradle을 반드시 설치하지 않아도 된다. 앞서 살펴본 특징처럼 Gradle이 설치되어 있지 않아도 Gradle Wrapper를 통해서 사용할 수 있기 때문이다. 하지만 기본적인 사용법을 알아보기 위해 설치를 해보자.

 

Gradle 설치

MacOS 기준으로 간단하게 brew를 이용하면 간편하다. 주의할 것은 설치된 JDK또는 JRE버전이 8이상이어야 한다.

$ brew install gradle

build.gradle

 설치가 완료되면 빌드 파일인 build.gradle 파일을 생성해보자. build.gradle파일은 빌드 스크립트라고 하며 엄밀히 말하면 빌드 구성 스크립트(Build Configuration Script)라고 한다.

 의존성이나 플러그인 설정 등과 같은 빌드에 필요한 설정을 하게 된다.

 

 

반응형