Backend

Gralde이란?

Llimy1 2023. 9. 12. 23:36
반응형
SMALL

Groovy를 기반으로 한 빌드 자동화, 개발 지원에 중점을 둔 빌드 도구인 Gradle

 

AntMaven과 같은 이전 세대 빌드 도구의 단점을 보완하고 장점을 취합하여 만든 오픈소스로 공개된 빌드 도구이다.

 

Ant

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

Maven

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

Gradle

  • Gradle은 Ant와 Maven이 가진 장점을 모아 만들었다
  • 의존성 관리를 위한 다양한 방법을 제공 빌드 스크립트를 XML 언어가 아닌 JVM에서 동작하는 스크립터 언어 Groovy 기반의 DSL(Domain Specific Language)를 사용
  • Groovy는 자바 문법과 유사하여 자바 개발자가 쉽게 익힐 수 있으며, Gradle Wrapper를 이용하면 Gradle이 설치되지 않아도 프로젝트 빌드 가능
  • Maven의  pom.xml을 Gradle용으로 변환 가능 Maven의 중앙 저장소도 지원하여 라이브러리를 모두 그대로 가져다 사용 가능
반응형
LIST