SpringBoot/Gradle

[Gradle] Gradle Build System 분석

i009727 2021. 9. 28. 08:54

Gradle이란..

  • Groovy를 기반으로 한 오픈소스 빌드 자동화 툴
    • 빌드 도구: 소스 코드로부터 애플리케이션(SW)을 자동으로 생성하는 도구
      • 컴파일, 테스팅, 배포(deploy) 등 모든 과정을 포함한다.
  • Groovy
    • JVM(Java Virtual Machine)에서 실행되는 스크립트 언어로 문법이 Java와 비슷함

Gradle build system

├─ gradle

│       └─ wrapper

│        ├─ gradle-wrapper.jar

│        └─ gradle-wrapper.properties

├─ gradlew

├─ gradlew.bat

├─ build.gradle

└─ settings.gradle

  • gradle-wrapper.jar
    • gradlew나 gradlew.bat파일이 해당 파일을 이용하여 gradle task를 수행한다.
    • 로컬환경의 영향을 받지 않는다.
  • gradle-wrapper.properties
    • gradle-wrapper.jar의 설정 파일로 wrapper의 버전을 설정
    • 해당 파일의 wrapper의 버전을 변경하면, gradle task 실행 시 자동으로 새로운 버전의 wrapper 파일을 로컬 캐시에 다운로드 받는다.
  • gradlew
    • 유닉스용 wrapper 실행 스크립트
    Shell script(쉘 스크립트)
  • gradlew.bat
    • 윈도우용 wrapper 실행 스크립트
    윈도우 배치 파일
  • build.gradle
    • 프로젝트 내 라이브러리의 의존성이나 빌드 정보 및 플러그인 설정을 위한 스크립트 파일
    build.gradle
  • settings.gradle
    • 프로젝트의 구성 정보를 기록하는 파일