스펜서 개발블로그

Gradle(그래들)의 정의 및 Maven과의 비교 (feat. Apache Ant) 본문

Tools/Gradle

Gradle(그래들)의 정의 및 Maven과의 비교 (feat. Apache Ant)

스펜서 2021. 7. 5. 18:08

Gradle이란?

Gradle(그래들)은 Groovy(그루비)를 이용한 오픈 소스 빌드 자동화툴로 java, python, C/C++ 등 다양한 언어를 지원하고 안드로이드 스튜디오의 공식 빌드 시스템으로 사용되고 있다.

 

Gradle은 기존 빌드툴인 Ant와 Maven의 기능을 개선하여 만들어졌으며, Ant의 기능을 사용할 수 있고 빌드 시 Groovy를 사용하여 xml 기반으로 빌드하는 Maven보다 코드가 간결하다. 

 

 

Gradle Maven 비교

  1. Gradle의 빌드 시간이 짧음 (이미 업데이트된 task는 작업X)
    => 10배에서 100배까지 차이가 남
  2. Gradle은 Groovy 스크립트를 사용하여 Maven의 XML보다 코드가 간결함
  3. 멀티 프로젝트 사용 시 Gradle은 주입 방식, Maven은 상속 방식 사용
    => 멀티 프로젝트에 적합함

 

 

Ant란? (Apache Ant)

자바 기반의 빌드 툴로써 OS와 상관 없이 사용할 수 있으며 Configuration파일을 XML 형태로 사용한다.

 

주요 기능

  • Java 소스 파일 컴파일
  • jar, war, ear, zip 파일 생성
  • avadoc을 실행하여 도움말 생성
  • 파일이나 폴더의 이동 및 복사, 삭제
  • 각각의 작업에 대한 의존성 설정
  • 유닉스에서처럼 파일이나 폴더에 퍼미션 설정
  • 파일의 변경 날짜를 설정하는 touch 기능
  • 외부 프로그램의 실행
  • 플랫폼에 무관한 XML 이용 (build.xml : Configuration 파일)
  • 이클립스에 기본 탑재되어있는 플러그인

 

 

 

Comments