사용자 도구

사이트 도구


gradle:wrapper

Gradle Wrapper

명령행을 통한 Wrapper 기본 설정

Gradle 3.1 버전에 all 타입으로 wrapper 설정/Upgrade 생성.

gradle wrapper --gradle-version 3.1 --distribution-type all

distribution-type은 Gradle 3.x 부터 가능.

기본 설정

  • 더이상 불필요.
  • build.gradle
    task wrapper(type: Wrapper) {
        gradleVersion = '1.6' // 원하는 Gradle 버전 명시
    }
  • gradle wrapper를 한 번실행해 주면 gradle/wrapper 디렉토리가 생성되고 래퍼 jar 들이 복사된다.
  • 이 상태 그대로를 VCS에 올려서 공유하면 다른 개발자들은 gradlew 혹은 gradlew.bat 명령으로 Gradle 작업을 수행하면 된다.
  • *Nix 계열에서는 gradlew 파일에 실행 권한이 없으므로 항상 sh gradlew 옵션들 형태로 실행해야 한다.

세부 설정

  • gradlew[.bat] 파일에서 DEFAULT_JVM_OPTS를 편집하여 기본 JVM 옵션을 설정할 수 있다.
  • gradle/wrapper/gradle-wrapper.properties 파일에서 distributionUrl 을 프라퍼티 파일이 있는 디렉토리에 대해 상대 경로로 지정하면 URL에서 다운로드 받지 않고 저장된 파일을 사용할 수 있다.

gradlew 자동 찾아 실행하는 스크립트

  • Linux에서 현재 디렉토리를 포함하여 자기 위의 디렉토리를 자동으로 탐색하여 gradlew 명령을 찾고 이를 실행해주는 스크립트.
  • 파일명 : gw
    #!/bin/bash
    current_dir=`pwd`
    while [ "$current_dir" != "/" ]
    do
        if [ -f "$current_dir/gradlew" ]
        then
            break;
        fi
        current_dir=`dirname "$current_dir"`
    done
     
    if [ "$current_dir" != "/" ]
    then
        bash "$current_dir/gradlew" "$@"
    else
        echo "No gradlew file exists."
    fi
  • 실행예
    # 현재 디렉토리가 ~/project/module_1 이고, gradlew 는 project에 있을 때
    gw dependencies
     
    # 위 명령은 자동으로 project/gradlew dependencies를 현재 디렉토리에서 실행한다.
    # 따라서 실제 실행 결과는 다음과 같다.
    ~/project/gradlew :module_1:dependencies
gradle/wrapper.txt · 마지막으로 수정됨: 2018/03/23 17:39 저자 kwon37xi