그레이들 래퍼를 이용하면 프로젝트 구성원들이 일일이 그레이들을 설치는 번거로움을 피할 수 있다(한명만 고생하면 된다). 다음과 같이 실행하면 로컬에 설치되어 있는 그레이들 버전을 기준으로 그레이들 래퍼가 설치된다.

$ gradle wrapper
$ cat gradle/wrapper/gradle-wrapper.properties
#Fri Mar 24 21:30:00 KST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-2.14-bin.zip

하지만 그레이들 래퍼의 버전은 간단한 인자변경을 통해 손쉽게 할 수가 있다. 다음 명령어를 이용한다.

$ gradle wrapper --gradle-version={version}

3.4.1 버전을 설정한다고 치면!

$ gradle wrapper --gradle-version=3.4.1
:wrapper

BUILD SUCCESSFUL

Total time: 0.724 secs
$ cat gradle/wrapper/gradle-wrapper.properties
#Fri Mar 24 21:28:35 KST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-3.4.1-bin.zip

다음과 같은 형태로 설치되고, 이후에 그레이들 빌드를 진행하면 자연스럽게 래퍼를 변경한다.


그레들Gradle에는 래퍼Wrapper라고 하는 운영체제에 맞춰서 그레들 빌드를 수행하도록 하는 배치 스크립트가 있다.
이 배치스크립트는 프로젝트 내에 숨김속성을 가지고 있는 gradle-wrapper.jar 를 이용해서

project
├── build.gradle
├── gradle
│   └── wrapper
│       ├── gradle-wrapper.jar
│       └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle

운영체제에 적절한 배치 스크립트를 실행하도록 한다.

  • 윈도우: gradlew.bat
    > gradlew.bat [task]
    
  • 리눅스 및 OSX: gradlew
    $ ./gradlew [task]
    

프로젝트의 성격에 맞춰 사용할 래퍼의 버전을 변경할 수 있도록 별도의 태스크Task를 작성실행할 수 있다.
프로젝트에 위치한 build.gradle 파일의 마지막 부분에 다음과 같이 wrapper 태스크를 추가한 후,

ext {
    gradleVersion= '2.1' //자신이 원하는 Gradle 버전에 맞춰 변경
}

//...중략

task wrapper(type: Wrapper) {
    gradleVersion = "$gradleVersion"
}

wrapper 태스크를 실행하면 된다.

$ gradle wrapper

● 참고


+ Recent posts