TIL 2023.11.01 Gradle

손창현·2023년 11월 1일
0

TIL

목록 보기
2/15
post-thumbnail

Gradle이란?

GradleAntMaven과 같은 이전 세대 빌드 도구들의 단점을 보완하고 장점들만 모아 만들어 다국어 개발지원에 중점을 둔 오픈소스 빌드 자동화 도구이다.

Gradle은 빌드 스크립트를 XML이 아닌 JVM에서 동작하는 스크립트 언어인 Groovy 기반의 DSL(Domain Specific Language)를 사용한다.

Groovy는 자바 문법과 유사해서 자바 개발자가 쉽게 배울 수 있고 Gradle Wrapper를 이용하면 Gradle이 설치되지 않은 시스템에서도 프로젝트를 빌드할 수 있다.

가장 중요한 것은 라이브러리를 관리한다는 것이다. 우리가 프로젝트를 진행하다 보면 필요로 하는 외부 라이브러리가 많다. 그런 라이브러리를 Denpendencies에다가 작성을 하면 Gradle이 라이브러리를 모아둔 장소인 Maven 라이브러리라는 외부 저장소에서 자동으로 다운로드 해온다.

그리고 또한, 다른 라이브러리과의 의존성을 자동으로 관리해준다. 라이브러리간의 충돌걱정없이 개발에만 집중할 수 있다. 개발을 하다 보면 모든 기능을 우리가 직접 구현하지 않고 미리 작성되어 있는 라이브러리를 사용해서 기능을 구현하게 될 것이다.

라이브러리라는 것은 기능들이 모여있는 코드들의 묶음이다. 그러다보니 이 라이브러리 하나하나가 전부 Java 코드로 작성되어 있다. 그러다보니 아무렇게나 라이브러리 버전을 사용하다 보면 서로 다른 버전으로 작성된 라이브러리들을 사용할 수 있게 된다. 이전에는 이런 점을 해결하기 위해 개발자가 직접 다 맞춰줘야 했다.
하지만 지금은 Gradle이 이러한 의존성들을 라이브러리간의 충돌이 나지 않고 쉽게 관리하게끔 도와준다.

Reference

https://madplay.github.io/post/what-is-gradle
https://github.com/gradle/gradle

profile
백엔드개발자 손창현입니다.

0개의 댓글