Java

Gradle Wrapper

이전 포스팅에서는 Gradle에 대해서 알아보았다. Gradle 포스팅 바로가기

 

이번에는 Gradle에서 적극적으로 사용하는 것을 권장하는 Gradle Wrapper에 대해 알아 보았다.

 

Gradle Wrapper

Gradle Wrapper의 기능

  • 이미 존재하는 프로젝트를 새로운 환경에 설치할때 별도의 설치나 설치과정 없이 곧 바로 빌드 할 수 있게 해준다.
  • Gradle Wrapper를 적극적으로 사용할 것을 권장한다.
    • Java나 Gradle를 설치할 필요가 없다.
    • 로컬에 설치된 Gradle 또는 Java의 버전도 신경 쓸 필요가 없다.

공식문서에서는 Wrapper를 선언 된 버전의 Gradle을 호출하여 필요한 경우 다운로드하는 스크립트라고 정의한다.

즉, Wrapper의 작동은 필요한 파일을 Temp 파일 형식으로 Gradle의 바이너리 파일을 다운 받는 형식이다.

사용자 폴더에 .gradle라는 폴더가 생성되고 안에 필요한 파일들이 다운로드 되어있을 것이다.
(다운로드 위치는 환경마다 다를 수 있다.)

 

프로젝트에 Wrapper 적용

프로젝트를 생성하고 Console 창에서 빈 폴더로 이동한다음 gradle init을 입력하면 Wrapper가 적용된다.

project/
    gradlew
    gradlew.bat
    gradle/wrapper/
        gradle-wrapper.jar
        gradle-wrapper.properties
    build.gradle
    settings.gradle

gradlew 파일

  • 유닉스용 실행 스크립트
  • Gradle로 컴파일이나 빌드 등을 할 때, 아래 명령어를 통해 로컬에 설치된 gradle 사용한다.
    gradle build

    이 경우 Java나 Gradle이 설치되어 있어야 하고, 새로 받은 프로젝트의 Gradle 버전과 로컬에 설치된 Gradle 버전이 호환되지 않으면 문제가 발생할 수 있다.
  • 따라서 Wrapper를 사용하면 아래와 같이 명령어 실행
    ./gradlew build​

gradle.bat 파일

  • 윈도우용 Wrapper 실행 배치 스크립트
  • 윈도우에서 실행 가능하다는 점만 제외하면 gradlew와 동일하다.

gradle/wrapper/gradle-wrapper.jar 파일

  • Wrapper 파일
  • gradlew나 gradlew.bat 파일이 프로젝트 내에 설치하는 이 파일을 사용하여 gradle task를 실행 하기 때문에 로컬 환경의 영향을 받지 않는다.
    • 실제로는 Wrapper 버전에 맞는 구성들을 로컬 캐시에 다운로드 받는다.

gradle/wrapper/gradle-wrapper.properties 파일

  • Gradle Wrapper 설정파일
  • 이 파일의 Wrapper 버전 등을 변경하면 task 실행 시, 자동으로 새로운 Wrapper 파일을 로컬 캐시에 다운로드 받는다.
  • 안에 설정 내용을 알고싶다면 Wrapper 문서

build.gradle 파일

  • 빌드에 필요한 의존성이나 플러그인 설정 등을 위한 스크립트 파일

setting.gradle 파일

  • 프로젝트의 구성 정보를 기록하는 파일
  • 어떤 하위 프로젝트들이 어떤 관계로 구성되어 있는 지를 기술한다.
  • Gradle은 이 파일에 기술된대로 프로젝트를 구성한다.

 

Reference

Gradle 빌드시스템 기초

초보자를 위한 Gradle 안내서 1편: Build툴?, Gradle은 무엇인가? * sango.h

'Java' 카테고리의 다른 글

Lombok  (0) 2022.01.05
Gradle  (0) 2021.06.07
JAR & WAR  (0) 2021.06.02
String Method  (0) 2021.01.13
Enum  (0) 2020.12.18