Gradle 이란?
- 거의 모든 타입의 소프트웨어를 빌드할 수 있는 빌드 자동화 시스템
Build
- 소스 코드를 컴파일, 테스트, 정적 분석 하여 실행 가능한 어플리케이션으로 만드는 과정
- 컴파일과 링크 과정 포함
다양한 라이브러리 등장
- 라이브러리를 다운로드 및 추가하는 번거로움
- 버전 관리 불편
- jar 파일 보안 위험
--> 라이브러리를 자동 추가 및 관리하고 버전을 쉽게 동기화하는 빌드 도구 탄생
Gradle 사용 이유
프로젝트를 설정 주입(Configuration Injection) 방식으로 정의
- 프로젝트의 조건을 체크할 수 있으므로 프로젝트 별 설정 가능
멀티 프로젝트 빌드
- 하나의 repository내 여러 하위 프로젝트 구성 가능
ex) 관리자와 사용자 서버 분리
빠른 빌드 속도
- 점진적 빌드 : 마지막 빌드 호출 이후 변경이 없으면 빌드 실행 x
- 빌드 캐시 : 빌드 결과를 캐싱하여 다른 빌드 결과로 사용 가능
- 데몬 프로세스 : 오래 살아있는 프로세스로, 메모리 상에 빌드 결과물을 보관