사용자 도구

사이트 도구


gradle:init_scripts

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gradle:init_scripts [2012/10/08 16:18]
kwon37xi
gradle:init_scripts [2014/01/21 10:54] (현재)
kwon37xi [초기화 스크립트 실행]
줄 1: 줄 1:
-====== Gradle Initialization Scripts ======+====== Gradle Initialization Scripts - 초기화 스크립트 ======
   * [[http://www.gradle.org/docs/current/userguide/init_scripts.html|Initialization Scripts]]   * [[http://www.gradle.org/docs/current/userguide/init_scripts.html|Initialization Scripts]]
  
 ===== 기본 사용법 ===== ===== 기본 사용법 =====
 +초기화 스크립트는 Gradle의 다른 스크립트와 유사하다. 하지만 빌드가 시작되기 전에 실행된다.
 +
 +  * 시스템 전역 설정. 예를들면 커스텀 플러그인 찾을 위치 지정.
 +  * 현재 환경에 따른 프라퍼티 설정. 개발 장비, 지속적 통합 장비 등에 따른 프라퍼티 값 바꿔지기 같은 경우.
 +  * 빌드에 필요한 개발자의 개인적 설정 정보.
 +  * 장비 전용 설정. JDK 위치 등.
 +  * 빌드 리스너(build listener)를 등록하여 Gradle 빌드 이벤트를 받는다.
 +  * 빌드 로거를 등록한다.
 +  * ''buildSrc'' 프로젝트의 클래스에는 접근할 수 없다.
 +
 +===== 초기화 스크립트 실행 =====
 +  - ''-I'' 혹은 ''%%--%%init-script'' 뒤에 스크립트 경로를 줘서 실행. 명령행 인자를 여러번 사용하면 여러 초기화 스크립트가 등록된다.
 +  - ''$USER_HOME/.gradle/init.gradle''
 +  - ''$USER_HOME/.gradle/init.d/*.gradle''
 +  - ''$GRADLE_HOME/init.d/*.gradle''
 +
 +여러개의 초기화 스크립트가 발견되면 그 모두를 위에 나온 순서대로 다 실행한다. 동일 디렉토리의 스크립트는 알파벳 순서로 실행된다.
 +
 +===== 초기화 스크립트 작성하기 =====
 +단순 groovy 스크립트이다. 모든 초기화 스크립트는 [[http://www.gradle.org/docs/current/dsl/org.gradle.api.invocation.Gradle.html|Gradle]] 인스턴스를 받는다. 모든 프라퍼티 참조와 메소드 호출은 Gradle 인스턴스로 위임된다.
 +
 +==== 프로젝트 구성하기 ====
 +초기화 스크립트에서 프로젝트 구성을 할 수도 있다. 이는 멀티 프로젝트 빌드에서 구성하는 것과 유사하다. 이는 프로젝트 자체가 평가되기 전에 실행된다.
 +
 +  * 프로젝트 평가전에 먼저 구성 수행하기 ''build.gradle'' <code groovy>
 +repositories {
 +    mavenCentral()
 +}
 +
 +task showRepos << {
 +    println "All repos:"
 +    println repositories.collect { it.name }
 +}
 +</code>
 +  * ''init.gradle'' <code groovy>
 +allprojects {
 +    repositories {
 +        mavenLocal()
 +    }
 +}
 +</code>
 +  * 실행하면 <code>
 +> gradle --init-script init.gradle -q showRepos
 +All repos:
 +[MavenLocal, MavenRepo]
 +</code>
 +
 +===== 초기화 스크립트의 외부 의존성 =====
 +''initscript()'' 메소드로 초기화 스크립트 전용 외부 의존성을 지정할 수 있다.
 +
 +  * 외부 의존성을 선언하는 ''init.gradle'' <code groovy>
 +initscript {
 +    repositories {
 +        mavenCentral()
 +    }
 +    dependencies {
 +        classpath group: 'org.apache.commons', name: 'commons-math', version: '2.0'
 +    }
 +}
 +</code>
 +
 +''initscript()'' 메소드의 인자로 넘어온 클로저는 [[http://www.gradle.org/docs/current/javadoc/org/gradle/api/initialization/dsl/ScriptHandler.html|ScriptHandler]] 인스턴스를 구성한다. ''classpath'' 구성에 의존성을 추가하면 된다. [[gradle:dependencies|Gradle Dependencies]] 참조.
  
  
gradle/init_scripts.1349680687.txt.gz · 마지막으로 수정됨: 2012/10/08 16:18 저자 kwon37xi