
1. Gradle이란?
- Groovy 기반의 빌드 도구
- 빌드 자동화 시스템 - 작성한 Java 코드를 설정에 맞게 자동으로 빌드
- Maven vs Gradle
- gradle은 캐시를 사용하므로 테스트 반복 시 실행 결과 시간의 차이가 큼
- 스크립트 길이, 가독성 gradle > maven
- 빌드, 테스트 실행 결과 gradle이 빠름

Build
- 소스 코드를 실행 가능한 결과물로 만드는 과정
- Gradle을 사용하면 간편하게 Java 소스 코드를 실행 가능한 jar 파일로 만들어줌
2. build.gradle
- Gradle 기반의 빌드 스크립트
- 소스코드를 빌드하고 라이브러리들의 의존성을 쉽게 관리할 수 있음
- groovy / kotlin
- 개발시 필요한 외부 라이브러리들을 Gradle이 자동으로 다운로드
- 다른 라이브러리들과의 의존성을 자동으로 관리 → 충돌 걱정 없이 개발에만 집중 가능
// 자바를 컴파일하기 위해 java plugin을 설정한다.
apply plugin: 'java'
// application으로 컴파일하기 위해 설정한다.
apply plugin: 'application'
// 저장소를 입력하는 섹션이다. 주로 Maven의 저장소를 그대로 사용한다.
repositories {
mavenCentral()
}
// 종속성을 입력하는 섹션이다. 기존에는 compile이 있었으나 3.0버전부터 deprecated되었다.
dependencies {
// 'group:name:version'순으로 적는다. group: 'junit', name: 'junit', version: '4.13.2'식으로도 가능하다.
api 'com.google.guava:guava:32.1.2-jre' // 간접 의존, 직접 의존하는 모든 모듈을 rebuild한다
implementation 'junit:junit:4.13.2' // 직접 의존하는 모듈만 rebuild한다.
}
application {
// 메인 class의 위치와 이름을 적는다.
mainClass = 'package.name.AppClass'
}