====== Gradle 빌드 환경 설정 ====== * [[http://www.gradle.org/docs/current/userguide/build_environment.html|Gradle Build Environment]] 참조 * ''gradle.properties'' 로 기본 빌드 환경을 설정할 수 있다. * ''$HOME/.gradle/gradle.properties'' * ''프로젝트홈/gradle.properties'' * 명령행에서 시스템 프라퍼티로 명시 : ''-Dsome.property'' ===== buildEnvironment ===== * ''buildEnvironment'' Task로 build 의존성을 확인할 수 있다. (Gradle 2.10 or later) gradlew buildEnvironment ===== 프라퍼티들 ===== * ''org.gradle.daemon=true/false'' : Gradle 대몬으로 실행할지 여부 * ''org.gradle.java.home'' * ''org.gradle.jvmargs'' ===== 시스템 프라퍼티 ===== * 빌드 스크립트에서 ''System.setProperty('키','값')'' * 혹은 gradle.properties에서 systemProp.프라퍼티이름=프라퍼티값 * 현재 ''gradle.properties''에 지정된 시스템 프라퍼티는 ''-D'' 옵션으로 덮어쓰기가 안되는 문제가 있다. [[http://issues.gradle.org/browse/GRADLE-2122|[GRADLE-2122] Can props from gradle.properties be overwritten with -D parameter ? - Gradle Issues]] ===== 분리된 build.gradle 에서 상호간 함수 지정 ===== * ''parent.gradle'' 에서 ''child.gradle'' 을 apply 할때, ''child.gradle''에서 함수를 등록해서 ''parent.gradle''에서 사용하는 경우 * ''parent.gradle'' apply from: 'child.gradle' childFunction("args...") * ''child.gradle'' def childFunction(arg1, arg2) { // do somethings.. } ext { // 함수 등록 childFunction = this.&childFunction } ------------ // 혹은 ext 에 직접 등록 ext.childFunction = { args -> // do somethings } * [[https://stackoverflow.com/questions/27777591/how-to-define-and-call-custom-methods-in-build-gradle|groovy - How to define and call custom methods in build.gradle - Stack Overflow]] ===== Http Proxy ===== * ''gradle.properties''에 다음 추가. Proxy 서버는 알아서 변경. * ''user'' 이하 생략 가능. systemProp.http.proxyHost=www.somehost.org systemProp.http.proxyPort=8080 systemProp.http.proxyUser=userid systemProp.http.proxyPassword=password systemProp.http.nonProxyHosts=*.nonproxyrepos.com|localhost systemProp.https.proxyHost=www.somehost.org systemProp.https.proxyPort=8080 systemProp.https.proxyUser=userid systemProp.https.proxyPassword=password systemProp.https.nonProxyHosts=*.nonproxyrepos.com|localhost