빌드(Build)
소스 코드 파일들을 컴퓨터에서 실행할 수 있는 제품 소프트웨어로 변환하는 과정, 결과물
빌드 도구(Build Tool)
소스코드에서 어플리케이션 생성을 자동화 하기 위한 프로그램
종류 : Ant, Maven, Gradle
자바 프로젝트들을 위한 빌드 자동화 도구
아파치 Ant의 대안으로 만들어짐
자동으로 라이브러리와 의존성(dependency)을 관리
POM(Project Object Model)
🔗 POM(Project Object Model)
- Maven의 기능을 이용하기 위해 POM 사용
pom.xml
파일에 저장됨
- 프로젝트 정보 : 프로젝트의 이름, 라이센스 등
- 빌드 설정: 소스, 리소스, 라이프사이클별 실행한 플로그인 등 빌드와 관련된 설정
- 빌드 환경 : 사용자 환경 별로 달라질 수 있는 프로파일 정보
- pom 연관 정보 : 의존 프로젝트(모듈), 상위 프로젝트, 포함하고 있는 하위 모듈 등
Ant와 Maven을 보완하여 개발된 빌드 도구
빌드, 프로젝트 구성/관리, 테스트, 배포 도구
안드로이드 앱의 공식 빌드 시스템
빌드 속도가 Maven에 비해 10~100배 빠름
JAVA, C/C++, Python 등 지원
스크립트, 가독성 면에서 Gradle이 우세
빌드 속도가 Gradle이 더 빠름 (Gradle은 캐싱(caching)을 사용하기 때문)
멀티 프로젝트를 하기에는 Gradle이 더 적합