본문 바로가기

Blog/Build Tool

Build Tool

빌드도구

 

  • 소스 코드를 컴파일, 테스트, 정적분석 등을 하여 실행 가능한 애플리케이션으로 자동 생성하는 프로그램
  • 계속해서 늘어나는 라이브러리 자동 추가 및 관리
  • 프로젝트를 진행하며 시간이 지남에 따라 라이브러리의 버전을 자동으로 동기화

 

 

배경

  • 웹, 앱 프로그램 개발이 발전하며 필요한 라이브러리가 많아지게 됨 -> 라이브러리를 직접 다운받아서 추가하여 사용하는 방법은 번거로움 => 빌드 도구로 해결

 

 

종류

  • Ant
  • Maven
  • Gradle

1. Ant

- XML 기반 빌드 스크립트를 개발

- 규칙이 없음

- 절차적 (명확한 빌드 절차 정의가 필요)

- 생명주기를 갖지 않아 각각의 Target에 대한 의존관계와 작업을 정의해 주어야 함

- 유연성이 높으나 프로젝트가 복잡해지는 경우 Build 과정의 이해가 어려움

- XML, Remote Repository를 가져올 수 없음

- 스크립트의 재사용 어려움

 

 

 

2. Maven

- 프로젝트에 필요한 모든 종속성(Dependency)를 리스트의 형태로 Maven에게 알려서 종속성을 관리

- XML, Repository를 가져올 수 있음 ('Jar', 'Class Path'를 선언만 하면 직접 다운로드 할 필요없이 Repository에서 자동으로 필요한 라이브러리 파일 불러옴)

- 라이브러리가 서로 종속할 경우 XML이 복잡해짐

- 계층적인 데이터를 표현하기는 좋으나, 플로우나 조건부 상황을 표현하기 어려움

- 편리하나 맞춤화된 로직 실행 어려움

 

 

 

3. Gradle

- JVM 기반의 빌드도구

- Ant와 Maven의 단점 보완

- 오픈소스 기반의 Build 자동화 도구

- Groovy 기반 DSL로 작성

- 프로젝트 시작시 설정에 드는 시간 절약할 수 있음

 

 

 

 

 

출처

'Blog > Build Tool' 카테고리의 다른 글

Maven(메이븐)  (0) 2020.04.07