Spring

Gradle이란 무엇인가?

히비스 2021. 7. 7. 00:34

Gradle == 빌드 도구

 

위키백과에 대략적으로 서술된 내용을 보면, 그레이들은 Groovy를 이용한 빌드 자동화 시스템이다.

 

그럼 Groovy는 무엇인가?

JVM에서 실행되는 스크립트 언어이며,

Java와 문법이 아주 비슷하고, Java와 호환이 되며 Java 클래스 파일을 그대로 Groovy 클래스로 사용할 수 있다.

 

groovy 언어로 작성된 build.gradle 파일

저렇게, dependencies 안에 포함된 코드들로 외부 의존성들을 주입할 수 있다.

 

 

빌드 자동화의 목적은 

개발자가 반복적으로 해야 하는 코딩을 잘 짜여진 프로세스를 통해 자동으로 실행하며, 믿을 수 있는 결과물도 생산해 낼 수 있는

일련의 작업방식 및 방법을 말한다.

 

다시 말해,

- 빠른 기간 동안 계속해서 늘어나는 라이브러리의 추가와

- 프로젝트를 진행하며 라이브러리의 버전을 쉽게 동기화 하기 위해 등장한 것이다.

 

Gradle의 특징

- 오픈소스 기반의 빌드 자동화 시스템으로 Groovy 기반 DSL(Domain Specific Language)로 작성되었다.

- 스크립트 규모가 작고 읽기 쉽다.

- Multi 프로젝트 빌드를 지원하기 위해 설계됐다.

- 설정 주입 방식이다. (Configuration Injection)

 

따라서, 초기 프로젝트 설정에 드는 시간을 절약할 수 있으며, 기존의 Ant나 Maven 등과 같은 빌드 도구들과도

호환이 가능하다.

 

Maven과 Gradle을 써본 입장으로, Gradle의 설정 방식 (=groovy언어 지원)이 훨씬 편했다.

Maven같은 경우는 태그로 이루어져 있어 xml파일이 매우 길어져, 의존성 파악하기가 Gradle에 비해 불편하다.