사용자 도구

사이트 도구


gradle:init_scripts

차이

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

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
gradle:init_scripts [2012/10/08 16:25]
kwon37xi [기본 사용법]
gradle:init_scripts [2014/01/21 10:54]
kwon37xi [초기화 스크립트 실행]
줄 14: 줄 14:
  
 ===== 초기화 스크립트 실행 ===== ===== 초기화 스크립트 실행 =====
-  - ''-I'' 혹은 ''--init-script'' 뒤에 스크립트 경로를 줘서 실행. 명령행 인자를 여러번 사용하면 여러 초기화 스크립트가 등록된다.+  - ''-I'' 혹은 ''%%--%%init-script'' 뒤에 스크립트 경로를 줘서 실행. 명령행 인자를 여러번 사용하면 여러 초기화 스크립트가 등록된다.
   - ''$USER_HOME/.gradle/init.gradle''   - ''$USER_HOME/.gradle/init.gradle''
   - ''$USER_HOME/.gradle/init.d/*.gradle''   - ''$USER_HOME/.gradle/init.d/*.gradle''
줄 22: 줄 22:
  
 ===== 초기화 스크립트 작성하기 ===== ===== 초기화 스크립트 작성하기 =====
 +단순 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.txt · 마지막으로 수정됨: 2014/01/21 10:54 저자 kwon37xi