사용자 도구

사이트 도구


gradle:wrapper

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

다음 판
이전 판
gradle:wrapper [2012/10/06 16:40]
kwon37xi 새로 만듦
gradle:wrapper [2022/07/07 15:29] (현재)
kwon37xi [gradlew 자동 찾아 실행하는 스크립트]
줄 1: 줄 1:
 ====== Gradle Wrapper ====== ====== Gradle Wrapper ======
-TBD 
- 
   * http://www.gradle.org/docs/current/userguide/gradle_wrapper.html   * http://www.gradle.org/docs/current/userguide/gradle_wrapper.html
 +  * Gradle을 각 개발자나 CI 서버에 깔지 않고, 프로젝트에 함께 포함시켜 배포할 수 있는 방법을 제공해준다.
 +
 +===== 명령행을 통한 Wrapper 기본 설정 =====
 +Gradle 3.1 버전에 all 타입으로 wrapper 설정/Upgrade 생성.
 +<code sh>
 +gradle wrapper --gradle-version 3.1 --distribution-type all
 +</code>
 +''distribution-type''은 Gradle 3.x 부터 가능.
 +
 +===== 기본 설정 =====
 +  * 더이상 불필요.
 +  * ''build.gradle'' <code groovy>
 +task wrapper(type: Wrapper) {
 +    gradleVersion = '1.6' // 원하는 Gradle 버전 명시
 +}
 +</code>
 +  * ''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'' <code sh>
 +#!/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
 +</code>
 +  * 실행예<code sh>
 +# 현재 디렉토리가 ~/project/module_1 이고, gradlew 는 project에 있을 때
 +gw dependencies
  
 +# 위 명령은 자동으로 project/gradlew dependencies를 현재 디렉토리에서 실행한다.
 +# 따라서 실제 실행 결과는 다음과 같다.
 +~/project/gradlew :module_1:dependencies
 +</code>
 +  * [[gradle:shell_completion|Gradle Shell Completion]]
 +  * https://unix.stackexchange.com/questions/293393/find-a-specific-file-in-the-nearest-ancestor-of-the-current-working-directory
 +  * 유사 프로젝트
 +    * https://github.com/gdubw/gdub
 +    * https://github.com/srs/gw
 +    * https://crates.io/crates/gw
gradle/wrapper.1349509223.txt.gz · 마지막으로 수정됨: 2012/10/06 16:40 저자 kwon37xi