index
gradle project basic structure
일반적인 그레이들 프로젝트의 디렉토리 구조는 아래와 같다 (gradle init 명령 사용 X)
project directory (root project)
├─ .gradle
├─ build
├─ gradle
│ └─ wrapper
│ ├─ gradle-wrapper.jar
│ └─ gradle-wrapper.properties
├─ src
│ ├─ main
│ │ ├─ java
│ │ └─ resources
│ └─ test
│ ├─ java
│ └─ resources
├─ build.gradle.kts
├─ settings.gradle.kts
├─ gradlew
└─ gradlew.bat
.gradle
gradle 빌드 캐시 및 설정 파일을 저장하는 디렉토리
./gradlew clean
명령으로 제거되지 않는다
build
./gradlew build
명령을 통해 나온 빌드 산출물들이 저장되는 디렉토리
컴파일된 클래스 파일(classes), jar 파일(libs), 테스트 결과(test-results), 리포트(reports), 리소스(resources) 등이 포함된다
./gradlew clean
시 자동으로 삭제된다
gradle
그레이들을 실행하기 위한 관련 파일들을 저장하는 디렉토리
wrapper: 그레이들 래퍼와 관련된 파일을 저장하는 디렉토리
gradle-wrapper.jar: 로컬에 그레이들을 설치하지 않아도 그레이들을 통해 프로젝트 빌드를 할 수 있게 도와주는 그레이들 래퍼 실행 파일
gradle-wrapper.properties: 그레이들 래퍼 설정 파일 - 그레이들 버전, 배포 url 등을 정의한다
그레이들 래퍼를 이용하여 ci/cd 파이프라인에서 그레이들을 자동 설치하여 빌드 자동화를 진행할 수 있다
src
소스 코드 및 리소스 파일을 저장하는 디렉토리
src/main/java: 애플리케이션의 메인 소스 코드들이 저장되는 디렉토리
src/main/resources: 애플리케이션의 리소스 파일들이 저장되는 디렉토리
src/test/java: 테스트 코드들이 저장되는 디렉토리
src/test/resources: 테스트 시 필요한 리소스 파일들이 저장되는 디렉토리
build.gradle.kts
프로젝트 빌드 설정 파일 (kotlin dsl)
프로젝트의 의존성, 플러그인, 태스크 등을 정의한다
groovy dsl 사용 시 build.gradle로 작성할 수 있다
settings.gradle.kts
최상위 프로젝트 설정 파일 (kotlin dsl)
프로젝트 이름, 모듈(서브 프로젝트) 포함 설정, 빌드 스크립트 설정 등을 정의한다
빌드 스크립트와 마찬가지로 groovy dsl 사용 시 settings.gradle로 작성할 수 있다
gradlew
unix 기반 시스템에서 사용하는 그레이들 래퍼 실행 스크립트
로컬에 그레이들을 설치하지 않아도 빌드를 실행할 수 있다 (./gradlew build
)
gradlew.bat
windows 시스템에서 사용하는 그레이들 그레이들 래퍼 실행 스크립트
gradlew의 윈도우 버전이다 ./gradlew.bat build