Gradle | Gradle 준비 | Gradle이란?


  • Gradle은 Maven을 대체 빌드 도구(build tool) 이다.
  • Grooby 기반의 DSL(Domain Specific Language)를 사용한다.
  • 스프링 오픈소스 프로젝트, 안드로이드 스튜디오에서는 Gradle을 사용되고 있다.

Gradle 공식 사이트

왜 Gradle인가?

Java에서는 비교적 일찍부터 “빌드 도구"에 의한 프로젝트 관리가 보급되어 있었다. Aache Ant라는 빌드 도구가 등장한 것은 2000년이다. 그 후에 더욱 강력한 Apache Maven이 등장하고, 이것이 현시점에서도 “Java 빌드 도구의 사실상의 표준"이라고 할 수 있다.

이러한 툴에서 “이것이 거의 표준"이라고 정착하면, 그렇게 간단히 바뀌는 것은 아니지만 빌드 도구의 세계에서 그 예외적인 사건이 일어나고 있다. 이 Maven의 아성을 무너지고 있는 강력한 라이벌이 “Gradle “라는 소프트웨어이다.

Gradle은 Groovy라는 언어를 기반으로 만들어진 빌드 도구이다. “Groovy? Java 아냐?“라고 생각했을지도 모른다. 그것은 일부는 맞는 말이다.

Groovy는 Java 가상 머신에서 실행되는 스크립트 언어이다. Java와 마찬가지로 소스 코드를 작성하고 Java 가상 머신에서 동작하지만, Java와 달리 소스 코드를 컴파일을 할 필요는 없다. Groovy는 스크립트 언어이며, 소스 코드를 그대로 실행한다. 또한 Java와 호환되고, Java 클래스 파일을 그대로 Groovy 클래스로 사용할 수 있다. 문법도 Java에 아주 가까워, Java를 보다 사용하기 쉽게 한 것으로 느낄 수 있다. 어떤 사람들은 Groovy는 Java의 방언 중 하나라고 생각하는 사람도 있을 정도이다.

이 “간편하게 사용할 수 있는 Java"라고 할 수 있는 Groovy를 사용하여 빌드 처리를 작성하고, 실행하는 것이 Gradle이다.

기존에 이미 Maven을 이용하고 있는 사람이라면 느낄 수 있겠지만, Maven은 XML 기반의 빌드 처리를 작성한다. 간단한 내용이라면 상관 없지만, 복잡한 내용을 작성하게 되면 XML 기반 의한 묘사는 상당히 어려워 진다. Java 프로그래머인데, 빌드 관리만을 위해 다른 언어를 사용하지 않으면 안된다는 것은 어쩐지 납득할 수 없는 느낌도 든다.

Gradle라면, Java와 거의 비슷한 코드를 써서 빌드 처리를 관리 할 수 있다. 이런 면이 Java 프로그래머로 압도적으로 받아들이 기 쉬운지도 모른다.