오픈소스 빌드 자동화 툴이다.
거의 모든 타입의 소프트웨어를 빌드할 수 있는 유연함이 특징이다.
- High Performance
- JVM Foundation
- Conventions
- Extensibiltiy
- IDE, Build Scan support
- Gradle은 실행시켜야 하는 task만 실행시키고 다른 불필요한 동작은 하지 않는다.
- build cache를 사용함으로써 이전 실행의 task output을 재사용할 수 있다.
- 서로 다른 기계에서도 build cache를 공유하여 성능을 높일 수 있다.
task
- Gradle 프로젝트의 작업 단위이다.
- Groovy로 작성된다.
Groovy
- JVM에서 사용되는 스크립트 언어이다.
- Java와 문법이 유사하며, 호환성이 우수하다.
build cache
빌드 작업의 결과물을 캐싱하여 이후에 동일한 작업을 빠르게 수행할 수 있도록 하는 기능이다.
- Gradle은 JVM에서 작동된다.
- Java Standard API 빌드에 사용할 수 있다.
- 입력 혹은 출력이 변경되어 실행할 필요가 있는 작업들만 실행함으로 필요 없는 작업을 하지 않는다.
- Maven을 토대로 공통 타입을 만들었다.
- 플러그인을 적절히 사용하면 많은 프로젝트에서도 간단한 빌드 스크립트 사용이 가능하다.
- 오버라이딩, 사용자 정의 task추가가 가능하다.
- Convention을 기반으로 많은 커스터마이징이 가능하다.
Gradle을 확장하면 고유의 task 타입을 제공하거나 모델을 빌드할 수 있다.
- Android Studio, IntelliJ IDEA, Eclipse 등의 IDE에서 Gradle을 임포트하여 사용할 수 있다.
- 빌드를 모니터링할 수 있는 Build Scan을 지원한다.
- Gradle 빌드의 성능, 의존성, 작업 실행 및 다양한 기타 측면에 대한 상세한 분석 및 보고서를 생성하는 기능이다.
- 이를 다른사람과 함께 공유가 가능하다.
https://hstory0208.tistory.com/entry/Gradle이란-왜-사용하는지에-대해-알아-보자
https://limdevbasic.tistory.com/12
https://velog.io/@jakeseo_me/Gradle이란